Compartilhar via


estrutura DXGKARG_RESTOREMEMORYFORHOTUPDATE (d3dkmddi.h)

Argumentos usados para restaurar a memória para a atualização dinâmica do driver.

Sintaxe

typedef struct _DXGKARG_RESTOREMEMORYFORHOTUPDATE {
  [in] DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS Flags;
  [in] PMDL                                pDataMdl;
  [in] UINT                                MetaDataSize;
  [in] PVOID                               pMetaData;
} DXGKARG_RESTOREMEMORYFORHOTUPDATE;

Membros

[in] Flags

Uma estrutura DXGK_RESTOREMEMORYFORHOTUPDATEFLAGS . Quando o sinalizador é definido, todos os outros dados de entrada são definidos como NULL. O driver pode excluir toda a memória, alocada durante a operação de restauração.

[in] pDataMdl

O MDL (lista de descritores de memória), que descreve as páginas de memória a serem restauradas.

Se o driver retornar STATUS_SUCCESS dessa função, o driver assumirá a propriedade do MDL. O driver pode manter o ponteiro para o MDL até que ele não seja mais usado. Depois disso, o driver deve liberar as páginas MDL e o próprio MDL chamando MmFreePagesFromMdl(pDataMdl) e ExFreePool(pDataMdl).

O driver pode usar MmMapLockedPagesSpecifyCache ou MmGetSystemAddressForMdlSafe para obter um ponteiro de CPU para o buffer.

Aqui está um exemplo de como você obteria um ponteiro de CPU para o buffer:

pBuffer = MmMapLockedPagesSpecifyCache(
    pMdl,
    KernelMode,
    MmCached,
    NULL,
    FALSE,
    NormalPagePriority | MdlMappingNoExecute);

pBuffer = MmGetSystemAddressForMdlSafe(pMdl, NormalPagePriority | MdlMappingNoExecute);

[in] MetaDataSize

O número de bytes no buffer para o qual pMetaData aponta.

[in] pMetaData

Um ponteiro de memória virtual para os metadados associados ao bloco de memória.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1903
Cabeçalho d3dkmddi.h