Freigeben über


CoNDIS MCM OID-Anforderungen

Wie andere CoNDIS-Anrufmanager können Miniport-Anrufmanager (MCMs) die Betriebsparameter von CoNDIS-Clienttreibern abfragen oder festlegen. CoNDIS-Clienttreiber können die Parameter des Anruf-Managers oder die Miniporttreiberparameter eines MCM abfragen oder festlegen.

Um eine OID-Anforderung an einen CoNDIS-Clienttreiber zu erstellen, ruft ein MCM die NdisMCmOidRequest-Funktion auf.

Die folgende Abbildung zeigt eine OID-Anforderung, die von einem MCM initiiert wurde.

Diagramm mit einer OID-Anforderung, die von einem MCM stammt.

Nachdem ein MCM-Treiber die NdisMCmOidRequest-Funktion aufruft, ruft NDIS die ProtocolCoOidRequest-Funktion des Clienttreibers auf.

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

Wenn NdisMCmOidRequest NDIS_STATUS_PENDING zurückgibt, ruft NDIS die ProtocolCoOidRequestComplete-Funktion des MCM auf, nachdem die Clienttreiber die OID-Anforderung abgeschlossen haben, indem die Funktion NdisCoOidRequestComplete 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 NdisMCmOidRequest NDIS_STATUS_SUCCESS zurückgibt, werden die Ergebnisse einer Abfrageanforderung in der NDIS_OID_REQUEST Struktur im OidRequest-Parameter zurückgegeben. In diesem Fall ruft NDIS die ProtocolCoOidRequestComplete-Funktion des MCM nicht auf.

CoNDIS-Clienttreiber können die Betriebsparameter des Anruf-Managers oder miniport-Betriebsparameter von MCMs abfragen oder festlegen. Um eine OID-Anforderung für MCM-Aufruf-Manager-Parameter zu erstellen, ruft ein Client die NdisCoOidRequest-Funktion auf und stellt eine gültige Adressfamilie (AF)-Handle am NdisAfHandle-Parameter bereit. Um eine OID-Anforderung für MCM-Miniportparameter zu erstellen, ruft ein Client die NdisCoOidRequest-Funktion auf und legt den AF-Handle auf NULL fest.

Nachdem ein Client die NdisCoOidRequest-Funktion aufruft, ruft NDIS entweder die MiniportCoOidRequest-Funktion oder die ProtocolCoOidRequest-Funktion des MCM-Treibers auf.

Die folgende Abbildung zeigt eine OID-Anforderung für die Miniportparameter des MCM.

Diagramm, das eine OID-Anforderung für die Miniportparameter eines MCM darstellt.

Die folgende Abbildung zeigt eine OID-Anforderung für die Anruf-Manager-Parameter des MCM.

Diagramm, in dem eine OID-Anforderung für die Anruf-Manager-Parameter eines MCM angezeigt wird.

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

Wenn ProtocolCoOidRequest oder MininportCoOidRequest NDIS_STATUS_PENDING zurückgibt, ruft NDIS die ProtocolCoOidRequestComplete-Funktion des Clients auf, nachdem der MCM die OID-Anforderung abgeschlossen hat, indem die Funktion NdisMCoOidRequestComplete oder NdisMCmOidRequestComplete 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 im OidRequest-Parameter zurückgegeben. In diesem Fall ruft NDIS die ProtocolCoOidRequestComplete-Funktion des Clients nicht auf.