當網路裝置可供使用時,如果系統尚未載入所需的 NDIS 迷你埠驅動程式,則系統會載入該驅動程式。 接著,即插即用 (PnP) 管理員會傳送 NDIS 隨插即用 IRP 來啟動裝置。 NDIS 會呼叫 miniport 驅動程式的 MiniportInitializeEx 函式,以初始化網路 I/O 作業的配接器。 NDIS 可以在驅動程式初始化后隨時呼叫 MiniportInitializeEx。 如需迷你連接埠驅動程式初始化的詳細資訊,請參閱 初始化 Miniport Driver。
在 MiniportInitializeEx 傳回之前,NDIS 不會針對要初始化的配接器提交任何要求。 配接器處於初始化狀態。
迷你埠驅動程式通常會在 MiniportInitializeEx中執行下列工作:
取得配接器的組態資訊。
取得適配卡硬體資源的相關信息。
呼叫 NdisMSetMiniportAttributes,並提供下列與配接器相關聯的屬性:
- 驅動程式配置內容區域的指標。
- 適當的屬性旗標。
- 呼叫其 MiniportCheckForHangEx 函式的超時時間間隔。
- 介面類型。
初始化配接器特定資源。
miniport 驅動程式會指定 NDIS_MINIPORT_ADAPTER_ATTRIBUTES 結構中的配接器屬性,MiniportInitializeEx 傳遞至 NdisMSetMiniportAttributes。
一般而言,MiniportInitializeEx 依下列順序配置配接器特定資源:
非分頁集區記憶體。
NET_BUFFER 和 NET_BUFFER_LIST 集區(請參閱 Miniport Driver Send and Receive Operations)。
自旋鎖。
定時器。
IO 埠。
DMA (請參閱 散佈/集結 DMA)。
共用記憶體。
中斷(請參閱管理中斷)。
MiniportInitializeEx 成功傳回之後,配接器會處於暫停狀態。 NDIS 可以呼叫 MiniportRestart 函式,將配接器轉換為執行中狀態。 如需詳細資訊,請參閱 啟動迷你連接埠配接器。
如果 MiniportInitializeEx 傳回NDIS_STATUS_SUCCESS,驅動程式應該釋放 MiniportHaltEx 函式中配接器的所有資源。 如需詳細資訊,請參閱 停止迷你連接埠配接器。
驅動程式必須呼叫 NdisMSetMiniportAttributes,並在傳回NDIS_STATUS_SUCCESS時,在 NDIS_MINIPORT_ADAPTER_ATTRIBUTES 結構中設定 GeneralAttributes。
如果 MiniportInitializeEx 失敗,則在返回之前,MiniportInitializeEx 必須釋放其配置的所有資源,並且適配器會回到停止狀態。