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 |