IPrintCoreUI2::EnumFeatures 方法 (prcomoem.h)
方法 IPrintCoreUI2::EnumFeatures
枚举打印机的可用功能。
语法
HRESULT EnumFeatures(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[out] PZZSTR pmszFeatureList,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
参数
[in] poemuiobj
指向当前上下文的指针, OEMUIOBJ 结构。
[in] dwFlags
为保留,并且必须设置为零。
[out] pmszFeatureList
指向调用方提供的缓冲区的指针,该缓冲区接收以MULTI_SZ格式以 null 分隔的功能关键字列表。 列表以两个 null 字符结尾。
将此参数设置为 NULL ,只需查询特征列表 (*) 的大小,而无需填充列表。
[in] cbSize
指定 pmszFeatureList 指向的缓冲区的大小(以字节为单位)。
[out] pcbNeeded
指向接收功能列表的实际大小(以字节为单位)的内存位置的指针。
返回值
此方法必须返回以下值之一。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
cbSize 中的值小于要写入输出缓冲区的字节数, (pmszFeatureList) 指向的缓冲区。
调用 方法时 ,pmszFeatureList 设置为 NULL。 |
|
poemuiobj 参数指向无效的上下文对象。 |
|
方法失败 |
注解
此方法仅支持 Windows XP Pscript5 插件,不适用于 Unidrv 插件。
打印机粘滞功能 (请参阅替换 Driver-Supplied 属性工作表页) ,例如确定可安装内存和是否存在可选附件的功能包含在功能关键字 (keyword) 列表中,当方法返回时,该列表显示在 pmszFeatureList 指向的输出缓冲区中。 对于 Pscript5,此类功能将 OpenGroupType 功能属性设置为“InstallableOptions”。
若要减少对每个数据访问进行两次调用的需求,请将固定大小的输出缓冲区 (1 KB(例如) ),然后检查函数返回值。 如果方法返回S_OK,则缓冲区已包含相关数据。 如果方法返回E_OUTOFMEMORY,则 *E_OUTOFMEMORY 中的值是保存所需数据的缓冲区大小。 然后,调用方应分配一个更大的缓冲区,并继续对 方法进行第二次调用。
有关详细信息,请参阅 使用 EnumFeatures。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | prcomoem.h (包括 Prcomoem.h) |