DXGKDDI_DESTROYALLOCATION función de devolución de llamada (d3dkmddi.h)
La función DxgkDdiDestroyAllocation libera asignaciones.
Sintaxis
DXGKDDI_DESTROYALLOCATION DxgkddiDestroyallocation;
NTSTATUS DxgkddiDestroyallocation(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_DESTROYALLOCATION pDestroyAllocation
)
{...}
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] pDestroyAllocation
Puntero a una estructura DXGKARG_DESTROYALLOCATION que contiene información para liberar asignaciones.
Valor devuelto
DxgkDdiDestroyAllocation devuelve STATUS_SUCCESS o un resultado de error adecuado si las asignaciones no se liberan correctamente.
Comentarios
Cuando el controlador de pantalla en modo de usuario llama a la función pfnDeallocateCb , el subsistema del kernel de gráficos DirectX (que forma parte de Dxgkrnl.sys) llama a la función DxgkDdiDestroyAllocation del controlador de miniporte de pantalla para liberar las asignaciones. El controlador de minipuerto de pantalla debe limpiar sus estructuras de datos internas y las referencias a las asignaciones. El tiempo de ejecución de Microsoft Direct3D inicia llamadas al administrador de memoria de vídeo (que también forma parte de Dxgkrnl.sys), que luego llama al programador de GPU (que también forma parte de Dxgkrnl.sys) para sincronizar antes de que se libere realmente la memoria de vídeo.
El controlador de minipuerto de pantalla puede liberar todo el recurso, así como las asignaciones. Para determinar si se debe liberar el recurso, el controlador de minipuerto de pantalla puede comprobar si la marca DestroyResource está establecida en el miembro Flags de la estructura DXGKARG_DESTROYALLOCATION a la que apunta el parámetro pDestroyAllocation . Para liberar el recurso, el controlador de minipuerto de pantalla debe limpiar el identificador que especifica el miembro hResource de DXGKARG_DESTROYALLOCATION. Si el controlador de minipuerto de pantalla no libera el recurso, el controlador puede cambiar el valor en hResource si es necesario.
DxgkDdiDestroyAllocation debe ser paginable.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Plataforma de destino | Escritorio |
Encabezado | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |