функция обратного вызова 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 |