共用方式為


NdisMInvalidateConfigBlock 函式 (ndis.h)

迷你埠驅動程式會呼叫 NdisMInvalidateConfigBlock 函式,以通知 NDIS 一或多個虛擬函式的數據 (VF) 組態區塊已變更。

注意NdisMInvalidateConfigBlock 只能由網路適配器 PCIe 實體函式的迷你埠驅動程式呼叫, (PF) 。
 

語法

void NdisMInvalidateConfigBlock(
  [in] NDIS_HANDLE            NdisMiniportHandle,
  [in] NDIS_SRIOV_FUNCTION_ID VFId,
  [in] ULONGLONG              BlockMask
);

參數

[in] NdisMiniportHandle

NDIS 傳遞給 MiniportInitializeExMiniportAdapterHandle 參數的網路適配器句柄。

[in] VFId

傳回裝置位置之 VF 的標識碼。

[in] BlockMask

ULONGLONG 值,指定前 64 個 VF 組態區塊的位掩碼。 位掩碼中的每個位都會對應至 VF 組態區塊。 如果位設定為 1,則與對應 VF 組態區塊相關聯的數據已變更。

傳回值

備註

VF 組態區塊用於 PF 與 VF 迷你埠驅動程式之間的反向通道通訊。 IHV 可以定義裝置的一或多個 VF 組態區塊。 每個 VF 組態區塊都有 IHV 定義的格式、長度和區塊識別碼。

注意 來自每個 VF 組態區塊的數據只會由 PF 和 VF 迷你埠驅動程式使用。
 
VF 設定資料會在下列驅動程式之間交換:
  • 在客體作業系統中執行的 VF 驅動程式。 此操作系統會在 Hyper-V 子分割內執行。
  • 在管理作業系統中執行的 PF 驅動程式。

    此操作系統會在 Hyper-V 父分割區內執行。

若要處理無效 VF 設定數據的通知,NDIS 和迷你埠驅動程式會執行下列步驟:
  1. 在客體操作系統中,NDIS 發出 IOCTL_VPCI_INVALIDATE_BLOCK 要求的 I/O 控制要求。 完成此 IOCTL 時,NDIS 會收到 VF 設定數據已變更的通知。
  2. 在管理作業系統中,會發生下列步驟:
    1. PF 迷你埠驅動程式會呼叫 NdisMInvalidateConfigBlock 函式來通知 NDIS VF 設定數據已變更且不再有效。
    2. NDIS 會向在管理作業系統中執行的虛擬化堆疊發出訊號,告知 VF 設定區塊數據的變更。 虛擬化堆疊會快取 BlockMask 參數數據。
      注意 每次 PF 迷你埠驅動程式呼叫 NdisMInvalidateConfigBlock 時,虛擬化堆棧 ORS BlockMask 參數數據在其快取中具有目前值。
       
    3. 虛擬化堆疊會通知虛擬PCI (在客體作業系統中執行的PCII) 驅動程式,說明 VF 設定資料的失效。 虛擬化堆疊會將快取的 BlockMask 參數數據傳送至 APII 驅動程式。
  3. 在客體操作系統中,會發生下列步驟:
    1. 在與IOCTL_VPCI_INVALIDATE_BLOCK要求相關聯的 VPCI_INVALIDATE_BLOCK_OUTPUT 結構 BlockMask 成員中,將快取的 BlockMask 參數數據儲存在IOCTL_VPCI_INVALIDATE_BLOCK驅動程式中。
    2. IOCTL_VPCI_INVALIDATE_BLOCK驅動程式成功完成 IOCTL_VPCI_INVALIDATE_BLOCK 要求。 發生這種情況時,NDIS 會發出 VF 迷你埠驅動程式OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK的 OID 方法要求。 NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO要求會在 OID 要求中一起傳遞。 此結構包含快取的 BlockMask 參數數據。

      NDIS 也會發出另一個 IOCTL_VPCI_INVALIDATE_BLOCK 要求,以處理 VF 設定數據變更的後續通知。

    3. 當 VF 驅動程式處理 OID_SRIOV_VF_INVALIDATE_CONFIG_BLOCK 要求時,它會從指定的 VF 組態區塊讀取數據。
如需單一根目錄 I/O 虛擬化 (SR-IOV) 介面內後端通道通訊的詳細資訊,請參閱 SR-IOV PF/VF Backchannel Communication

如需 SR-IOV 介面的詳細資訊,請參閱 單一根目錄 I/O 虛擬化概觀 (SR-IOV)

規格需求

需求
最低支援的用戶端 NDIS 6.30 和更新版本中不支援,不支援。
最低支援的伺服器 Windows Server 2012
目標平台 Universal
標頭 ndis.h (包含 Ndis.h)
程式庫 Ndis.lib
IRQL <= DISPATCH_LEVEL

另請參閱

IOCTL_VPCI_INVALIDATE_BLOCK

NDIS_SRIOV_VF_INVALIDATE_CONFIG_BLOCK_INFO

OID_SRIOV_READ_VF_CONFIG_SPACE

VPCI_INVALIDATE_BLOCK_OUTPUT