Compartilhar via


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

Confira também

DXGKARG_RELEASESWIZZLINGRANGE

DxgkDdiAcquireSwizzlingRange

DxgkDdiAddDevice