SRIOV_GET_VENDOR_AND_DEVICE_IDS回呼函式 (pcivirt.h)
提供PCI Express SR-IOV 虛擬函式的廠商和裝置識別碼 (VF) ,以用於產生 VF 的更一般 隨插即用 識別碼。 這些標識碼無法直接從 VF 的組態空間讀取。
語法
SRIOV_GET_VENDOR_AND_DEVICE_IDS SriovGetVendorAndDeviceIds;
void SriovGetVendorAndDeviceIds(
[in] PVOID Context,
[in] USHORT VfIndex,
[out] PUSHORT VendorId,
[out] PUSHORT DeviceId
)
{...}
參數
[in] Context
驅動程式定義內容的指標。
[in] VfIndex
套用此寫入作業之 VF 的以零起始的索引。
[out] VendorId
以 VF 廠商識別碼填入的 USHORT 變數指標。
[out] DeviceId
已填入 VF 裝置識別碼的 USHORT 變數指標。
傳回值
無
備註
此回呼函式是由實體函式實作, (PF) 驅動程式。 當系統想要擷取指定 VF 的廠商和裝置識別碼時,就會叫用它。
PCI Express SR-IOV 規格要求所有 VFS 具有相同的廠商和裝置識別碼。 這是相容硬體的需求。 不過,您可以佈建 VF,使其功能彼此不同,而且通常很適合在不同的硬體上載入不同的驅動程式。 因此,Windows 可讓 PF 驅動程式透過組態空間介面) 提供個別的裝置和廠商標識碼, (提供不同的類別代碼,讓每個 VF 可能會與最適合其使用的 隨插即用 標識符一起出現。
PF 驅動程式會藉由設定SRIOV_DEVICE_INTERFACE_STANDARD的 GetVendorAndDevice 成員、設定WDF_QUERY_INTERFACE_CONFIG結構,以及呼叫 WdfDeviceAddQueryInterface 來註冊其實作。
以下是這個回呼函式的範例實作。
Virtualization_GetVendorAndDevice (
_In_ PVOID Context,
_In_ USHORT VfIndex,
_Out_ PUSHORT VendorId,
_Out_ PUSHORT DeviceId
)
{
PDEVICE_CONTEXT deviceContext;
UNREFERENCED_PARAMETER(VfIndex);
PAGED_CODE();
deviceContext = (PDEVICE_CONTEXT)Context;
*VendorId = deviceContext->VendorId;
*DeviceId = deviceContext->DeviceId;
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 10 |
最低支援的伺服器 | Windows Server 2016 |
目標平台 | Windows |
標頭 | pcivirt.h |
IRQL | PASSIVE_LEVEL |