Поделиться через


функция обратного вызова DXGKCB_SAVEMEMORYFORHOTUPDATE (d3dkmddi.h)

Драйвер мини-порта в режиме ядра может вызывать DXGKCB_SAVEMEMORYFORHOTUPDATE для сохранения памяти адаптера для поддержки горячего обновления драйвера.

Синтаксис

DXGKCB_SAVEMEMORYFORHOTUPDATE DxgkcbSavememoryforhotupdate;

NTSTATUS DxgkcbSavememoryforhotupdate(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARGCB_SAVEMEMORYFORHOTUPDATE pArgs
)
{...}

Параметры

[in] hAdapter

Дескриптор адаптера DXGK, который передается в DxgkDdiStartDevice.

[in] pArgs

Указатель на структуру DXGKARGCB_SAVEMEMORYFORHOTUPDATE, содержащую аргументы для этого обратного вызова.

Возвращаемое значение

DXGKCB_SAVEMEMORYFORHOTUPDATE возвращает STATUS_SUCCESS, если операция выполнена успешно; в противном случае возвращается код ошибки из Ntstatus.h.

Замечания

Каждый вызов DXGKCB_SAVEMEMORYFORHOTUPDATE сохраняет блок страниц физической памяти, а также необязательные метаданные, которые драйвер хочет связать с блоком памяти. После восстановления страниц драйвер получит отдельный вызов для каждого сохраненного блока памяти вместе с метаданными.

Для удобства обратный вызов предоставляет 3 варианта сохранения физической памяти:

  • Как массив смежных диапазонов физической памяти (pDataMemoryRanges)
  • Как MDL (pDataMdl)
  • Как буфер виртуальной памяти (pData)

Один (и только один) указателей на данные (pDataMemoryRanges, pDataMdl или pData) не должен иметь значение NULL.

DXGKCB_XXX функции реализуются Dxgkrnl. Чтобы использовать эту функцию обратного вызова, задайте соответствующие члены DXGKARGCB_SAVEMEMORYFORHOTUPDATE и вызовите DxgkCbSaveMemoryForHotUpdate через DXGKRNL_INTERFACE.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 версии 1903 (WDDM 2.6)
заголовка d3dkmddi.h
IRQL PASSIVE_LEVEL

См. также

DXGKARGCB_SAVEMEMORYFORHOTUPDATE

DXGKRNL_INTERFACE