IMiniportMidiStream::Write-Methode (portcls.h)

Die Write Methode schreibt Daten in einen ausgehenden MIDI-Stream.

Syntax

NTSTATUS Write(
  [in]  PVOID  BufferAddress,
  [in]  ULONG  BytesToWrite,
  [out] PULONG BytesWritten
);

Parameter

[in] BufferAddress

Zeiger auf einen vom Aufrufer zugewiesenen Puffer, der die ausgehenden MIDI-Daten enthält

[in] BytesToWrite

Gibt die Anzahl der Bytes von MIDI-Daten an, die im Puffer enthalten sind, auf den BufferAddress verweist.

[out] BytesWritten

Ausgabezeiger auf eine vom Aufrufer zugewiesene Variable, in die die Methode eine Anzahl schreibt, die die tatsächliche Anzahl von Bytes angibt, die die Methode erfolgreich in das MIDI-Ausgabegerät schreiben konnte. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".

Rückgabewert

Write gibt STATUS_SUCCESS zurück, wenn der Aufruf erfolgreich war. Andernfalls gibt die Methode einen entsprechenden Fehlercode zurück. In der folgenden Tabelle sind einige der möglichen Rückgabecodes status aufgeführt.

Rückgabecode Beschreibung
STATUS_IO_DEVICE_ERROR
Der Aufruf ist aufgrund eines Gerätefehlers fehlgeschlagen.
STATUS_INVALID_DEVICE_REQUEST
Ungültige Geräteanforderung (z. B. Aufrufen Write eines MIDI-Eingabedatenstroms).

Hinweise

Wenn die Methode erfolgreich ist, gibt sie einen der folgenden Werte über den BytesWritten-Parameter an den Aufrufer aus:

  • Derselbe Wert wie BytesToWrite. Dieser Wert gibt an, dass die Methode erfolgreich alle BytesToWrite-Datenbytes auf das Gerät schreibt.
  • Ein Vielfaches von vier, das kleiner als BytesToWrite ist. Wenn die Methode in der Lage ist, einige, aber nicht alle Daten des Aufrufers auf das Gerät zu schreiben, sollte sie eine Anzahl von Bytes schreiben, die ein Vielfaches von vier ist. Dieser Wert gibt an, dass der Aufrufer einen weiteren Aufruf der -Methode ausführen soll, um die restlichen Daten zu schreiben.
  • Keinen. Dieser Wert gibt an, dass das Gerät zu ausgelastet ist, um die Daten des Aufrufers während des aktuellen Aufrufs zu schreiben. Der Aufrufer sollte es jedoch später erneut versuchen. Der Miniporttreiber ist dafür verantwortlich, ein ausgelastetes Gerät von einem Gerätefehler zu unterscheiden. Die Methode sollte vermeiden, eine endlose Abfolge von Aufrufen zu generieren, die immer einen Erfolg zurückgeben, aber null Bytes schreiben.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header portcls.h (include Portcls.h)
IRQL DISPATCH_LEVEL

Weitere Informationen

IMiniportMidiStream

IMiniportMidiStream::Read