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


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

Функция DxgkDdiDelocationAllocation освобождает выделения.

Синтаксис

DXGKDDI_DESTROYALLOCATION DxgkddiDestroyallocation;

NTSTATUS DxgkddiDestroyallocation(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_DESTROYALLOCATION pDestroyAllocation
)
{...}

Параметры

[in] hAdapter

Дескриптор для блока контекста, связанного с видеоадаптером. Драйвер мини-порта дисплея ранее предоставлял этот дескриптор подсистеме ядра графики Microsoft DirectX в выходном параметре MiniportDeviceContext функции DxgkDdiAddDevice .

[in] pDestroyAllocation

Указатель на структуру DXGKARG_DESTROYALLOCATION , содержащую сведения о выделении.

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

DxgkDdiDelocationAllocation возвращает STATUS_SUCCESS или соответствующий результат ошибки, если выделения не были успешно освобождены.

Комментарии

Когда драйвер отображения пользовательского режима вызывает функцию pfnDeallocateCb , подсистема ядра графики DirectX (которая является частью Dxgkrnl.sys) вызывает функцию DxgkDdiDelocation драйвера мини-порта дисплея, чтобы освободить выделение. Драйвер мини-порта дисплея должен очистить свои внутренние структуры данных и ссылки на выделения. Среда выполнения Microsoft Direct3D инициирует вызовы диспетчера видеопамять (который также является частью Dxgkrnl.sys), который затем вызывает планировщик GPU (который также является частью Dxgkrnl.sys) для синхронизации до фактического освобождения видеопамять.

Драйвер мини-порта дисплея может освободить весь ресурс, а также выделить его. Чтобы определить, следует ли освободить ресурс, драйвер минипорта отображения может проверка, установлен ли флаг DestroyResource в элементе Flagsструктуры DXGKARG_DESTROYALLOCATION, на которую указывает параметр pDelocationAllocation. Чтобы освободить ресурс, драйвер мини-порта отображения должен очистить дескриптор, который указывает член hResource DXGKARG_DESTROYALLOCATION. Если драйвер мини-порта дисплея не освобождает ресурс, драйвер может изменить значение в hResource при необходимости.

DxgkDdiDelocationAllocation следует сделать страничной.

Требования

Требование Значение
Минимальная версия клиента Windows Vista
Целевая платформа Персональный компьютер
Верхняя часть d3dkmddi.h
IRQL PASSIVE_LEVEL

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

DXGKARG_DESTROYALLOCATION

DxgkDdiAddDevice

pfnDeallocateCb