IPrintCoreHelperUni::WhyConstrained 方法(prcomoem.h)
IPrintCoreHelperUni::WhyConstrained
方法提供一系列选项,这些选项约束当前配置中的指定功能选项对。
语法
HRESULT WhyConstrained(
[in, optional] const DEVMODE *pDevmode,
[in] DWORD cbSize,
[in] PCSTR pszFeatureKeyword,
[in] PCSTR pszOptionKeyword,
[out] const PRINT_FEATURE_OPTION **ppFOConstraints,
[out] DWORD *pdwNumOptions
);
参数
[in, optional] pDevmode
指向 DEVMODEW 结构的指针。 如果提供了此指针,IPrintCoreHelperUni::WhyConstrained
应使用由 pDevmode 而不是默认或当前 DEVMODEW 结构指向的 DEVMODEW 结构。 如果从插件提供程序或从 IPrintOemUni::D evMode调用此方法,则需要此参数。 在大多数其他情况下,参数应 NULL。 当核心驱动程序 pDevmode 设置为 NULL时,它会修改其内部状态,而不是传入 DEVMODEW 结构的内部状态。 在完全 UI 替换等作期间,需要执行此作,其中 DDI 返回的 DEVMODEW 结构(如 DrvDocumentPropertySheets)由核心驱动程序的 UI 模块提供服务。
[in] cbSize
pDevmode 参数指向的 DEVMODEW 结构的大小(以字节为单位)。
[in] pszFeatureKeyword
指向包含特征名称的 ANSI 字符串的指针。 功能名称应对应于 GPD 文件中使用的关键字。
[in] pszOptionKeyword
指向包含选项名称的 ANSI 字符串的指针。 选项名称应对应于 GPD 文件中使用的关键字。
[out] ppFOConstraints
指向 PRINT_FEATURE_OPTION 元素数组的指针。 当 IPrintCoreHelperUni::WhyConstrained
返回时,该数组包含一系列功能元素对,这些选项约束 pszOptionKeyword 参数中指定的选项。
[out] pdwNumOptions
指向一个变量的指针,该变量接收 ppFOConstraints 参数指向的数组中的功能选项对数。
返回值
IPrintCoreHelperUni::WhyConstrained
应返回以下值之一。
返回代码 | 描述 |
---|---|
|
作成功。 |
|
一个或多个参数无效,或者不支持该功能。 |
|
无法分配结果数组的内存。 |
对于其他故障,该方法应返回标准 COM 错误代码。
言论
如果指定的功能选项对不受约束,IPrintCoreHelperUni::WhyConstrained
将返回S_OK,但将返回 *pdwFOPairs 设置为 0,并且 *ppFOConstraints[0] 设置为 NULL。
请注意,此方法的结果可能不包含影响当前所选选项的所有选项。 但是,如果列出两个以上的功能选项对的组合无效,则列表中只有一个选项包含在该组合中。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (include Prcomoem.h) |