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


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

Функция DxgkDdiDetadataMemoryBasis в KMD уничтожает базу памяти, созданную при предыдущем вызове DxgkDdiCreateMemoryBasis.

Синтаксис

DXGKDDI_DESTROYMEMORYBASIS DxgkddiDestroymemorybasis;

NTSTATUS DxgkddiDestroymemorybasis(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_HANDLE hMemoryBasis
)
{...}

Параметры

hAdapter

[in] Дескриптор для блока контекста, связанного с видеоадаптером. KMD ранее предоставлял этот дескриптор Dxgkrnl в выходном параметре MiniportDeviceContext функции DxgiDdiAddDevice .

hMemoryBasis

Дескриптор к базе памяти для уничтожения. Этот дескриптор был ранее создан вызовом DxgkDdiCreateMemoryBasis.

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

DxgkDdiDetadataMemoryBasis возвращает STATUS_SUCCESS, если база памяти была успешно уничтожена. В противном случае возвращается код ошибки NTSTATUS. См. заметки.

Комментарии

Dxgkrnl интерпретирует все возвращенные ntstatus, которые не STATUS_SUCCESS, как возврат уведомления о катастрофической ошибке. В этой функции не должно быть правильного функционального пути, чтобы вернуть что-либо, кроме успешного, так как это должно быть инвариантным, что предоставленный дескриптор — это тот, который был создан и еще не был уничтожен. Если KMD обнаруживает неверные входные данные, возвращенный код ошибки позволяет Dxgkrnl назначить инвариантный сбой ядру ОС вместо сбоя драйвера.

Дополнительные сведения см. в разделе Отслеживание грязных битов.

Требования

Требование Значение
Минимальная версия клиента Windows 11, версия 24H2 (WDDM 3.2)
Верхняя часть d3dkmddi.h
IRQL PASSIVE_LEVEL

См. также раздел

DxgkDdiCreateMemoryBasis