共用方式為


IMiniportMidiStream::Write 方法 (portcls.h)

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。 否則,方法會傳回適當的錯誤碼。 下表顯示一些可能的傳回狀態代碼。

傳回碼 描述
STATUS_IO_DEVICE_ERROR
呼叫因裝置錯誤而失敗。
STATUS_INVALID_DEVICE_REQUEST
無效的裝置要求(例如,在MIDI輸入數據流上呼叫 Write)。

言論

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

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

要求

要求 價值
目標平臺 普遍
標頭 portcls.h (包括 Portcls.h)
IRQL DISPATCH_LEVEL

另請參閱

IMiniportMidiStream

IMiniportMidiStream::Read