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を返します。 それ以外の場合、メソッドは適切なエラー コードを返します。 次の表は、考えられる戻り状態コードの一部を示しています。
リターン コード | 説明 |
---|---|
|
デバイス エラーが原因で呼び出しが失敗しました。 |
|
無効なデバイス要求 (たとえば、MIDI 入力ストリームで を呼び出す Write )。
|
注釈
メソッドが成功した場合、 BytesWritten パラメーターを使用して呼び出し元に次のいずれかの値を出力します。
- BytesToWrite と同じ値。 この値は、メソッドがデバイスにデータのすべての BytesToWrite バイトを書き込むのに成功したことを示します。
- BytesToWrite より小さい 4 の倍数。 メソッドが呼び出し元のデータの一部をデバイスに書き込めるが、すべてではない場合は、4 つの倍数であるバイト数を書き込む必要があります。 この値は、呼び出し元がメソッドを別の呼び出しで呼び出して、残りのデータを書き込む必要があることを示します。
- ゼロ。 この値は、デバイスがビジー状態で現在の呼び出し中に呼び出し元のデータを書き込めず、呼び出し元が後で再試行する必要があることを示します。 ミニポート ドライバーは、ビジー状態のデバイスとデバイス エラーを区別する役割を担います。 メソッドは、常に成功を返すが、0 バイトを書き込む呼び出しの無限の連続を生成しないようにする必要があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | portcls.h (Portcls.h を含む) |
IRQL | DISPATCH_LEVEL |