IPrintCoreUI2::EnumConstrainedOptions 方法 (prcomoem.h)
方法 IPrintCoreUI2::EnumConstrainedOptions
确定特征的哪些选项受约束。
语法
HRESULT EnumConstrainedOptions(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszFeatureKeyword,
[out] PZZSTR pmszConstrainedOptionList,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
参数
[in] poemuiobj
指向当前上下文的指针, OEMUIOBJ 结构。
[in] dwFlags
为保留,并且必须设置为零。
[in] pszFeatureKeyword
指向调用方提供的缓冲区的指针,该缓冲区包含调用方感兴趣的单个功能关键字 (keyword) 。
[out] pmszConstrainedOptionList
指向调用方提供的缓冲区的指针,该缓冲区接收此功能MULTI_SZ格式的选项关键字列表。 每个关键字 (keyword) 表示在当前配置中受约束的选项。
将此参数设置为 NULL ,只需查询受约束选项列表的大小 (*) ,而无需填充列表。
[in] cbSize
指定 pmszConstrainedOptionList 指向的缓冲区的大小(以字节为单位)。
[out] pcbNeeded
指向接收受约束选项列表的实际大小(以字节为单位)的内存位置的指针。
返回值
此方法必须返回以下值之一。
返回代码 | 说明 |
---|---|
|
方法成功。 如果功能的选项均不受约束,则方法还应返回此值。 在这种情况下,方法应将一个 null 字符放入 pmszConstrainedOptionList 指向的缓冲区中,并应将 “印刷板” 设置为 1。 |
|
cbSize 中的值小于要写入输出缓冲区 (pmszConstrainedOptionList) 指向的缓冲区的字节数。
调用 方法时 ,pmszConstrainedOptionList 设置为 NULL。 |
|
pszFeatureKeyword 指向的字符串不是可识别的特征。
poemuiobj 参数指向无效的上下文对象。 特征的粘性与 peomuiobj 指向的上下文对象的粘性不匹配。 (请参阅 替换 Driver-Supplied 属性表 Pages.) |
|
方法失败。 |
|
不支持该方法。 |
注解
此方法仅支持完全取代核心驱动程序的标准 UI 页面的 Windows XP Pscript5 UI 插件,并且仅在 UI 插件的 IPrintOemUI::D ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 函数及其属性表回调例程期间受支持。 有关详细信息 ,请参阅替换 Driver-Supplied 属性表页 。
若要减少对每个数据访问进行两次调用的需求,请将固定大小的输出缓冲区 (1 KB(例如) ),然后检查函数返回值。 如果方法返回S_OK,则缓冲区已包含相关数据。 如果方法返回E_OUTOFMEMORY,则 *E_OUTOFMEMORY 中的值是保存所需数据的缓冲区大小。 然后,调用方应分配一个更大的缓冲区,并继续对 方法进行第二次调用。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |
另请参阅
IPrintOemUI::D evicePropertySheets