IPropertySheetProvider::CreatePropertySheet 方法 (mmc.h)

IPropertySheetProvider::CreatePropertySheet 方法创建属性表框架。

语法

HRESULT CreatePropertySheet(
  [in] LPCWSTR      title,
  [in] boolean      type,
  [in] MMC_COOKIE   cookie,
  [in] LPDATAOBJECT pIDataObjectm,
  [in] DWORD        dwOptions
);

parameters

[in] title

指向以 null 结尾的字符串的指针,该字符串包含属性页的标题。 此参数不能为 NULL

[in] type

TRUE 创建属性表, FALSE 创建向导。

[in] cookie

当前所选项的 Cookie 值。 当扩展管理单元调用 CreatePropertySheet 时,这可以是 NULL

[in] pIDataObjectm

指向 Cookie 的数据对象上的 IDataObject 接口的指针。 如果此参数的值为 NULL,MMC 将不会调用扩展管理单元实现的任何 IExtendPropertySheet2 方法。

[in] dwOptions

一个 值,该值指定可由方法调用设置的标志。 参数可以是以下值的组合:

MMC_PSO_NOAPPLYNOW

“删除立即应用”按钮。

MMC_PSO_HASHELP

添加 “帮助 ”按钮。

MMC_PSO_NO_PROPTITLE

对于向导忽略。 对于属性表,如果指定了此选项,则不会在属性表标题栏的开头插入“属性”一词。

MMC_PSO_NEWWIZARDTYPE

使用向导 97 样式。

例如,若要创建具有 “帮助 ”按钮且没有“立即应用”按钮的属性表,dwOptions 参数应为 MMC_PSO_NOAPPLYNOW | MMC_PSO_HASHELP

返回值

此方法可以返回其中一个值。

注解

此方法创建一个 对象,该对象收集创建属性表所需的所有信息。 如果 CreatePropertySheet 调用成功,但发生后续错误,则必须调用 IPropertySheetProvider::Show ( –1, 0) 释放对象。 在这种情况下,可以忽略返回代码。

在管理单元在调用 IPropertySheetProvider::CreatePropertySheet 中创建属性表,然后根据需要调用 IPropertySheetProvider::AddPrimaryPagesIPropertySheetProvider::AddExtensionPages, 然后决定不显示属性表,它应调用 IPropertySheetProvider::Show ( –1, 0) 删除属性表并释放其资源。 在这种情况下,管理单元必须删除它创建的属性页句柄。 这可以在管理单元调用 IPropertySheetProvider::Show ( –1, 0) 之前或之后完成,因为 MMC 不使用属性页句柄。

对于面向 MMC 1.1 的管理单元,管理单元必须在 IPropertySheetProvider::CreatePropertySheet 调用中对它传递给 MMC 的 IDataObject 接口保留额外的引用。 此引用必须从 IPropertySheetProvider::CreatePropertySheet 调用之前保留,直到属性表可能通过调用 IPropertySheetProvider::Show ( –1, 0) 关闭。

要求

   
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 mmc.h
DLL Mmcndmgr.dll

另请参阅

IDataObject

IPropertySheetProvider

IPropertySheetProvider::Show