IBidiRequest::GetOutputData 方法 (bidispl.h)
GetOutputData 方法获取从打印机返回的指定输出数据。
语法
HRESULT GetOutputData(
[in] const DWORD dwIndex,
[out] LPWSTR *ppszSchema,
[out] DWORD *pdwType,
[out] BYTE **ppData,
[out] ULONG *uSize
);
参数
[in] dwIndex
请求的输出数据的从零开始的索引。 有关详细信息,请参阅“备注”。
[out] ppszSchema
指向以 NULL 结尾的字符串的指针,该字符串接收架构字符串。 调用方必须调用 CoTaskMemFree 函数才能释放此指针。
[out] pdwType
指向接收输出数据类型的变量的指针。 此参数的取值可为下列值之一:
值 | 说明 |
---|---|
BIDI_NULL | 无数据。 |
BIDI_INT | 整型数据。 |
BIDI_FLOAT | 浮点数。 |
BIDI_BOOL | TRUE 或 FALSE |
BIDI_STRING | Unicode 字符串。 |
BIDI_TEXT | 不可本地化的 Unicode 字符串。 |
BIDI_ENUM | 以 Unicode 字符串的形式枚举数据。 |
BIDI_BLOB | 二进制数据。 |
[out] ppData
指向变量的指针,该变量接收指向包含输出数据的字节数组的指针。 缓冲区由 COM 接口分配,用于存储输出数据。 调用方负责调用 CoTaskMemFree 以释放缓冲区。
[out] uSize
指向接收由 ppData 指定的字节数组大小的变量的指针。
返回值
方法返回以下值之一。 有关 COM 错误代码的详细信息,请参阅 COM 错误代码。
返回代码 | 说明 |
---|---|
S_OK | 操作已成功执行。 |
E_HANDLE | 接口句柄无效。 |
E_POINTER | 至少有一个指针变量参数未引用有效的内存位置。 |
以上都不是 | HRESULT 包含与上一个错误对应的错误代码。 |
注解
单个 bidi 请求可以有多个结果。 应用程序调用 GetEnumCount 来获取 bidi 请求的结果数。
如果应用程序调用具有相同索引的 GetOutputData 两次,接口将分配两个不同的缓冲区,因此应用程序必须释放这两个缓冲区。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP |
最低受支持的服务器 | Windows Server 2003 |
目标平台 | 桌面 |
标头 | bidispl.h |
DLL | Bidispl.dll |