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

接收輸出數據類型之變數的指標。 此參數可以是下列其中一個值。

Description
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