當網路裝置可供使用時,系統會載入 NDIS 迷你埠驅動程式來管理裝置(如果尚未載入驅動程式)。 每個迷你埠驅動程式都必須提供 DriverEntry 函式。 系統會在載入驅動程序之後呼叫 DriverEntry。 DriverEntry 向 NDIS 註冊迷你埠驅動程式的特性(包括支援的 NDIS 版本和驅動程式進入點)。
驅動程式物件的指標,該物件是由 I/O 系統所建立。
登錄路徑的指標,指定儲存驅動程式特定參數的位置。
在 DriverEntry中,迷你埠驅動程式會將這兩個指標傳遞至 NdisMRegisterMiniportDriver 函式。 Miniport 驅動程式會匯出一組標準 MiniportXxx 函式,方法是將其進入點儲存在 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 結構中,並將該結構傳遞至 NdisMRegisterMiniportDriver。
Miniport 驅動程式的 DriverEntry 會傳回呼叫 NdisMRegisterMiniportDriver所傳回的值。
驅動程式會在 DriverEntry中執行任何小型端口驅動程式需要的特定初始化。 驅動程式會在 MiniportInitializeEx 函式中執行配接器特定的初始化。 如需配接器初始化的詳細資訊,請參閱 初始化配接器。
DriverEntry 可以在堆疊上分配 NDIS_MINIPORT_DRIVER_CHARACTERISTICS 結構,因為 NDIS 函式庫會將相關資訊複製到其自己的儲存中。 DriverEntry 應該先清除具有 NdisZeroMemory 這個結構的記憶體,再在其成員中設定任何驅動程式提供的值。 MajorNdisVersion 和 MinorNdisVersion 成員必須包含驅動程式支援的 NDIS 主要和次要版本。 在每個 XxxHandler 特性結構的成員中,DriverEntry 必須設定驅動程式提供的 MiniportXxx 函式的進入點,或成員必須 NULL。
若要讓迷你埠驅動程式設定選擇性服務,NDIS 會在迷你埠驅動程式呼叫 NdisMRegisterMiniportDriver的內容中呼叫 MiniportSetOptions 函式。 如需選用服務的詳細資訊,請參閱 設定選用迷你埠驅動程式服務。
呼叫 NdisMRegisterMiniportDriver 的驅動程式必須準備好讓 NDIS 在 DriverEntry 傳回之後隨時呼叫其 MiniportInitializeEx 函式。 這類驅動程式必須將足夠的安裝和設定資訊儲存在登錄中,或透過呼叫 NdisXxx 總線類型特定的組態函式來取得,以便配置驅動程式需要的任何 NIC 的特定資源,以進行網路 I/O 作業。
迷你埠驅動程式最終必須呼叫 NdisMDeregisterMiniportDriver,以釋放它透過呼叫 NdisMRegisterMiniportDriver所配置的資源。 如果驅動程式初始化在呼叫 NdisMRegisterMiniportDriver 成功之後失敗,驅動程式可以從 DriverEntry內呼叫 NdisMDeregisterMiniportDriver。 否則,迷你埠驅動程序必須釋放其 MiniportDriverUnload 函式中配置的驅動程式特定資源。 換句話說,如果 NdisMRegisterMiniportDriver 未傳回 NDIS_STATUS_SUCCESS,DriverEntry 必須釋放它在傳回控制之前配置的任何資源。 如果發生這種情況,將不會載入驅動程式。 如需詳細資訊,請參閱 卸除迷你埠驅動程式。