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 TRUEFALSE
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

另请参阅

双向通信接口

双向通信架构

GetEnumCount

IBidiRequest