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