DXGKARGCB_ALLOCATE_ADL 구조체(d3dkmddi.h)
DXGKARGCB_ALLOCATE_ADLDXGKCB_ALLOCATEADL 콜백 함수가 ADL(주소 설명자 목록)을 만드는 데 사용하는 정보를 포함합니다.
구문
typedef struct _DXGKARGCB_ALLOCATE_ADL {
[in] HANDLE hAdapterMemoryObject;
[in] SIZE_T Offset;
[in] SIZE_T Size;
union {
struct {
UINT32 RequireContiguous : 1;
UINT32 PreferContiguous : 1;
UINT32 Reserved : 30;
};
UINT32 Value;
} Flags;
[out] DXGK_ADL *pAdl;
} DXGKARGCB_ALLOCATE_ADL;
멤버
[in] hAdapterMemoryObject
ADL을 빌드하는 데 사용되는 기본 논리 메모리를 설명하는 어댑터 메모리 개체입니다. 이 개체는 DXGKCB_CREATEPHYSICALMEMORYOBJECT 통해 만들어졌거나 나중에 DXGKCB_OPENPHYSICALMEMORYOBJECT 통해 열렸습니다.
[in] Offset
실제 메모리 개체의 시작부터의 오프셋(바이트)입니다. 이 값은 PAGE_SIZE 배수여야 합니다.
[in] Size
ADL에 할당할 총 바이트 수입니다. 이 값은 ADL의 페이지 수가 Size/PAGE_SIZE 되도록 PAGE_SIZE 배수여야 합니다.
Flags
[in] Flags.RequireContiguous
드라이버가 분산된 페이지 대신 연속된 메모리 범위를 설명하는 ADL을 요청하고 있음을 나타냅니다. 이 플래그는 hAdapterMemoryObject가 나타내는 실제 메모리 개체가 DXGK_PHYSICAL_MEMORY_TYPE_CONTIGUOUS_MEMORY 또는DXGK_PHYSICAL_MEMORY_TYPE_IO_SPACE 할당된 경우에만 유효합니다.
[in] Flags.PreferContiguous
가능하면 연속 ADL을 최적으로 요청하는 방법을 드라이버에 제공합니다. DMA 다시 매핑을 사용하도록 설정하면 ADL은 논리 주소 공간의 범위를 참조합니다. 그러나 드라이버는 모든 코드 경로에서 연속 ADL을 사용하지 못할 수 있습니다. 논리 메모리에 대한 인접하지 않은 ADL은 메모리를 나타내기 위해 MDL과 유사한 별도의 PFN 배열을 할당해야 하므로 비용이 많이 들 수 있습니다. 가능하면 드라이버는 이 플래그를 지정하여 ADL을 기본 주소로 나타낼 수 있음을 나타내야 합니다.
[in] Flags.Reserved
예약; 를 0으로 설정해야 합니다.
[in] Flags.Value
비트에 액세스하는 다른 방법입니다.
[out] pAdl
DXGKCB_ALLOCATEADL 성공적으로 호출하면 하드웨어를 프로그래밍하는 데 사용할 수 있는 페이지 주소 목록이 있는 DXGK_ADL 구조를 가리킵니다.
설명
자세한 내용은 IOMMU DMA 다시 매핑 을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 서버 | Windows Server 2022(WDDM 2.9) |
머리글 | d3dkmddi.h |