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 |
---|---|
|
Der Aufruf ist aufgrund eines Gerätefehlers fehlgeschlagen. |
|
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 |