共用方式為


啟動驅動程式堆疊

系統偵測到網路裝置之後,系統會啟動裝置的 NDIS 驅動程式堆疊。 裝置可以是虛擬裝置或實體裝置。 在任一情況下,驅動程式堆疊啟動作業會繼續進行,如下所示:

  1. 如果驅動程式尚未載入,系統會載入並初始化驅動程式。

    它不會以任何特定順序載入驅動程式。

  2. 系統會呼叫每個驅動程式的 DriverEntry 函式

    DriverEntry傳回之後:

    • 裝置的迷你埠介面卡處於已停止狀態。
    • 篩選模組處於中斷連結狀態。
    • 通訊協定系結處於未系結狀態。
  3. 系統會要求 NDIS 啟動迷你埠配接器。

    若要初始化迷你埠配接器,NDIS 會呼叫迷你埠驅動程式的 MiniportInitializeEx 函式。 如果 MiniportInitializeEx 成功,迷你埠配接器就會進入暫停狀態。

  4. NDIS 會附加篩選模組,從最接近迷你埠驅動程式的模組開始,並前進到驅動程式堆疊頂端。

    若要要求驅動程式將篩選模組附加至驅動程式堆疊,NDIS 會呼叫篩選驅動程式的 FilterAttach 函式。 如果每個附加作業都成功,篩選模組就會進入暫停狀態。

  5. 所有基礎驅動程式都處於 Paused 狀態之後,NDIS 會呼叫通訊協定驅動程式的 ProtocolBindAdapterEx 函式。

    然後通訊協定驅動程式系結會進入開啟狀態。 通訊協定驅動程式會呼叫 NdisOpenAdapterEx 函式,以使用迷你埠配接器開啟系結。

  6. NDIS 會配置系結的必要資源,並呼叫通訊協定驅動程式的 ProtocolOpenAdapterCompleteEx 函式。

    系結會進入暫停狀態。

  7. 若要完成系結作業,通訊協定驅動程式會呼叫 NdisCompleteBindAdapterEx 函式。

  8. NDIS 會重新開機驅動程式堆疊。 如需重新開機驅動程式堆疊的詳細資訊,請參閱 重新開機驅動程式堆疊