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格式的功能/选项关键字对列表。 此列表中的每个项由空字符分隔,列表以两个 null 字符结尾。
[in] cbIn
指定 pmszFeatureOptionBuf指向的缓冲区的大小(以字节为单位)。 此大小包括最后一个MULTI_SZ null 字符。
[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 插件。
调用此方法以使用功能/选项关键字对列表设置驱动程序的功能设置。 调用方可以使用 IPrintCoreUI2::GetOptions 方法访问生成的功能设置。
如果此方法返回除S_OK以外的任何值,则不会在驱动程序的功能设置中进行任何更改。
pmszFeatureOptionBuf 输入缓冲区必须与 IPrintCoreUI2::GetOptions 方法的输出缓冲区相同。 也就是说,功能/选项关键字对必须采用MULTI_SZ格式,并且列表中的每个项都以 null 字符分隔。 一对 null 字符将终止列表。
如果输入缓冲区包含无法识别的功能关键字或其选项关键字,或者当前粘滞模式下识别该功能但不受支持(请参阅 替换 Driver-Supplied 属性表页),则忽略功能/选项对,并且该功能的当前选项将继续有效。
此方法仅支持完全替换核心驱动程序的标准 UI 页面的 UI 插件,并且仅在 UI 插件的 IPrintOemUI::D ocumentPropertySheets 和 IPrintOemUI::D evicePropertySheets 函数及其属性表回调例程期间才支持此方法。
有关详细信息,请参阅 使用 GetOptions 和 SetOptions。
要求
要求 | 价值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (include Prcomoem.h) |
另请参阅
IPrintOemUI::D evicePropertySheets