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


функция обратного вызова 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 сохраняет блок страниц физической памяти, а также при необходимости метаданные, которые драйвер хочет связать с блоком памяти. При восстановлении страниц драйвер получит отдельный вызов для каждого сохраненного блока памяти вместе с метаданными.

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

  • Как массив смежных диапазонов физической памяти (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