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 설정하면 D3D 런타임은 D3DKMTReserveGpuVirtualAddress 커널 인터페이스를 호출하기 전에 hAdapter 커널의 D3DKMT_HANDLE 설정합니다.

BaseAddress

[in/optional] GPU 가상 주소 공간에서 예약할 바이트 수입니다. BaseAddress 64KB 경계에 맞춰야 합니다.

BaseAddress NULL이 아닌 경우 비디오 메모리 관리자는 이 주소를 예약된 범위의 기본 주소로 사용하려고 시도합니다. BaseAddress부터 BaseAddress+Size 범위가 무료가 아닌 경우 호출이 실패합니다. BaseAddress NULL이 아닌 경우 MinimumAddress 및 MaximumAddress 무시됩니다.

NULL이 지정된 경우 비디오 메모리 관리자는 지정된 MinimumAddress 내의 할당에 대한 기본 주소를 선택하고 MaximumAddress.

MinimumAddress

[in/optional] 예약된 범위에 대해 고려할 최소 GPU 가상 주소입니다. MinimumAddress 바이트 단위이며 64KB 경계에 맞춰야 합니다. BaseAddress NULL이 아닌 경우 무시됩니다.

MaximumAddress

[in/optional] 예약된 범위에 대해 고려할 최대 GPU 가상 주소입니다. 비디오 메모리 관리자는 BaseAddress+Size<= MaximumAddress보장합니다. MaximumAddress NULL로 설정된 경우 비디오 메모리 관리자는 제한을 적용하지 않습니다.

MaximumAddress 바이트 단위이며 64KB 경계에 맞춰야 합니다. BaseAddress NULL이 아닌 경우 무시됩니다.

Size

[in] 예약할 범위의 크기(바이트)입니다. 64KB의 배수여야 합니다.

ReservationType

이 멤버는 사용되지 않습니다. 사용하지 마세요.

Reserved0

이 멤버는 예약되어 있으며 0으로 설정해야 합니다.

DriverProtection

이 멤버는 사용되지 않습니다. 사용하지 마세요.

Reserved1

이 멤버는 예약되어 있으며 0으로 설정해야 합니다.

VirtualAddress

[out] 예약된 가상 주소입니다.

PagingFenceValue

이 멤버는 사용되지 않습니다. 사용하지 마세요.

Reserved2

이 멤버는 예약되어 있으며 0으로 설정해야 합니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 10
지원되는 최소 서버 Windows Server 2016
헤더 d3dukmdt.h(D3dumddi.h, D3dkmddi.h 포함)

참고 항목

pfnReserveGpuVirtualAddressCb