DXGKARG_RESTOREMEMORYFORHOTUPDATE 구조체(d3dkmddi.h)
드라이버 핫 업데이트에 대한 메모리를 복원하는 데 사용되는 인수입니다.
구문
typedef struct _DXGKARG_RESTOREMEMORYFORHOTUPDATE {
[in] DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS Flags;
[in] PMDL pDataMdl;
[in] UINT MetaDataSize;
[in] PVOID pMetaData;
} DXGKARG_RESTOREMEMORYFORHOTUPDATE;
멤버
[in] Flags
DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS 구조체입니다. 플래그가 설정되면 다른 모든 입력 데이터가 NULL로 설정됩니다. 드라이버는 복원 작업 중에 할당된 모든 메모리를 삭제할 수 있습니다.
[in] pDataMdl
복원할 메모리 페이지를 설명하는 MDL(메모리 설명자 목록)입니다.
드라이버가 이 함수에서 STATUS_SUCCESS 반환하는 경우 드라이버는 MDL의 소유권을 가정합니다. 드라이버는 더 이상 사용되지 않을 때까지 MDL에 대한 포인터를 유지할 수 있습니다. 그 후 드라이버는 MmFreePagesFromMdl(pDataMdl) 및 ExFreePool(pDataMdl )을 호출하여 MDL 페이지와 MDL 자체를 해제해야 합니다.
드라이버는 MmMapLockedPagesSpecifyCache 또는 MmGetSystemAddressForMdlSafe 를 사용하여 버퍼에 대한 CPU 포인터를 가져올 수 있습니다.
버퍼에 대한 CPU 포인터를 가져오는 방법의 예는 다음과 같습니다.
pBuffer = MmMapLockedPagesSpecifyCache(
pMdl,
KernelMode,
MmCached,
NULL,
FALSE,
NormalPagePriority | MdlMappingNoExecute);
pBuffer = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority | MdlMappingNoExecute);
[in] MetaDataSize
pMetaData가 가리키는 버퍼의 바이트 수입니다.
[in] pMetaData
메모리 블록과 연결된 메타데이터에 대한 가상 메모리 포인터입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10, 버전 1903 |
머리글 | d3dkmddi.h |