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