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 本身。

驅動程式可以使用 MmMapLockedPagesSpecifyCacheMmGetSystemAddressForMdlSafe 來取得緩衝區的 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