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


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

Выделение функции DxgkDdiDeskAllocation.

Синтаксис

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, содержащую сведения об освобождении выделений.

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

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

Замечания

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

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

DxgkDdiDeskAllocation должны быть доступны для страниц.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista
целевая платформа Настольный
заголовка d3dkmddi.h
IRQL PASSIVE_LEVEL

См. также

DXGKARG_DESTROYALLOCATION

DxgkDdiAddDevice

pfnDeallocateCb