MMCPropPageCallback 函数 (mmc.h)

仅 Microsoft 基础类 (基于 MFC) 的管理单元需要 MMCPropPageCallback 函数。函数在页面创建期间设置正确的模块状态。

语法

HRESULT MMCPropPageCallback(
  void *vpsp
);

parameters

vpsp

指向 Microsoft Windows PROPSHEETPAGE 结构的 指针。 请注意,默认情况下,MFC 在结构的 pfnCallback 成员中安装自己的回调。

返回值

此回调函数可以返回其中一个值。

注解

静态链接 MFC 库的管理单元不应调用此函数。 此类管理单元对此函数的调用将无法正确链接。

对于派生自 CPropertyPage 的每个页面,请使用指向页面回调的指针调用 MMCPropPageCallback ,并遵循以下准则:

  • 特定属性表的所有页面都必须使用相同的回调指针。
  • 如果将 MFC 的回调替换为自己的回调,则回调必须调用 MFC 的回调。
  • 必须使用每个 CPropertyPage 派生类调用此函数。
MFC 必须从导出的函数或 COM 接口设置正确的模块状态。 这包括从操作系统到模块的调用。 对于导出的函数或 COM 接口,这是通过在动态链接到 MFC 的管理单元 DLL 中所有导出函数的开头添加AFX_MANAGE_STATE宏来完成的。 为此,请将以下代码行添加到从管理单元导出的函数的开头:
AFX_MANAGE_STATE(AfxGetStaticModuleState( ))

对于操作系统调用,MFC 会自动执行此操作。 由于 MMC 的属性表不是 MFC CPropertySheet,因此由于回调而导致的操作系统调用处于错误的模块状态。 因此,需要确保在页面创建过程中正确设置模块状态。 这是 MMCPropPageCallback 的用途。 设置模块状态后,唯一需要进行的AFX_MANAGE_STATE调用是由管理单元 (实现的 COM 接口公开的调用,例如 IExtendPropertySheet2::CreatePropertyPages) 。 若要确定应用程序是否具有正确的模块状态,请查看 CWinApp 并记下应用程序名称。

要求

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

另请参阅

PROPSHEETPAGE