Vorgänge zum Aufheben der Bindung von Zwischentreibern
Ein Zwischentreiber hebt die Bindung an einen zugrunde liegenden Miniporttreiber auf, indem er NdisCloseAdapterEx über seine ProtocolUnbindAdapterEx-Funktion aufruft . NDIS ruft ProtocolUnbindAdapterEx auf, wenn der zugrunde liegende Miniportadapter nicht mehr verfügbar ist.
Die ProtocolUnbindAdapterEx-Funktion eines Zwischentreibers kann aufgerufen werden, wenn der Treiber einen ausstehenden Aufruf von NdisIMInitializeDeviceInstanceEx aufweist. Diese Situation tritt auf, wenn NDIS noch nicht MiniportInitializeEx aufgerufen hat, um die entsprechenden virtuellen Miniports zu initialisieren. In diesem Fall muss der Zwischentreiber NdisIMCancelInitializeDeviceInstance aufrufen, um die Initialisierung dieser virtuellen Miniports abzubrechen.
Wenn die geschlossene Bindung einem vom Zwischentreiber exportierten Gerät zugeordnet ist und dieses Gerät durch Aufrufen von NdisIMInitializeDeviceInstanceEx initialisiert wurde, kann der Zwischentreiber NdisIMDeInitializeDeviceInstance aufrufen, um das Gerät zu schließen. Das ergebnis ist, dass der virtuelle Miniport des zwischengeschalteten Treibers nicht mehr für Senden oder Anforderungen von übergeordneten Treibern verfügbar wird.
Wenn ein NDIS-Zwischentreiber die Funktion NdisIMDeInitializeDeviceInstance aufruft , ruft NDIS die MiniportHaltEx-Funktion für den betroffenen virtuellen Miniport auf. Informationen zum Behandeln des Angehalten-Vorgangs für virtuelle Miniports finden Sie unter Anhalten eines virtuellen Miniports.
Nachdem ein Zwischentreiber NdisCloseAdapterEx aufruft, sollten alle Sendeanforderungen für diese Bindung mit einem entsprechenden Fehler status fehlschlagen.
Weitere Informationen zu Vorgängen zum Aufheben der Bindung von Zwischentreibern finden Sie unter Aufheben der Bindung von einem Adapter.