IMiniportMidiStream::Read 方法 (portcls.h)

方法 Read 會從傳入MIDI數據流讀取數據。

語法

NTSTATUS Read(
  [in]  PVOID  BufferAddress,
  [in]  ULONG  BufferLength,
  [out] PULONG BytesRead
);

參數

[in] BufferAddress

指定呼叫端配置的緩衝區位址。 方法會將傳入MIDI資料從裝置複製到緩衝區。 此緩衝區的配置大小必須大於或等於 BufferLength

[in] BufferLength

指定 BufferAddress 所指向之緩衝區的位元組長度。

[out] BytesRead

呼叫端配置變數的輸出指標,方法會將計數寫入其中,以指定從裝置成功讀取到緩衝區的實際位元組數目。

傳回值

Read 如果呼叫成功,會傳回STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。 下表顯示一些可能的傳回狀態代碼。

傳回碼 Description
STATUS_INVALID_DEVICE_REQUEST
例如,在MIDI輸出數據流上呼叫 Read) 無效的裝置要求 (。

備註

迷你埠驅動程式會呼叫 IPortMidi::Notify ,以在從擷取裝置取得傳入 MIDI 數據時通知埠驅動程式。 埠驅動程式會呼叫 IMiniportMidi::Read 來擷取數據。 只要有更多數據可供使用,埠驅動程式就會繼續呼叫 Read

方法 Read 會傳回STATUS_SUCCESS和 BytesRead 計數為零,表示裝置目前沒有可用的 MIDI 輸入數據。

規格需求

需求
目標平台 Universal
標頭 portcls.h (包含 Portcls.h)
IRQL DISPATCH_LEVEL

另請參閱

IMiniportMidiStream

IMiniportMidiStream::Write

IPortMidi::Notify