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