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

Функция DxgkDdiReleaseSwizzlingRange освобождает диапазон свертывания, настроенный ранее функцией DxgkDdiAcquireSwizzlingRange .

Синтаксис

DXGKDDI_RELEASESWIZZLINGRANGE DxgkddiReleaseswizzlingrange;

NTSTATUS DxgkddiReleaseswizzlingrange(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_RELEASESWIZZLINGRANGE pReleaseSwizzlingRange
)
{...}

Параметры

[in] hAdapter

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

[in] pReleaseSwizzlingRange

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

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

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

Комментарии

Функция DxgkDdiReleaseSwizzlingRange обычно вызывается при вытеснении или уничтожении указанного выделения (то есть члена hAllocationDXGKARG_RELEASESWIZZLINGRANGE структуры, на которую указывает параметр pReleaseSwizzlingRange ) или когда для другого выделения требуется диапазон поворота, указанный элементом RangeId DXGKARG_RELEASESWIZZLINGRANGE.

Если указанное выделение в настоящее время связано с несколькими диапазонами поворотов (с помощью вызовов функции DxgkDdiAcquireSwizzlingRange ), драйвер мини-порта дисплея должен освободить только диапазон поворота, указанный элементом RangeId DXGKARG_RELEASESWIZZLINGRANGE. Если драйвер мини-порта дисплея освобождает все вращающиеся диапазоны, связанные с выделением, это может привести к случайному повреждению выделения, так как приложение может в настоящее время использовать один или несколько диапазонов свертывания.

Драйвер должен использовать подключенный к памяти ввод-вывод (MMIO) для настройки диапазона поворота. Эти возможности доступа в диапазоне свертывания не должны мешать выполнению GPU (то есть gpu не должен находиться в бездействии при вызове DxgkDdiReleaseSwizzlingRange ).

Все вызовы DxgkDdiReleaseSwizzlingRange сериализуются между собой, но не с помощью любой другой функции интерфейса драйвера устройства (DDI).

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

Требования

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

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

DXGKARG_RELEASESWIZZLINGRANGE

DxgkDdiAcquireSwizzlingRange

DxgkDdiAddDevice