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
STATUS_IO_DEVICE_ERROR
呼叫因裝置錯誤而失敗。
STATUS_INVALID_DEVICE_REQUEST
例如,在MIDI輸入資料流) 上呼叫 Write 無效的裝置要求 (。

備註

如果方法成功,它會透過 BytesWritten 參數將下列其中一個值輸出給呼叫端:

  • BytesToWrite 相同的值。 這個值表示方法已成功將所有 BytesToWrite 數據寫入裝置。
  • 四個的倍數,小於 BytesToWrite。 如果方法能夠將部分但並非所有呼叫端的數據寫入裝置,它應該寫入一些位元組,其為四個的倍數。 這個值表示呼叫端應該對 方法進行另一個呼叫,以寫入剩餘的數據。
  • 零。 這個值表示裝置太忙碌,無法在目前的呼叫期間寫入任何呼叫端的數據,但呼叫端稍後應該再試一次。 迷你埠驅動程序負責區分忙碌裝置與裝置錯誤。 方法應該避免產生一連串永遠傳回成功的呼叫,但寫入零個字節。

規格需求

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

另請參閱

IMiniportMidiStream

IMiniportMidiStream::Read