IPrintCoreHelperPS::GetOptionAttribute 方法 (prcomoem.h)

IPrintCoreHelperPS::GetOptionAttribute 方法检索选项属性列表或特定选项属性的值。

语法

HRESULT GetOptionAttribute(
  [in]  PCSTR  pszFeatureKeyword,
  [in]  PCSTR  pszOptionKeyword,
  [in]  PCSTR  pszAttribute,
  [out] PDWORD pdwDataType,
  [out] PBYTE  *ppbData,
  [out] PDWORD pcbSize
);

参数

[in] pszFeatureKeyword

指向调用方提供的缓冲区的指针,该缓冲区包含 ANSI 字符串,该字符串指定要查询的功能关键字 (keyword) 。

[in] pszOptionKeyword

指向调用方提供的缓冲区的指针,该缓冲区包含 ANSI 字符串,该字符串指定要查询的选项关键字 (keyword) 。 此值可以从之前调用 IPrintCoreHelperPS::EnumOptions 获取。

[in] pszAttribute

指向调用方提供的缓冲区的指针,该缓冲区包含指定所请求属性的 ANSI 字符串。 如果此参数为 NULL,则调用方请求选项的所有受支持属性名称的列表,而不是为选项指定特定的属性名称。

[out] pdwDataType

指向变量的指针,该变量接收指定所请求属性的数据类型的值。 此值是 printoem.h 中定义的 EATTRIBUTE_DATATYPE 枚举类型的枚举器。

[out] ppbData

指向包含所请求数据的被调用方分配的缓冲区的指针。 完成此方法后,调用方无需释放此缓冲区。

[out] pcbSize

指向变量的指针,该变量接收 pbData 参数指向的缓冲区的大小(以字节为单位)。

返回值

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

返回代码 说明
S_OK 方法成功。
E_FAIL 方法失败。
E_INVALIDARG 方法尝试查询不存在的属性。 此值还可能意味着无法识别功能关键字 (keyword) 名称或选项关键字 (keyword) 名称。
E_OUTOFMEMORY pbSize 中的值小于要写入 pbData 指向的输出缓冲区的字节数。

注解

如果调用 IPrintCoreHelperPS::GetOptionAttribute时,其 pszAttributepbData 参数设置为 NULL,则该方法将返回,并将 为 选项 的所有受支持属性名称列表所需的字节数。 如果第二次调用此方法,并且 pszAttribute 设置为 NULL,pbData 指向在上一次调用中在EATTRIBUTE_DATATYPE枚举类型中指定的大小的缓冲区,则该方法将返回 pdwDataType 设置为kADT_ASCII (EATTRIBUTE_DATATYPE枚举类型的枚举器 ) ,pbData 指向选项的所有受支持属性名称的 NULL 分隔列表。 此列表以两个空字符结尾。

有关 IPrintCoreHelperPS::GetOptionAttribute 的详细信息,请参阅 使用 GetOptionAttribute

要求

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

另请参阅

IPrintCoreHelperPS

IPrintCoreHelperPS::GetFeatureAttribute

IPrintCoreHelperPS::GetGlobalAttribute