структура D3DDDI_RESERVEGPUVIRTUALADDRESS (d3dukmdt.h)
Графический драйвер пользовательского режима передает D3DDDI_RESERVEGPUVIRTUALADDRESS в среды выполнения D3D 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;
};
D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS VirtualAddress;
union {
D3DKMT_ALIGN64 UINT64 PagingFenceValue;
D3DKMT_ALIGN64 UINT64 Reserved2;
};
} D3DDDI_RESERVEGPUVIRTUALADDRESS;
Члены
hPagingQueue
Этот элемент устарел. Не используйте его.
hAdapter
[in] Дескриптор графического адаптера DirectX или ноль (0). Если наборы UMD hAdapter равны 0, среда выполнения D3D установит hAdapter D3DKMT_HANDLE ядра перед вызовом интерфейса ядра D3DKMTReserveGpuVirtualAddress.
BaseAddress
[in/необязательный] Количество байтов для резервирования в виртуальном адресном пространстве GPU. BaseAddress должны быть выровнены с границой 64 КБ.
Если BaseAddress не имеет значения NULL, диспетчер памяти видео пытается использовать этот адрес в качестве базового адреса для зарезервированного диапазона. Если диапазон от BaseAddress до BaseAddress+Size не является бесплатным, вызов завершается ошибкой. Если BaseAddress не имеет значения NULL, MinimumAddress и MaximumAddress игнорируются.
Если задано значение NULL, диспетчер памяти видео выбирает базовый адрес для выделения в пределах указанного MinimumAddress и MaximumAddress.
MinimumAddress
[in/необязательный] Минимальный виртуальный адрес GPU, который следует учитывать для зарезервированного диапазона. MinimumAddress находится в байтах и должен быть выровнен по границе 64 КБ. Он игнорируется, если BaseAddress не имеет значения NULL.
MaximumAddress
[in/необязательный] Максимальный виртуальный адрес GPU, который следует учитывать для зарезервированного диапазона. Диспетчер памяти видео гарантирует, что BaseAddress+Size<= MaximumAddress. Если для параметра MaximumAddress задано значение NULL, диспетчер памяти видео не будет применять никаких ограничений.
MaximumAddress находится в байтах и должен быть выровнен по границе 64 КБ. Он игнорируется, если BaseAddress не имеет значения NULL.
Size
[in] Размер диапазона для резервирования в байтах. Должно быть несколько 64 КБ.
ReservationType
Этот элемент устарел. Не используйте его.
Reserved0
Этот элемент зарезервирован и должен иметь значение нулю.
DriverProtection
Этот элемент устарел. Не используйте его.
Reserved1
Этот элемент зарезервирован и должен иметь значение нулю.
VirtualAddress
[out] Зарезервированный виртуальный адрес.
PagingFenceValue
Этот элемент устарел. Не используйте его.
Reserved2
Этот элемент зарезервирован и должен иметь значение нулю.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 10 |
минимальный поддерживаемый сервер | Windows Server 2016 |
заголовка | d3dukmdt.h (include D3dumddi.h, D3dkmddi.h) |