CoNDIS Miniport-Treiber OID-Anforderungen
NDIS ruft die MiniportCoOidRequest-Funktion eines CoNDIS-Miniporttreibers auf, um eine OID-Anforderung zum Abfragen oder Festlegen von Informationen im Treiber zu übermitteln. NDIS ruft MiniportCoOidRequest entweder im eigenen Namen oder im Namen eines überlastenden Treibers auf, der die NdisCoOidRequest-Funktion aufgerufen hat.
NDIS übergibt MiniportCoOidRequest einen Zeiger an eine NDIS_OID_REQUEST Struktur, die die Anforderungsinformationen enthält. Die Anforderungsstruktur enthält einen OID_Xxx-Bezeichner , der den Typ der Anforderung und andere Member angibt, um die Anforderungsdaten zu definieren.
Das Timeoutelement gibt ein Timeout in Sekunden für die Anforderung an. NDIS kann den Treiber zurücksetzen oder die Anforderung abbrechen, wenn das Timeout abläuft, bevor der Treiber die Anforderung abgeschlossen hat.
Das RequestId-Mitglied gibt einen optionalen Bezeichner für die Anforderung an. Miniporttreiber können den RequestId-Member einer status-Angabe auf den Wert festlegen, den der Treiber aus dem RequestId-Member einer zugeordneten OID-Anforderung abgerufen hat. In der Regel können Miniporttreiber diesen Member ignorieren. Wenn ein Treiber diesen Member festlegen muss, muss der Treiber einen der erforderlichen Werte verwenden, die auf der Referenzseite für die jeweilige OID angegeben sind. Weitere Informationen zu status Indikationen finden Sie unter CoNDIS Miniport Driver Status Indications.
Ein Miniporttreiber kann eine OID-Anforderung synchron abschließen, indem er einen erfolgreichen oder fehlerhaften status zurückgibt. Der Treiber kann eine OID-Anforderung asynchron ausführen, indem er NDIS_STATUS_PENDING zurückgibt. In diesem Fall muss der Treiber die NdisMCoOidRequestComplete-Funktion aufrufen, um den Vorgang abzuschließen.
Wenn die MiniportCoOidRequest-Funktion NDIS_STATUS_PENDING zurückgibt, kann NDIS MiniportCoOidRequest mit einer anderen Anforderung für den Adapter aufrufen, bevor die ausstehende Anforderung abgeschlossen ist. Beachten Sie, dass sich dies von der verbindungslosen NDIS-Schnittstelle unterscheidet, bei der alle OID-Anforderungen serialisiert werden.
NDIS kann die MiniportCancelOidRequest-Funktion eines Miniporttreibers aufrufen, um eine CoNDIS-OID-Anforderung abzubrechen.