структура D3DDDI_RESERVEGPUVIRTUALADDRESS (d3dukmdt.h)

D3DDDI_RESERVEGPUVIRTUALADDRESS используется с pfnReserveGpuVirtualAddressCb для резервирования диапазона адресов в виртуальном адресном пространстве графического модуля обработки (GPU) текущего процесса.

Синтаксис

typedef struct D3DDDI_RESERVEGPUVIRTUALADDRESS {
  union {
          D3DKMT_HANDLE hPagingQueue;
          D3DKMT_HANDLE hAdapter;
  };
        D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS BaseAddress;
        D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MinimumAddress;
        D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS MaximumAddress;
        D3DKMT_ALIGN64 D3DGPU_SIZE_T          Size;
  union {
          D3DDDIGPUVIRTUALADDRESS_RESERVATION_TYPE ReservationType;
          UINT                                     Reserved0;
  };
  union {
          D3DKMT_ALIGN64 UINT64 DriverProtection;
          D3DKMT_ALIGN64 UINT64 Reserved1;
  };
  [out] D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
  union {
          D3DKMT_ALIGN64 UINT64 PagingFenceValue;
          D3DKMT_ALIGN64 UINT64 Reserved2;
  };
} D3DDDI_RESERVEGPUVIRTUALADDRESS;

Члены

hPagingQueue

Очередь подкачки для синхронизации операции.

hAdapter

Дескриптор графического адаптера DirectX.

BaseAddress

(Необязательно) Если значение не равно NULL, диспетчер видеопамяти попытается использовать этот адрес в качестве базового адреса для зарезервированного диапазона. Если диапазон от BaseAddress до BaseAddress+Size не является бесплатным, вызов завершится ошибкой. Если этот параметр не равен NULL, MinimumAddress и MaximumAddress игнорируются.

BaseAddress имеет значение в байтах и должно быть выровнено по границе 64 КБ.

Если задано значение NULL , диспетчер видеопамяти выберет базовый адрес для выделения в указанных параметрах MinimumAddress и MaximumAddress.

MinimumAddress

(Необязательно) Указывает минимальный виртуальный адрес GPU, который следует учитывать для зарезервированного диапазона.

MinimumAddress имеет значение в байтах и должно быть выровнено по границе 64 КБ.

Этот параметр игнорируется, если BaseAddress != NULL.

MaximumAddress

(Необязательно) Указывает максимальный виртуальный адрес GPU, который следует учитывать для зарезервированного диапазона. диспетчер видеопамяти гарантирует, что BaseAddress+Size< = MaximumAddress. Если для этого параметра задано значение NULL, диспетчер видеопамяти не будет применять никаких ограничений.

MaximumAddress имеет значение в байтах и должно быть выровнено по границе 64 КБ.

Этот параметр игнорируется, если BaseAddress != NULL.

Size

Укажите размер диапазона для резервирования в байтах. Должен быть кратным 64 КБ.

ReservationType

Указывает тип резервирования виртуальных адресов.

Reserved0

Этот элемент зарезервирован и должен иметь нулевое значение.

DriverProtection

Указывает защиту для конкретного драйвера.

Reserved1

Этот элемент зарезервирован и должен иметь нулевое значение.

[out] VirtualAddress

Зарезервированный виртуальный адрес.

PagingFenceValue

Идентификатор ограждения подкачки для синхронизации

Reserved2

Этот элемент зарезервирован и должен иметь нулевое значение.

Требования

Требование Значение
Минимальная версия клиента Windows 10
Минимальная версия сервера Windows Server 2016
Верхняя часть d3dukmdt.h (включая D3dumddi.h, D3dkmddi.h)

См. также раздел

pfnReserveGpuVirtualAddressCb