IPrintCoreHelperPS::GetFeatureAttribute 方法 (prcomoem.h)

IPrintCoreHelperPS::GetFeatureAttribute 方法检索特征属性列表或特定特征属性的值。

语法

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

参数

[in] pszFeatureKeyword

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

[in] pszAttribute

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

[out] pdwDataType

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

[out] ppbData

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

[out] pcbSize

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

返回值

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

返回代码 说明
S_OK 方法成功。
E_FAIL 方法失败。
E_INVALIDARG 方法尝试查询不存在的属性。 此值还可能意味着无法识别特征关键字 (keyword) 。
E_OUTOFMEMORY pbSize 中的值小于要写入到 pbData 指向的输出缓冲区的字节数。 此值可能还意味着调用方法时 ,pbData 设置为 NULL

注解

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

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

要求

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

另请参阅

IPrintCoreHelperPS

IPrintCoreHelperPS::GetGlobalAttribute

IPrintCoreHelperPS::GetOptionAttribute