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