PFNPROPSHEETUI 回调函数 (compstui.h)
PFNPROPSHEETUI 函数类型由 CPSUI 应用程序使用, (包括打印机接口 DLL) ,用于定义 页面创建回调,后者指定要创建的属性表页。
语法
PFNPROPSHEETUI Pfnpropsheetui;
LONG Pfnpropsheetui(
PPROPSHEETUI_INFO pPSUIInfo,
LPARAM lParam
)
{...}
参数
pPSUIInfo
CPSUI 提供的指向 PROPSHEETUI_INFO 结构的指针。
lParam
CPSUI 提供的整数值,该值依赖于PROPSHEETUI_INFO结构的 Reason 成员的内容。 以下是有效值:
PROPSHEETUI_REASON_BEFORE_INIT
此值是新Windows 8,仅提供给传递给 CommonPropertySheetUI 的原始 PFNPROPSHEETUI 参数。
PROPSHEETUI_REASON_DESTROY
如果用户选择了属性表的“确定”或“取消”按钮,则 lParam 值为非零值。 否则,该值为零。
PROPSHEETUI_REASON_GET_ICON
lParam 值是指向PROPSHEETUI_GETICON_INFO结构的指针。
PROPSHEETUI_REASON_GET_INFO_HEADER
lParam 值是指向PROPSHEETUI_INFO_HEADER结构的指针。
PROPSHEETUI_REASON_INIT
如果回调函数由 pfnPropSheetUI 参数指定为 CommonPropertySheetUI,则 lParam 是传递给 CommonPropertySheetUI 的 lParam 值。
如果使用CPSFUNC_ADD_PFNPROPSHEETUI函数代码和 CPSUI 的 ComPropSheet 函数指定回调函数,则 lParam 是传递给 ComPropSheet 的 lParam2 值。
CPSUI 将 lParam 值复制到函数PROPSHEETUI_INFO结构的 lParamInit 成员中。
lParam 值不得驻留在应用程序的堆栈上。
PROPSHEETUI_REASON_SET_RESULT
lParam 值是指向SETRESULT_INFO结构的指针。
返回值
如果操作成功,函数应返回一个值 (或更大的) 。 否则,它应返回小于 1 的值。
返回代码 | 说明 |
---|---|
一个或更大。 | 将调用与当前页的父级关联的 PFNPROPSHEETUI 函数。 |
小于 1。 | 不会调用与当前页的父级关联的 PFNPROPSHEETUI 函数。 |
注解
使用 PFNPROPSHEETUI 函数类型指定的回调函数由使用 CPSUI 管理自定义属性表页的应用程序提供。 应用程序调用 CommonPropertySheetUI 函数时,必须指定一个此类回调函数。 例如,当基于 NT 的操作系统打印后台处理程序调用 CPSUI 的 CommonPropertySheetUI 函数来支持其 DocumentProperties 或 PrinterProperties 函数时,后台处理程序指定内部 PFNPROPSHEETUI 类型的回调函数。
应用程序可以通过使用函数代码CPSFUNC_ADD_PFNPROPSHEETUI调用 CPSUI 的 ComPropSheet 函数来指定其他 PFNPROPSHEETUI 类型的回调函数。 例如,基于 NT 的操作系统打印后台处理程序执行此操作是为了通知 CPSUI 打印机接口 DLL 的 DrvDocumentPropertySheets 和 DrvDevicePropertySheets 函数的存在。 同样,Microsoft 的 Unidrv 和 Pscript 驱动程序使用此技术通知 CPSUI 用户界面插件中是否存在 IPrintOemUI::D ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 方法。
CPSUI 多次调用每个 PFNPROPSHEETUI 类型的回调函数。 PROPSHEETUI_INFO 结构的 Reason 成员规定函数应执行的操作,如下所示:
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | compstui.h (包括 Compstui.h) |