過度的驅動程式或使用者模式應用程式會發出OID_NIC_SWITCH_ENUM_VFS的物件標識碼 (OID) 方法要求,以取得數位。 數位列中的每個元素都會指定連接至網路適配器 NIC 交換器上 NIC 交換器之 PCI Express (PCIe) 虛擬函式 (VF) 的屬性。
從這個 OID 查詢要求成功傳回之後,NDIS_OID_REQUEST 結構 InformationBuffer 成員包含緩衝區的指標,其中包含下列內容:
定義陣列內元素數目的 NDIS_NIC_SWITCH_VF_INFO_ARRAY 結構。
NDIS_NIC_SWITCH_VF_INFO 結構的陣列。 每個結構都包含網路適配器 NIC 交換器上單一 VF 的相關信息。 VF 會透過 OID_NIC_SWITCH_ALLOCATE_VF的 OID 方法要求,連接到 NIC 交換器。
注意 如果網路適配器上沒有連結 NIC 交換器,NumElementsNDIS_NIC_SWITCH_VF_INFO_ARRAY 結構的成員會設定為零,而且不會傳回任何 NDIS_NIC_SWITCH_VF_INFO 結構。
言論
過度配置驅動程式和使用者模式應用程式發出 OID 方法要求,OID_NIC_SWITCH_ENUM_VFS列舉附加至網路適配器 NIC 交換器的 VF。
在驅動程式或應用程式發出 OID 要求之前,它必須初始化與要求一起傳遞的 NDIS_NIC_SWITCH_VF_INFO_ARRAY 結構。 初始化 NDIS_NIC_SWITCH_VF_INFO_ARRAY 結構時,驅動程式或應用程式必須遵循下列指導方針:
如果在 Flags 成員中設定NDIS_NIC_SWITCH_VF_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH旗標,驅動程式或應用程式必須將 SwitchId 成員設定為 SR-IOV 網路適配器上的 NIC 交換器標識符。 藉由以這種方式設定這些成員,VF 資訊只會針對 SR-IOV 網路適配器上的指定 NIC 交換器傳回。
附註 過度的驅動程式和使用者模式應用程式可以發出 OID_NIC_SWITCH_ENUM_SWITCHES的 OID 查詢要求來取得 NIC 交換器識別碼。
如果 旗標 成員設為零,驅動程式或應用程式必須將 SwitchId 成員設定為零。 藉由以這種方式設定這些成員,就會針對 SR-IOV 網路適配器上的所有 NIC 交換器傳回 VF 資訊。
注意 從 Windows Server 2012 開始,Windows 僅支援網路適配器上的預設 NIC 交換器。 不論在 Flags 成員中設定的旗標為何,SwitchId 成員都必須設定為 NDIS_DEFAULT_SWITCH_ID。
如需 NIC 參數的詳細資訊,請參閱 NIC 參數。
傳回狀態代碼
NDIS 會處理迷你埠驅動程式OID_NIC_SWITCH_ENUM_VFS要求的 OID 方法要求。 驅動程式將不會發出此 OID 要求。
當 NDIS 處理OID_NIC_SWITCH_ENUM_VFS要求時,它會傳回下列其中一個狀態代碼。
| 狀態代碼 | 描述 |
|---|---|
NDIS_STATUS_SUCCESS |
OID 要求已順利完成。 |
NDIS_STATUS_NOT_SUPPORTED |
迷你埠驅動程式不支援單一根目錄 I/O 虛擬化 (SR-IOV) 介面,或未啟用使用 介面。 |
NDIS_STATUS_INVALID_PARAMETER |
NDIS_NIC_SWITCH_VF_INFO_ARRAY 結構的一或多個成員具有無效的值。 |
NDIS_STATUS_INVALID_LENGTH |
信息緩衝區太短。 NDIS 會設定 DATA。METHOD_INFORMATION。BytesNeededNDIS_OID_REQUEST 結構中的成員,以所需的緩衝區大小下限。 |
NDIS_STATUS_FAILURE |
要求因其他原因而失敗。 |
要求
版本 |
NDIS 6.30 和更新版本支援。 |
頁眉 |
Ntddndis.h (包括 Ndis.h) |