Freigeben über


CoNDIS-Protokolltreiber-OID-Anforderungen

CoNDIS-Protokolltreiber, entweder Clients oder Anrufmanager, können die Betriebsparameter von Miniporttreibern und anderen Protokolltreibern abfragen oder festlegen. CoNDIS-Protokolltreiber können auch Informationen in Miniport-Anrufmanagern (MCMs) abfragen oder festlegen. Weitere Informationen zu OID-Anforderungen und MCMs finden Sie unter CoNDIS MCM OID-Anforderungen.

Um eine OID-Anforderung an einen zugrunde liegenden Treiber zu erstellen, ruft ein Protokolltreiber die NdisCoOidRequest-Funktion auf und legt den Adressfamilien-Handle (AF) im NdisAfHandle-Parameter auf NULL fest. Um eine OID-Anforderung an einen anderen CoNDIS-Protokolltreiber zu erstellen, ruft ein Protokolltreiber NdisCoOidRequest auf und stellt einen gültigen AF-Handle bereit.

Nachdem ein Protokolltreiber die NdisCoOidRequest-Funktion aufruft, ruft NDIS die OID-Anforderungsfunktion des anderen Treibers (einen zugrunde liegenden Treiber oder einen anderen CoNDIS-Protokolltreiber) auf. Bei Miniporttreibern ruft NDIS die MiniportCoOidRequest-Funktion auf. Für Protokolltreiber ruft NDIS die ProtocolCoOidRequest-Funktion auf.

Die folgende Abbildung zeigt eine OID-Anforderung, die an einen Miniporttreiber weitergeleitet wird.

Diagramm zur Veranschaulichung einer OID-Anforderung, die an einen Miniporttreiber gerichtet ist.

Die folgende Abbildung zeigt eine OID-Anforderung, die an einen Protokolltreiber weitergeleitet wird.

Diagramm, das eine OID-Anforderung veranschaulicht, die an einen Protokolltreiber weitergeleitet wird.

Um synchron abzuschließen, gibt NdisCoOidRequest NDIS_STATUS_SUCCESS oder einen Fehlerstatus zurück. Um den Vorgang asynchron abzuschließen, gibt NdisCoOidRequest NDIS_STATUS_PENDING zurück.

Wenn NdisCoOidRequest NDIS_STATUS_PENDING zurückgibt, ruft NDIS die ProtocolCoOidRequestComplete-Funktion auf, nachdem der andere Treiber die OID-Anforderung abgeschlossen hat, indem die NdisMCoOidRequestComplete-Funktion oder die NdisCoOidRequestComplete-Funktion aufgerufen wird. In diesem Fall übergibt NDIS die Ergebnisse der Anforderung an den OidRequest-Parameter von ProtocolCoOidRequestComplete. NDIS übergibt den endgültigen Status der Anforderung am Statusparameter von ProtocolCoOidRequestComplete.

Wenn NdisCoOidRequest NDIS_STATUS_SUCCESS zurückgibt, werden die Ergebnisse einer Abfrageanforderung in der NDIS_OID_REQUEST Struktur an den OidRequest-Parameterpunkten zurückgegeben. In diesem Fall ruft NDIS die ProtocolCoOidRequestComplete-Funktion nicht auf.

Wenn ein zugrunde liegender Treiber die OID-Anforderung einer nachfolgenden Statusanzeige zuordnen soll, sollte der Protokolltreiber die Elemente "RequestId " und " RequestHandle " in der NDIS_OID_REQUEST-Struktur festlegen. Wenn der zugrunde liegende Treiber eine Statusanzeige macht, legt der Treiber das RequestId-Mitglied in der NDIS_STATUS_INDICATION-Struktur auf den Wert aus dem RequestId-Mitglied der NDIS_OID_REQUEST-Struktur und das DestinationHandle-Mitglied in der NDIS_STATUS_INDICATION-Struktur auf den Wert aus dem RequestHandle-Mitglied der NDIS_OID_REQUEST-Struktur fest.

Ein Treiber kann NdisCoOidRequest aufrufen, wenn sich eine Bindung im Zustand "Restarting", " Running", "Pausing" oder "Paused " befindet.