IPrintCoreUI2::SetOptions 方法 (prcomoem.h)
方法 IPrintCoreUI2::SetOptions
设置驱动程序的功能设置。
语法
HRESULT SetOptions(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCZZSTR pmszFeatureOptionBuf,
[in] DWORD cbIn,
[out] PDWORD pdwResult
);
参数
[in] poemuiobj
指向当前上下文的指针, OEMUIOBJ 结构。
[in] dwFlags
指定核心驱动程序是否要解决冲突。 此参数必须设置为以下值之一:
值 | 含义 |
---|---|
SETOPTIONS_FLAG_KEEP_CONFLICT | 要求核心驱动程序不解决出现的任何冲突。 |
SETOPTIONS_FLAG_RESOLVE_CONFLICT | 要求核心驱动程序解决出现的任何冲突。 |
[in] pmszFeatureOptionBuf
指向调用方提供的缓冲区的指针,该缓冲区包含MULTI_SZ格式的功能/选项关键字 (keyword) 对的列表。 此列表中的每一项与下一个项隔开一个 null 字符,列表以两个 null 字符结尾。
[in] cbIn
指定 pmszFeatureOptionBuf 指向的缓冲区的大小(以字节为单位)。 此大小包括最后MULTI_SZ空字符。
[out] pdwResult
指向接收以下值之一的内存位置的指针。 这些常量在 printoem.h 中定义。
值 | 含义 |
---|---|
SETOPTIONS_RESULT_CONFLICT_REMAINED | 核心驱动程序发现冲突,但未解决。 |
SETOPTIONS_RESULT_CONFLICT_RESOLVED | 核心驱动程序找到并解决了所有冲突。 |
SETOPTIONS_RESULT_NO_CONFLICT | 核心驱动程序未发现任何冲突。 |
返回值
方法必须返回以下值之一。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
不支持该方法。
不支持 dwLevel 指定的类型的结构。 |
|
dwFlags 中的值不正确。
pmszFeatureOptionBuf) 指向的输入缓冲区 (不是MULTI_SZ格式。 poemuiobj 参数指向无效的上下文对象。 |
|
方法失败 |
注解
此方法仅支持 Windows XP Pscript5 插件,不适用于 Unidrv 插件。
调用此方法以使用功能/选项关键字 (keyword) 对的列表来设置驱动程序的功能设置。 调用方可以使用 IPrintCoreUI2::GetOptions 方法访问生成的功能设置。
如果此方法返回除 S_OK 以外的任何值,则不会对驱动程序的功能设置进行任何更改。
pmszFeatureOptionBuf 输入缓冲区的构造方式必须与 IPrintCoreUI2::GetOptions 方法的输出缓冲区相同。 也就是说,功能/选项关键字 (keyword) 对必须采用MULTI_SZ格式,并且列表中的每个项与下一个项之间用 null 字符分隔。 一对 null 字符将终止列表。
如果输入缓冲区包含一个特征关键字 (keyword) 或其选项关键字 (keyword) 无法识别,或者该功能已识别,但在当前粘滞模式下不受支持 (请参阅替换 Driver-Supplied 属性表页) ,则忽略功能/选项对,并且该功能的当前选项继续有效。
此方法仅支持完全替换核心驱动程序的标准 UI 页面的 UI 插件,并且仅在 UI 插件的 IPrintOemUI::D ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 函数及其属性表回调例程期间受支持。
有关详细信息,请参阅 使用 GetOptions 和 SetOptions。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |
另请参阅
IPrintOemUI::D evicePropertySheets