DXGKDDI_RELEASESWIZZLINGRANGE função de retorno de chamada (d3dkmddi.h)
A função DxgkDdiReleaseSwizzlingRange libera um intervalo giratório que a função DxgkDdiAcquireSwizzlingRange configurou anteriormente.
Sintaxe
DXGKDDI_RELEASESWIZZLINGRANGE DxgkddiReleaseswizzlingrange;
NTSTATUS DxgkddiReleaseswizzlingrange(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_RELEASESWIZZLINGRANGE pReleaseSwizzlingRange
)
{...}
Parâmetros
[in] hAdapter
Um identificador para um bloco de contexto associado a um adaptador de exibição. O driver de miniporta de exibição anteriormente forneceu esse identificador para o subsistema kernel de elementos gráficos do Microsoft DirectX no parâmetro de saída MiniportDeviceContext da função DxgkDdiAddDevice .
[in] pReleaseSwizzlingRange
Um ponteiro para uma estrutura DXGKARG_RELEASESWIZZLINGRANGE que contém informações para liberar o intervalo de giro.
Retornar valor
DxgkDdiReleaseSwizzlingRange retorna STATUS_SUCCESS ou um resultado de erro apropriado se o intervalo de swizzling não for liberado com êxito.
Comentários
A função DxgkDdiReleaseSwizzlingRange normalmente é chamada quando a alocação especificada (ou seja, o membro hAllocation da estrutura DXGKARG_RELEASESWIZZLINGRANGE para a qual o parâmetro pReleaseSwizzlingRange aponta) é removida ou destruída ou quando outra alocação requer o intervalo de giro que o membro RangeId de DXGKARG_RELEASESWIZZLINGRANGE especifica.
Se a alocação especificada estiver atualmente associada a vários intervalos de swizzling (por meio de chamadas para a função DxgkDdiAcquireSwizzlingRange ), o driver de miniporto de exibição deverá liberar apenas o intervalo de giros especificado pelo membro RangeId do DXGKARG_RELEASESWIZZLINGRANGE. Se o driver de miniporta de exibição liberar todos os intervalos de giro associados à alocação, a corrupção aleatória na alocação poderá resultar porque um aplicativo pode estar usando um ou mais dos intervalos de giro.
O driver deve usar MMIO (E/S mapeada na memória) para configurar um intervalo de giro. Esses acessos de intervalo de swizzling não devem interferir na execução da GPU (ou seja, a GPU não deve estar ociosa quando DxgkDdiReleaseSwizzlingRange é chamado).
Todas as chamadas para DxgkDdiReleaseSwizzlingRange são serializadas entre si, mas não com nenhuma outra função de DDI (interface de driver de dispositivo).
DxgkDdiReleaseSwizzlingRange deve ser tornado paginável.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |