IPrintCoreHelper::EnumConstrainedOptions 方法 (prcomoem.h)

IPrintCoreHelper::EnumConstrainedOptions 方法根据当前设置提供在特定功能中受约束的所有选项的列表。

语法

HRESULT EnumConstrainedOptions(
  [in, optional] IN const DEVMODE *pDevmode,
  [in]           IN DWORD         cbSize,
  [in]           IN PCSTR         pszFeatureKeyword,
  [out]          OUT PCSTR * []   pConstrainedOptionList,
  [out]          OUT DWORD        *pdwNumOptions
);

参数

[in, optional] pDevmode

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

[in] cbSize

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

[in] pszFeatureKeyword

包含特征名称的 ANSI 字符的字符串。

[out] pConstrainedOptionList

指向 ANSI 字符串数组的指针。 当 IPrintCoreHelper::EnumConstrainedOptions 返回时,这些字符串将包含指定功能内受约束的所有选项的名称。 调用方不负责释放数组或数组中的单个字符串。

[out] pdwNumOptions

指向变量的指针,该变量接收 pConstrainedOptionList 参数指向的数组中受约束选项的数目。

返回值

IPrintCoreHelper::EnumConstrainedOptions 应返回以下值之一。

返回代码 说明
S_OK 已为指定功能设置了约束选项。
E_FAIL 调用方提供了导致无效请求的信息,例如对不存在的功能的请求。
E_INVALIDARG 一个或多个参数无效。 此值可能表示不支持该功能。
E_OUTOFMEMORY 内存不足,无法创建选项数组,或者核心驱动程序无法为请求提供服务,因为内存不足。
E_UNEXPECTED或此处未明确列出的其他故障 出现意外情况。 核心驱动程序可能处于无效状态。 调用方应退出并显示失败代码。

要求

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

另请参阅

IPrintCoreHelper

IPrintCoreHelper::EnumOptions

IPrintCoreHelper::WhyConstrained