PF Miniport 驅動程式的 DriverEntry 指導方針
本主題描述為 PCI Express (PCIe) 實體函式 (PF) 的 miniport 驅動程式撰寫 DriverEntry 函式的指導方針。 PF 是網路介面卡的元件,可支援單一根目錄 I/O 虛擬化 (SR-IOV) 。
注意 這些指導方針僅適用于 PF 迷你埠驅動程式。 如需 PCIe 虛擬函式 (VF) 配接器的迷你埠驅動程式初始化指導方針,請參閱 初始化 VF Miniport 驅動程式。
SR-IOV 網路介面卡必須實作硬體橋接器,以透過介面卡上的實體埠和內部虛擬埠轉送網路流量, (VPorts) 。 此橋接器稱為 NIC 交換器。 如需詳細資訊,請參閱 NIC 參數。
如果 PF 迷你埠驅動程式支援在 SR-IOV 網路介面卡上靜態建立 NIC 交換器,則可能需要在為裝置堆疊中的網路介面卡建立功能裝置物件 (FDO) 時配置交換器資源。 在此情況下,驅動程式必須在 NDIS 呼叫 MiniportInitializeEx之前配置這些資源。 若要這樣做,驅動程式必須註冊選擇性的隨插即用 (PnP) 處理常式,以便在從裝置堆疊新增或移除介面卡的 FDO 時參與程式。
迷你埠驅動程式必須提供 MiniportSetOptions 函 式來註冊這些 PnP 處理常式函式。 若要這樣做,驅動程式會遵循呼叫其 DriverEntry 函式的內容中的下列步驟:
迷你埠驅動程式會使用MiniportXxx函式的進入點,初始化NDIS_MINIPORT_DRIVER_CHARACTERISTICS結構。 特別是,驅動程式會將 SetOptionsHandler 成員設定為驅動程式 MiniportSetOptions 函式的進入點。
迷你埠驅動程式會呼叫 NdisMRegisterMiniportDriver 函 式來註冊其進入點。 從此呼叫的內容中,NDIS 會呼叫驅動程式的 MiniportSetOptions 函 式
當 NDIS 呼叫 MiniportSetOptions時,迷你埠驅動程式會呼叫 NdisSetOptionalHandlers 函式,並指定 NDIS_MINIPORT_PNP_CHARACTERISTICS 結構。 此結構會定義 MiniportAddDevice、 MiniportRemoveDevice、 MiniportStartDevice和 MiniportFilterResourceRequirements 函式的 進入點。 當 NDIS 處理 PnP I/O 要求封包時,NDIS 會呼叫這些處理常式函式, (PCI 匯流排驅動程式發出) IRP。
如果在 NDIS 呼叫驅動程式 的 MiniportInitializeEx 函式之前,PF 迷你埠驅動程式必須為 NIC 參數配置額外的軟體資源,驅動程式必須註冊 MiniportAddDevice 函式。 當 NDIS 呼叫 MiniportAddDevice 函式時,PF 迷你埠驅動程式可以呼叫 NdisReadConfiguration ,從登錄讀取 NIC 參數組態關鍵字設定。 如需這些關鍵字的詳細資訊,請參閱 SR-IOV 的標準化 INF 關鍵字。
如需MiniportAddDevice函式指導方針的詳細資訊,請參閱PF Miniport Drivers 的 MiniportAddDevice指導方針。
如需如何建立 NIC 參數的詳細資訊,請參閱 建立 NIC 交換器。