IPrintCoreHelperPS::GetOption 方法 (prcomoem.h)

IPrintCoreHelperPS::GetOption 方法获取给定功能的指定选项。

语法

HRESULT GetOption(
  [in, optional] const DEVMODE *pDevmode,
  [in]           DWORD         cbSize,
  [in]           PCSTR         pszFeatureRequested,
  [out]          PCSTR         *ppszOption
);

参数

[in, optional] pDevmode

指向 DEVMODEW结构的指针。 如果提供此指针, IPrintCoreHelperPS::GetOption 应使用 pDevmode 指向的 DEVMODEW 结构,而不是默认或当前 DEVMODEW 结构。 如果从插件提供程序或 IPrintOemPS::D evMode 调用此方法,则此参数是必需的。 在大多数其他情况下, 参数应为 NULL。 当核心驱动程序将 pDevmode 设置为 NULL 时,它会修改其内部状态,而不是传入的 DEVMODEW 结构的状态。 在完全替换 UI 等操作期间,这是必需的,其中 DDI 返回的 DEVMODEW 结构(如 DrvDocumentPropertySheets)由核心驱动程序的 UI 模块提供服务。

[in] cbSize

pDevmode 参数指向的 DEVMODEW 结构的大小(以字节为单位)。

[in] pszFeatureRequested

指向 ANSI 字符串的指针,该字符串包含功能在 PPD 文件中显示时的名称。

[out] ppszOption

指向包含 ANSI 字符串地址的变量的指针。 当 IPrintCoreHelperPS::GetOption 返回时,字符串应包含当前所选选项在配置文件中显示的关键字 (keyword) 。 调用方不应修改此字符串,也不应释放与此字符串关联的内存。

返回值

IPrintCoreHelperPS::GetOption 应返回以下值之一。

返回代码 说明
S_OK
方法读取指定功能的 选项。
E_FAIL
调用方提供的信息导致请求无效。 例如,请求的功能不存在。
E_INVALIDARG
参数无效。 此值可能表示不支持该功能,或者为该功能请求了太多选项。
E_OUTOFMEMORY
核心驱动程序无法为请求提供服务,因为内存不足。
E_UNEXPECTED或此处未列出的其他返回代码
核心驱动程序似乎处于无效状态。 调用方应返回失败代码。

注解

IPrintCoreHelperPS::GetOption 不能用于允许同时设置多个选项的功能。

功能关键字与 PPD 文件中的定义一样。 此外,Pscript5 驱动程序支持对其专用 DEVMODEW结构中存储的选项使用多个保留关键字。 有关 Pscript5 功能的列表,请参阅 关键字映射

调用方不应释放 ppszOption 指向的字符串,也不应以任何方式修改字符串。

要求

要求
目标平台 桌面
标头 prcomoem.h (包括 Prcomoem.h)

另请参阅

IPrintCoreHelperPS

IPrintCoreHelperPS::EnumOptions

IPrintCoreHelperPS::SetOptions