WHvAllocateVpciResource

Bir sanal cihazı yedeklemek için bir sanal PCI (VPCI) kaynağı ayırır.

Sözdizimi

typedef enum WHV_ALLOCATE_VPCI_RESOURCE_FLAGS
{
    WHvAllocateVpciResourceFlagNone = 0x00000000,
    WHvAllocateVpciResourceFlagAllowDirectP2P = 0x00000001
} WHV_ALLOCATE_VPCI_RESOURCE_FLAGS;

// Enables bitwise operators on the WHV_ALLOCATE_VPCI_RESOURCE_FLAGS enumeration.
DEFINE_ENUM_FLAG_OPERATORS(WHV_ALLOCATE_VPCI_RESOURCE_FLAGS);

HRESULT
WINAPI
WHvAllocateVpciResource(
    _In_opt_ const GUID* ProviderId,
    _In_ WHV_ALLOCATE_VPCI_RESOURCE_FLAGS Flags,
    _In_reads_opt_(ResourceDescriptorSizeInBytes) const VOID* ResourceDescriptor,
    _In_ UINT32 ResourceDescriptorSizeInBytes,
    _Out_ HANDLE* VpciResource
    );

Parameters

ProviderId

Kaynak sağlayıcısının tanımlayıcısını belirtir. SR-IOV bir sanal işlev, ayrı olarak atanabilir bir fiziksel işlev veya herhangi bir fiziksel kaynak tarafından desteklenmeyen bir sanal cihaz ayırmak için belirtin NULL . NULLdeğilse, GUID ayırmayı işleyen sistemde yüklü kayıtlı bir kaynak sağlayıcısını tanımlar.

Flags

Ayrılmış kaynak için sistem tanımlı seçenekleri değerlerin WHV_ALLOCATE_VPCI_RESOURCE_FLAGS bir bileşimi olarak belirtir.

ResourceDescriptor

Ayrılacak kaynakları tanımlayan bir arabelleğe yönelik bir işaretçi belirtir. NULL ise ProviderId ve bu parametre de NULLise, işlev boş bir kaynak ayırır. Aksi takdirde, ise ProviderIdNULL, bu parametre bir WHV_SRIOV_RESOURCE_DESCRIPTOR yapıya işaret etmelidir. değilse ProviderIdNULL, bu parametre ayırma isteğini işleyen kaynak sağlayıcısına değiştirilmemiş olarak geçirilen opak bir arabelleğe işaret eder.

ResourceDescriptorSizeInBytes

Arabelleğin bayt cinsinden ResourceDescriptor boyutunu belirtir.

VpciResource

Ayrılan kaynağı temsil eden bir tanıtıcı alır.

Dönüş Değeri

İşlev başarılı olursa, dönüş değeri olur S_OK.

Temel alınan sanal PCI yığını istenen fiziksel kaynak ayırmayı karşılayamıyorsa, işlevi döndürür HRESULT_FROM_WIN32(ERROR_NOT_FOUND).

Açıklamalar

işlevi, WHvAllocateVpciResource bir sanal PCI cihazını destekleyen fiziksel veya sanal kaynağı ayırır. Bu işlev döndürdüğünde, bölüme WHvCreateVpciDevice atanmış bir cihaz oluşturmak için sonuç tutamacını öğesine geçirin.

Çağıranın, artık gerekli olmadığında döndürülen tanıtıcıyı ile CloseHandle kapatması gerekir.

Requirements

Requirement Değer
Desteklenen en düşük Windows Windows 10, sürüm 20H2 (x64); Windows 11, sürüm 24H2, derleme 26100.3915 (Arm64)
Header WinHvPlatform.h
Kütüphane WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

Ayrıca bakınız