Reagieren auf Sätze und Abfragen in einem Zwischentreiber
Da ein NDIS-Zwischentreiber an einen überlastenden NDIS-Treiber gebunden ist, kann er auch Abfragen und Sätze von seiner MiniportOidRequest-Funktion empfangen. In einigen Fällen leitet der Zwischentreiber solche Anforderungen einfach an den zugrunde liegenden Miniporttreiber weiter. Andernfalls kann er auf diese Abfragen reagieren und für das Medium, das er am oberen Rand exportiert, entsprechend festlegen. Beachten Sie, dass ein Zwischentreiber immer alle OID_PNP_Xxx-Anforderungen durchlaufen muss, die er von einem überlastenden NDIS-Treiber an den zugrunde liegenden Miniporttreiber empfängt. NDIS 6.0-Zwischentreiber können auch OID-Anforderungen abbrechen.
Um eine Anforderung an die zugrunde liegenden Treiber weiterzuleiten, ruft ein NDISAllocateCloneOidRequest auf, um eine geklonte NDIS_OID_REQUEST Struktur zuzuweisen. Der Treiber ruft die NdisOidRequest-Funktion auf, um die Anforderung zu senden. Wenn die Anforderung abgeschlossen ist, muss der Treiber die NdisFreeCloneOidRequest-Funktion aufrufen, um die NDIS_OID_REQUEST-Struktur freizusetzen.
Um eine OID-Anforderung abzubrechen, rufen Sie die NdisCancelOidRequest-Funktion auf.
In der Regel sind die allgemeinen OIDs, die ein Zwischentreiber empfängt, identisch oder ähneln denen, die der zwischengeschaltete Treiber an den zugrunde liegenden Miniporttreiber sendet. Die mittelspezifischen OIDs, die ein Zwischentreiber empfängt, sind der Typ des Mediums, das der überlastende Treiber benötigt.
Wenn ein Zwischentreiber selbst die Einstellung einer OID verarbeitet, anstatt die Setanforderung an einen zugrunde liegenden Miniport zu übergeben, sollte er den festzulegenden Wert überprüfen. Wenn der Zwischentreiber feststellt, dass der festzulegende Wert außerhalb der Grenzen liegt, sollte die Setanforderung fehlschlagen.
Hinweis Wenn ein Zwischentreiber den Inhalt der TCP-Netzwerkdaten ändert, die er an einen zugrunde liegenden Miniporttreiber weiterleitet, sodass TCP-Auslagerungsfunktionen für die Netzwerkdaten nicht ausgeführt werden können, sollte der Zwischentreiber auf OID_TCP_OFFLOAD_CURRENT_CONFIG Abfragen mit einem status von NDIS_STATUS_NOT_SUPPORTED reagieren, anstatt die Anforderung an den zugrunde liegenden Miniport weiterzuleiten.
Weitere Informationen zum Reagieren auf Sätze und Abfragen in einem Zwischentreiber finden Sie unter Abrufen und Festlegen von Miniporttreiberinformationen und NDIS-Unterstützung für WMI.