中繼驅動程式解除系結作業
中繼驅動程式會從基礎迷你埠驅動程式解除系結,方法是從其ProtocolUnbindAdapterEx函式呼叫NdisCloseAdapterEx。 如果基礎迷你埠配接器已無法使用,NDIS 會呼叫 ProtocolUnbindAdapterEx 。
當驅動程式呼叫NdisIMInitializeDeviceInstanceEx時,可能會呼叫中繼驅動程式的ProtocolUnbindAdapterEx函式。 當 NDIS 尚未呼叫 MiniportInitializeEx 來初始化對應的虛擬迷你埠時,就會發生這種情況。 在此情況下,中繼驅動程式必須呼叫 NdisIMCancelInitializeDeviceInstance ,以嘗試取消這些虛擬迷你埠的初始化。
如果正在關閉的系結會對應至中繼驅動程式所匯出的裝置,而且如果該裝置是透過呼叫 NdisIMInitializeDeviceInstanceEx初始化,則中繼驅動程式可以呼叫 NdisIMDeInitializeDeviceInstance 來關閉裝置。 結果是中繼驅動程式的虛擬迷你埠不再可供較高層級驅動程式傳送或要求使用。
如果 NDIS 中繼驅動程式呼叫 NdisIMDeInitializeDeviceInstance 函式,NDIS 會針對受影響的虛擬迷你埠呼叫 MiniportHaltEx 函式。 如需處理虛擬迷你埠停止作業的相關資訊,請參閱 停止虛擬迷你埠。
中繼驅動程式呼叫 NdisCloseAdapterEx之後,它應該會失敗該系結的任何傳送要求,並具有適當的錯誤狀態。
如需中繼驅動程式解除系結作業的詳細資訊,請參閱 從配接器解除系結。