PHW_RECEIVE_DEVICE_SRB Rückruffunktion (strmini.h)

Die vom Minidriver bereitgestellte Routine verarbeitet Klassentreiberanforderungen, die für den Treiber als Ganzes gelten, z. B. das Initialisieren des Geräts oder das Öffnen eines Datenstroms innerhalb des Geräts.

Syntax

PHW_RECEIVE_DEVICE_SRB PhwReceiveDeviceSrb;

void PhwReceiveDeviceSrb(
  [in] IN PHW_STREAM_REQUEST_BLOCK SRB
)
{...}

Parameter

[in] SRB

Zeiger auf den Streamanforderungsblock.

Rückgabewert

Keine

Bemerkungen

Der Minidriver gibt diese Routine im HwReceivePacket-Member seiner HW_INITIALIZATION_DATA-Struktur an. Der Minidriver übergibt diese Struktur an den Klassentreiber, wenn er sich selbst registriert, indem er StreamClassRegisterMinidriver aufruft.

StrMiniReceiveDevicePacket muss Klassentreiberanforderungen verarbeiten, die für den Treiber als Ganzes gelten, z. B. das Initialisieren des Geräts oder das Öffnen eines Datenstroms innerhalb des Geräts. Der Klassentreiber übergibt seine Informationen in Form eines Zeigers an einen Streamanforderungsblock. Der Klassentreiber füllt einige der Einträge im Streamanforderungsblock aus. Nach Abschluss der Routine muss der Minidriver zusätzliche Informationen eingeben, die der Klassentreiber zum Fortsetzen der Verarbeitung verwendet.

Nach Abschluss der Verarbeitung der Anforderung übergibt der Minidriver die Struktur zurück an den Klassentreiber, indem er StreamClassDeviceNotification(DeviceRequestComplete, pSRB-HwDeviceExtension>, pSRB) aufruft.

Informationen zu relevanten SRB-Codes finden Sie in Stream Class SRB Reference.

Wenn der Minidriver die Verarbeitung der Anforderung abgeschlossen hat, gibt er die Rückgabe status des Vorgangs in pSrb-Status> ein. Der Minitreiber sollte STATUS_SUCCESS eingeben, damit die Verarbeitung normal erfolgreich ist. Wenn der Minidriver diesen Befehlswert nicht unterstützt, sollte pSrb-Status> auf STATUS_NOT_IMPLEMENTED festgelegt werden. Wenn ein Gerätehardwarefehler auftritt, der verhindert, dass der Minidriver die Anforderung abschließt, sollte pSrb-Status> auf STATUS_IO_DEVICE_ERROR festgelegt werden. Andere Fehlercodes, die von der Routine unter bestimmten Umständen verwendet werden, sind oben mit dem spezifischen Befehlscode aufgeführt.

Beachten Sie, dass der Klassentreiber Lese- und Schreibanforderungen an die StrMiniReceiveStreamDataPacket-Routine übergibt.

Der Minidriver registriert seine StrMiniReceiveStreamControlPacket-Routine wie folgt: Wenn der Klassentreiber den Stream öffnet, übergibt er einen SRB_OPEN_STREAM Anforderungsblock an die StrMiniReceiveDevicePacket-Routine des Minidrivers. Das StreamObject-Element des Anforderungspakets verweist auf eine HW_STREAM_OBJECT. Der Minidriver legt das ReceiveControlPacket-Element der Struktur fest, auf das von StreamObject verwiesen wird, auf die StrMiniReceiveControlPacket-Routine des Minidrivers.

Nach Abschluss der Verarbeitung der Anforderung übergibt der Minidriver die Struktur zurück an den Klassentreiber, indem er StreamClassStreamNotification(StreamRequestComplete, pSRB-StreamObject>, pSRB) aufruft.

Informationen zu relevanten SRB-Codes finden Sie in Stream Class SRB Reference.

Wenn der Minidriver die Verarbeitung der Anforderung abgeschlossen hat, gibt er die Rückgabe status des Vorgangs in pSrb-Status> ein. Der Minitreiber sollte STATUS_SUCCESS eingeben, damit die Verarbeitung normal erfolgreich ist. Wenn der Minidriver diesen Befehlswert nicht unterstützt, sollte pSrb-Status> auf STATUS_NOT_IMPLEMENTED festgelegt werden. Wenn ein Gerätehardwarefehler auftritt, der verhindert, dass der Minidriver die Anforderung abschließt, sollte pSrb-Status> auf STATUS_IO_DEVICE_ERROR festgelegt werden. Andere Fehlercodes, die von der Routine unter bestimmten Umständen verwendet werden, sind oben mit dem spezifischen Befehlscode aufgeführt.

Der Streamklassentreiber ruft die StrMiniReceiveStreamDataPacket-Routine des Minidrivers auf, um Lese- und Schreibanforderungen für einen bestimmten Stream zu verarbeiten.

Der Minidriver registriert seine StrMiniReceiveStreamDataPacket-Routine wie folgt: Wenn der Klassentreiber den Stream öffnet, übergibt er einen SRB_OPEN_STREAM Anforderungsblock an die StrMiniReceiveDevicePacket-Routine des Minidrivers. Das StreamObject des Anforderungspakets verweist auf eine HW_STREAM_OBJECT. Der Minidriver legt den ReceiveDataPacket-Member der Struktur fest, auf die pSrb-StreamObject> verweist, auf die StrMiniReceiveDataPacket-Routine des Minidrivers.

Nach Abschluss der Verarbeitung der Anforderung übergibt der Minidriver die Struktur zurück an den Klassentreiber, indem er StreamClassStreamNotification(StreamRequestComplete, pSRB-StreamObject>, pSRB) aufruft.

Informationen zu relevanten SRB-Codes finden Sie in Stream Class SRB Reference.

Wenn der Minidriver die Verarbeitung der Anforderung abgeschlossen hat, gibt er die Rückgabe status des Vorgangs in pSrb-Status> ein. Der Minitreiber sollte STATUS_SUCCESS eingeben, damit die Verarbeitung normal erfolgreich ist. Wenn der Minidriver diesen Befehlswert nicht unterstützt, sollte pSrb-Status> auf STATUS_NOT_IMPLEMENTED festgelegt werden. Wenn ein Gerätehardwarefehler auftritt, der verhindert, dass der Minidriver die Anforderung abschließt, sollte pSrb-Status> auf STATUS_IO_DEVICE_ERROR festgelegt werden. Andere Fehlercodes, die von der Routine unter bestimmten Umständen verwendet werden, sind oben mit dem spezifischen Befehlscode aufgeführt.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile strmini.h (include Strmini.h)