Compartilhar via


DXGKDDI_DESTROYALLOCATION função de retorno de chamada (d3dkmddi.h)

A função DxgkDdiDestroyAllocation libera alocações.

Sintaxe

DXGKDDI_DESTROYALLOCATION DxgkddiDestroyallocation;

NTSTATUS DxgkddiDestroyallocation(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_DESTROYALLOCATION pDestroyAllocation
)
{...}

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] pDestroyAllocation

Um ponteiro para uma estrutura DXGKARG_DESTROYALLOCATION que contém informações para liberar alocações.

Retornar valor

DxgkDdiDestroyAllocation retorna STATUS_SUCCESS ou um resultado de erro apropriado se as alocações não forem liberadas com êxito.

Comentários

Quando o driver de exibição do modo de usuário chama a função pfnDeallocateCb , o subsistema de kernel de elementos gráficos DirectX (que faz parte do Dxgkrnl.sys) chama a função DxgkDdiDestroyAllocation do driver de miniport de exibição para liberar as alocações. O driver de miniporta de exibição deve limpo suas estruturas de dados internas e referências às alocações. O runtime do Microsoft Direct3D inicia chamadas para o gerenciador de memória de vídeo (que também faz parte do Dxgkrnl.sys), que chama o agendador de GPU (que também faz parte do Dxgkrnl.sys) para sincronizar antes que a memória do vídeo seja realmente liberada.

O driver de miniporta de exibição pode liberar todo o recurso, bem como alocações. Para determinar se o recurso deve ser liberado, o driver de miniporto de exibição pode marcar se o sinalizador DestroyResource está definido no membro Flags da estrutura DXGKARG_DESTROYALLOCATION para a qual o parâmetro pDestroyAllocation aponta. Para liberar o recurso, o driver de miniporto de exibição deve limpo o identificador especificado pelo membro hResource do DXGKARG_DESTROYALLOCATION. Se o driver do miniporto de exibição não liberar o recurso, o driver poderá alterar o valor em hResource , se necessário.

DxgkDdiDestroyAllocation 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_DESTROYALLOCATION

DxgkDdiAddDevice

pfnDeallocateCb