IPrintCoreUI2::EnumOptions 方法 (prcomoem.h)

方法 IPrintCoreUI2::EnumOptions 枚举特定功能的可用选项。

语法

HRESULT EnumOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [out] PZZSTR    pmszOptionList,
  [in]  DWORD     cbSize,
  [out] PDWORD    pcbNeeded
);

参数

[in] poemuiobj

指向当前上下文的指针, OEMUIOBJ 结构。

[in] dwFlags

为保留,并且必须设置为零。

[in] pszFeatureKeyword

指向调用方提供的缓冲区的指针,该缓冲区包含一个 ASCII 字符串,该字符串指定请求其选项的功能关键字 (keyword) 。

[out] pmszOptionList

指向调用方提供的缓冲区的指针,该缓冲区接收MULTI_SZ格式的 NULL 分隔列表,其中包含 pszFeatureKeyword 指向的功能关键字 (keyword) 选项关键字。 此列表以两个空字符结尾。

将此参数设置为 NULL ,只需查询选项列表的大小 (*) *) ,而无需填充列表。

[in] cbSize

指定 pmszOptionList 指向的缓冲区的大小(以字节为单位)。

[out] pcbNeeded

指向接收选项列表的实际大小(以字节为单位)的内存位置的指针。

返回值

此方法必须返回以下值之一。

返回代码 说明
S_OK
方法成功。
E_OUTOFMEMORY
cbSize 中的值小于要写入输出缓冲区的字节数, (pmszOptionList) 指向的缓冲区。

调用 方法时 ,pmszOptionList 设置为 NULL

E_INVALIDARG
pszFeatureKeyword 指向的字符串不是可识别的特征。

poemuiobj 参数指向无效的上下文对象。

E_NOTIMPL
仅 (Pscript)

当前配置不支持 Pscript5 驱动程序功能。

当前配置支持 Pscript5 驱动程序功能,但 Pscript5 驱动程序功能的选项不可枚举。

E_FAIL
方法失败

注解

此方法仅支持 Windows XP Pscript5 插件,不适用于 Unidrv 插件。

若要减少对每个数据访问进行两次调用的需求,请将固定大小的输出缓冲区 (1 KB(例如) ),然后检查函数返回值。 如果方法返回S_OK,则缓冲区已包含相关数据。 如果方法返回E_OUTOFMEMORY,则 *E_OUTOFMEMORY 中的值是保存所需数据的缓冲区大小。 然后,调用方应分配一个更大的缓冲区,并继续对 方法进行第二次调用。

有关详细信息,请参阅 使用 EnumOptions

要求

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

另请参阅

IPrintCoreUI2

IPrintCoreUI2::EnumFeatures

OEMUIOBJ