다음을 통해 공유


DXGKARGCB_MAP_PHYSICAL_MEMORY 구조체(d3dkmddi.h)

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

통사론

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 + Offset같습니다. 매핑된 가상 주소 범위의 크기는 요청된 크기보다 클 수 있는 Size출력 값입니다.

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

요구 사항

요구
지원되는 최소 서버 Windows Server 2022(WDDM 2.9)
헤더 d3dkmddi.h

참고 항목

DXGK_ACCESS_MODE

DXGKCB_MAPPHYSICALMEMORY