Freigeben über


SRB_READ_DATA

Der Klassentreiber hat eine Leseanforderung für den Minitreiber erhalten.

Rückgabewert

Der Minidriver kann eine der folgenden Optionen als status im SRB festlegen oder zusätzliche Fehlercodes übergeben, um Fehlersituationen wie Speicherfehler und ungültige Parameter anzugeben. Der Klassentreiber überprüft nur auf STATUS_SUCCESS.

STATUS_SUCCESS
Gibt den erfolgreichen Abschluss des Befehls an.

STATUS_NOT_IMPLEMENTED
Gibt an, dass die Funktion vom Minitreiber nicht unterstützt wird.

STATUS_IO_DEVICE_ERROR
Gibt an, dass ein Hardwarefehler aufgetreten ist.

Kommentare

Der Wert von pSrb-CommandData>.DataBufferArray verweist auf ein Array von KSSTREAM_HEADER Strukturen, die zusammen den Datenpuffer beschreiben. Der pSrb-Zeiger zeigt auf eine HW_STREAM_REQUEST_BLOCK-Struktur . pSrb-CommandData>.NumberOfBuffers gibt die Größe des Arrays an.

Wenn der SRB_READ_DATA-Befehl vom Minidriver empfangen wird, sollte die antwortierende Minitreiberroutine Folgendes ausführen:

  1. Überprüfen Sie, um den aktuellen Streamstatus zu ermitteln. Der Minidriver sollte Leseanforderungen nur akzeptieren, wenn sich entweder der Status Pause oder Run befindet. Wenn der Stream beendet wird, sollte er sofort abgeschlossen werden und den SRB zurückgeben.

  2. Platzieren Sie den SRB in der Warteschlange.