IMiniportMidiStream::Write 方法 (portcls.h)
方法 Write
會將數據寫入傳出MIDI數據流。
語法
NTSTATUS Write(
[in] PVOID BufferAddress,
[in] ULONG BytesToWrite,
[out] PULONG BytesWritten
);
參數
[in] BufferAddress
包含傳出MIDI數據的呼叫端配置緩衝區指標
[in] BytesToWrite
指定 BufferAddress 指向之緩衝區中包含的 MIDI 數據位元組數目。
[out] BytesWritten
方法寫入計數的呼叫端配置變數輸出指標,指定方法寫入MIDI輸出裝置時成功寫入的實際位元組數目。 如需詳細資訊,請參閱接下來的<備註>一節。
傳回值
Write
如果呼叫成功,會傳回STATUS_SUCCESS。 否則,方法會傳回適當的錯誤碼。 下表顯示一些可能的傳回狀態代碼。
傳回碼 | Description |
---|---|
|
呼叫因裝置錯誤而失敗。 |
|
例如,在MIDI輸入資料流) 上呼叫 Write 無效的裝置要求 (。
|
備註
如果方法成功,它會透過 BytesWritten 參數將下列其中一個值輸出給呼叫端:
- 與 BytesToWrite 相同的值。 這個值表示方法已成功將所有 BytesToWrite 數據寫入裝置。
- 四個的倍數,小於 BytesToWrite。 如果方法能夠將部分但並非所有呼叫端的數據寫入裝置,它應該寫入一些位元組,其為四個的倍數。 這個值表示呼叫端應該對 方法進行另一個呼叫,以寫入剩餘的數據。
- 零。 這個值表示裝置太忙碌,無法在目前的呼叫期間寫入任何呼叫端的數據,但呼叫端稍後應該再試一次。 迷你埠驅動程序負責區分忙碌裝置與裝置錯誤。 方法應該避免產生一連串永遠傳回成功的呼叫,但寫入零個字節。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | portcls.h (包含 Portcls.h) |
IRQL | DISPATCH_LEVEL |