다음을 통해 공유


DXGKARGCB_MAP_PHYSICAL_MEMORY 구조체(d3dkmddi.h)

DXGKARGCB_MAP_PHYSICAL_MEMORY 구조에는 CPU 표시 가상 주소를 기본 실제 메모리에 매핑하기 위해 DXGKCB_MAPPHYSICALMEMORY 콜백 함수에서 사용하는 정보가 포함됩니다.

구문

typedef struct _DXGKARGCB_MAP_PHYSICAL_MEMORY {
  [in]     HANDLE           hPhysicalMemoryObject;
  [in]     DXGK_ACCESS_MODE AccessMode;
  [in/out] SIZE_T           Offset;
  [in]     SIZE_T           Size;
  [out]    void             *pMappedAddress;
} DXGKARGCB_MAP_PHYSICAL_MEMORY;

멤버

[in] hPhysicalMemoryObject

매핑할 기본 물리적 페이지를 설명하는 실제 메모리 개체입니다. 이 개체는 DXGKCB_CREATEPHYSICALMEMORYOBJECT 대한 이전 호출에서 만들어졌습니다.

[in] AccessMode

매핑을 수행해야 하는 액세스 모드(사용자 모드 또는 커널 모드)를 설명하는 DXGK_ACCESS_MODE 열거형 값입니다.

[in/out] Offset

입력으로 는 실제 메모리 개체의 시작 부분부터의 오프셋(바이트)을 지정합니다. 출력으로 는 요청된 데이터가 있는 매핑된 기본 주소의 시작 부분부터의 오프셋을 바이트 단위로 지정합니다. 자세한 내용은 설명 부분을 참조하십시오.

[in] Size

입력으로 는 매핑된 영역의 요청된 크기를 바이트 단위로 지정합니다. 출력으로 는 실제 매핑된 크기(바이트)를 지정합니다. 자세한 내용은 설명 부분을 참조하십시오.

[out] pMappedAddress

DXGKCB_MAPPHYSICALMEMORY 대한 호출이 성공적이면 기본 실제 메모리 매핑에 대한 포인터입니다. 반올림 또는 맞춤이 필요한 경우 매핑된 메모리 범위의 시작이 드라이버에서 요청한 오프셋과 정확히 같지 않을 수 있습니다. 결과적으로 Offset 의 출력 값은 기본 주소에서 드라이버가 요청한 데이터로 오프셋을 참조합니다. 즉, ActualAddress = BaseAddress + Offset입니다.

설명

오프셋크기 는 입력 매개 변수와 출력 매개 변수입니다. 이러한 입력은 호출자가 요청한 실제 메모리 영역을 설명합니다. 출력에서 실제 매핑된 뷰를 설명합니다. 이는 해당 실제 메모리에 매핑된 주소가 요청된 오프셋에 정확히 있지 않을 수 있기 때문입니다. 호출자가 요청한 실제 데이터는 pMappedAddress + 오프셋과 같습니다. 매핑된 가상 주소 범위의 크기는 요청된 크기보다 클 수 있는 Size의 출력 값입니다.

자세한 내용은 IOMMU DMA 다시 매핑 을 참조하세요.

요구 사항

요구 사항
지원되는 최소 서버 Windows Server 2022(WDDM 2.9)
머리글 d3dkmddi.h

추가 정보

DXGK_ACCESS_MODE

DXGKCB_MAPPHYSICALMEMORY