Compartir a través de


DXGKDDI_RELEASESWIZZLINGRANGE función de devolución de llamada (d3dkmddi.h)

La función DxgkDdiReleaseSwizzlingRange libera un rango de swizzling que la función DxgkDdiAcquireSwizzlingRange configuró anteriormente.

Sintaxis

DXGKDDI_RELEASESWIZZLINGRANGE DxgkddiReleaseswizzlingrange;

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

Parámetros

[in] hAdapter

Identificador de un bloque de contexto asociado a un adaptador de pantalla. El controlador de minipuerto de pantalla proporcionó anteriormente este identificador al subsistema del kernel de gráficos de Microsoft DirectX en el parámetro de salida MiniportDeviceContext de la función DxgkDdiAddDevice .

[in] pReleaseSwizzlingRange

Puntero a una estructura DXGKARG_RELEASESWIZZLINGRANGE que contiene información para liberar el intervalo de desenlazamiento.

Valor devuelto

DxgkDdiReleaseSwizzlingRange devuelve STATUS_SUCCESS, o un resultado de error adecuado si el intervalo de giro no se libera correctamente.

Comentarios

Normalmente, se llama a la función DxgkDdiReleaseSwizzlingRange cuando la asignación especificada (es decir, el miembro hAllocation de la estructura DXGKARG_RELEASESWIZZLINGRANGE a la que apunta el parámetro pReleaseSwizzlingRange ) se expulsa o destruye, o cuando otra asignación requiere el intervalo de rotación al que especifica el miembro RangeId de DXGKARG_RELEASESWIZZLINGRANGE.

Si la asignación especificada está asociada actualmente a varios intervalos de swizzling (a través de llamadas a la función DxgkDdiAcquireSwizzlingRange ), el controlador de minipuerto de pantalla solo debe liberar el intervalo de giro que especifica el miembro RangeId de DXGKARG_RELEASESWIZZLINGRANGE. Si el controlador de minipuerto de pantalla libera todos los intervalos de desenlace asociados a la asignación, los daños aleatorios en la asignación pueden dar lugar a que una aplicación esté usando actualmente uno o varios de los intervalos de desenlace.

El controlador debe usar E/S asignada a memoria (MMIO) para configurar un intervalo de giro. Estos accesos de intervalo de giro no deben interferir con la ejecución de la GPU (es decir, la GPU no debe estar inactiva cuando se llama a DxgkDdiReleaseSwizzlingRange ).

Todas las llamadas a DxgkDdiReleaseSwizzlingRange se serializan entre sí, pero no con ninguna otra función de interfaz de controlador de dispositivo (DDI).

DxgkDdiReleaseSwizzlingRange debe ser paginable.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Plataforma de destino Escritorio
Encabezado d3dkmddi.h
IRQL PASSIVE_LEVEL

Consulte también

DXGKARG_RELEASESWIZZLINGRANGE

DxgkDdiAcquireSwizzlingRange

DxgkDdiAddDevice