WHvAllocateVpciResource

Выделяет ресурс виртуального PCI (VPCI) для резервного копирования виртуального устройства.

Синтаксис

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

Указывает идентификатор поставщика ресурсов. Укажите NULL , чтобы выделить SR-IOV виртуальную функцию, дискретную назначаемую физическую функцию или виртуальное устройство, которое не поддерживается физическими ресурсами. NULLВ противном случае GUID определяет зарегистрированного поставщика ресурсов, установленного в системе, которая обрабатывает выделение.

Flags

Задает системные параметры выделенного ресурса в виде сочетания значений WHV_ALLOCATE_VPCI_RESOURCE_FLAGS .

ResourceDescriptor

Указывает указатель на буфер, описывающий выделенные ресурсы. Если ProviderId этот параметр также NULLимеет значениеNULL, функция выделяет пустой ресурс. В противном случае этот ProviderIdNULLпараметр должен указывать на структуру WHV_SRIOV_RESOURCE_DESCRIPTOR . Если ProviderId это не NULLтак, этот параметр указывает на непрозрачный буфер, который передается поставщику ресурсов, обрабатывающего запрос на выделение.

ResourceDescriptorSizeInBytes

Задает размер буфера ResourceDescriptor в байтах.

VpciResource

Получает дескриптор, представляющий выделенный ресурс.

Возвращаемое значение

Если функция выполнена успешно, возвращается S_OKзначение.

Если базовый виртуальный стек PCI не может удовлетворить запрошенный объем физического ресурса, функция возвращается HRESULT_FROM_WIN32(ERROR_NOT_FOUND).

Remarks

Функция WHvAllocateVpciResource выделяет физический или виртуальный ресурс, который поддерживает виртуальное устройство PCI. После возвращения этой функции передайте результирующий дескриптор, чтобы WHvCreateVpciDevice создать устройство, назначенное секции.

Вызывающий объект должен закрыть возвращенный дескриптор, если CloseHandle он больше не нужен.

Требования

Requirement Ценность
Минимальный поддерживаемый Windows Windows 10 версии 20H2 (x64); Windows 11 версии 24H2, сборка 26100.3915 (Arm64)
Header WinHvPlatform.h
Библиотека WinHvPlatform.lib
DLL WinHvPlatform.dll
Architecture x64, Arm64

См. также