Freigeben über


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 Datenstromanforderungsblock.

Rückgabewert

Nichts

Bemerkungen

Der Minidriver gibt diese Routine im HwReceivePacket Element der HW_INITIALIZATION_DATA Struktur an. Der Minidriver übergibt diese Struktur an den Klassentreiber, wenn er sich selbst registriert, indem StreamClassRegisterMinidriveraufgerufen wird.

StrMiniReceiveDevicePacket- müssen 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 Datenstromanforderungsblock. Der Klassentreiber füllt einige der Einträge im Datenstromanforderungsblock aus. Der Minidriver muss nach Abschluss der Routine zusätzliche Informationen ausfüllen, mit denen der Klassentreiber die Verarbeitung fortsetzen wird.

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

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

Wenn der Minidriver die Verarbeitung der Anforderung beendet hat, wird der Rückgabestatus des Vorgangs in pSrb-->Statuseingegeben. Der Minidriver sollte STATUS_SUCCESS für die normale erfolgreiche Verarbeitung eingeben. Wenn der Minidriver diesen Befehlswert nicht unterstützt, sollte er pSrb-festlegen –>Status auf STATUS_NOT_IMPLEMENTED. Wenn ein Gerätehardwarefehler vorliegt, der verhindert, dass der Minidriver die Anforderung abschließt, sollte er pSrb-festlegen –>Status auf STATUS_IO_DEVICE_ERROR. Andere Fehlercodes, die die Routine unter bestimmten Umständen verwendet, 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 Datenstrom ö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 StreamObject auf die StrMiniReceiveControlPacket Routine des Minidrivers verweist.

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

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

Wenn der Minidriver die Verarbeitung der Anforderung beendet hat, wird der Rückgabestatus des Vorgangs in pSrb-->Statuseingegeben. Der Minidriver sollte STATUS_SUCCESS für die normale erfolgreiche Verarbeitung eingeben. Wenn der Minidriver diesen Befehlswert nicht unterstützt, sollte er pSrb-festlegen –>Status auf STATUS_NOT_IMPLEMENTED. Wenn ein Gerätehardwarefehler vorliegt, der verhindert, dass der Minidriver die Anforderung abschließt, sollte er pSrb-festlegen –>Status auf STATUS_IO_DEVICE_ERROR. Andere Fehlercodes, die die Routine unter bestimmten Umständen verwendet, 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 Datenstrom zu verarbeiten.

Der Minidriver registriert seine StrMiniReceiveStreamDataPacket Routine wie folgt: Wenn der Klassentreiber den Datenstrom ö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 das ReceiveDataPacket Element der Struktur fest, auf das durch pSrb-verwiesen wird –>StreamObject auf die StrMiniReceiveDataPacket Routine des Minidrivers.

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

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

Wenn der Minidriver die Verarbeitung der Anforderung beendet hat, wird der Rückgabestatus des Vorgangs in pSrb-->Statuseingegeben. Der Minidriver sollte STATUS_SUCCESS für die normale erfolgreiche Verarbeitung eingeben. Wenn der Minidriver diesen Befehlswert nicht unterstützt, sollte er pSrb-festlegen –>Status auf STATUS_NOT_IMPLEMENTED. Wenn ein Gerätehardwarefehler vorliegt, der verhindert, dass der Minidriver die Anforderung abschließt, sollte er pSrb-festlegen –>Status auf STATUS_IO_DEVICE_ERROR. Andere Fehlercodes, die die Routine unter bestimmten Umständen verwendet, sind oben mit dem spezifischen Befehlscode aufgeführt.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- strmini.h (einschließlich Strmini.h)