次の方法で共有


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を返します。 それ以外の場合、メソッドは適切なエラー コードを返します。 次の表に、考えられる戻り状態コードの一部を示します。

リターン コード 形容
STATUS_IO_DEVICE_ERROR
デバイス エラーが原因で呼び出しに失敗しました。
STATUS_INVALID_DEVICE_REQUEST
無効なデバイス要求 (MIDI 入力ストリームでの Write の呼び出しなど)。

備考

メソッドが成功すると、BytesWritten パラメーターを使用して、次のいずれかの値が呼び出し元に出力されます。

  • BytesToWriteと同じ値です。 この値は、メソッドが、すべての BytesToWrite バイトのデータをデバイスに書き込むのに成功したことを示します。
  • BytesToWrite 未満の 4 つの倍数。 メソッドが一部の呼び出し元のデータをデバイスに書き込むことが可能な場合は、4 の倍数であるバイト数を書き込む必要があります。 この値は、呼び出し元がメソッドに対して別の呼び出しを行って残りのデータを書き込む必要があることを示します。
  • ゼロ。 この値は、デバイスがビジー状態で現在の呼び出し中に呼び出し元のデータを書き込めず、呼び出し元が後で再試行する必要があることを示します。 ミニポート ドライバーは、ビジー状態のデバイスとデバイス エラーを区別する役割を担います。 このメソッドは、常に成功を返しながら 0 バイトを書き込む無限の連続する呼び出しを生成しないようにする必要があります。

必要条件

要件 価値
ターゲット プラットフォーム 万国
ヘッダー portcls.h (Portcls.h を含む)
IRQL DISPATCH_LEVEL

関連項目

IMiniportMidiStream

IMiniportMidiStream::Read