Compartilhar via


LPD3DHAL_CONTEXTDESTROYCB função de retorno de chamada (d3dhal.h)

A função D3dContextDestroy exclui o contexto especificado.

Sintaxe

LPD3DHAL_CONTEXTDESTROYCB Lpd3dhalContextdestroycb;

DWORD Lpd3dhalContextdestroycb(
  LPD3DHAL_CONTEXTDESTROYDATA unnamedParam1
)
{...}

Parâmetros

unnamedParam1

pcdd [in]

Aponta para uma estrutura D3DHAL_CONTEXTDESTROYDATA que contém as informações necessárias para o driver destruir o contexto.

Retornar valor

D3dContextDestroy retorna um dos seguintes códigos de retorno de chamada:

Comentários

Todos os drivers do Microsoft Direct3D devem dar suporte a D3dContextDestroy.

O driver deve liberar todos os recursos alocados para o contexto que está sendo excluído. Por exemplo, o driver deve liberar os seguintes recursos associados ao contexto:

O driver não deve liberar as superfícies do Microsoft DirectDraw associadas ao contexto porque elas serão liberadas pelo DirectDraw em resposta a um aplicativo ou solicitação de runtime do Direct3D.

Se o driver tiver armazenado em cache o ponteiro para a estrutura DD_DIRECTDRAW_LOCAL que foi passada como membro lpDDLcl da estrutura D3DHAL_CONTEXTCREATEDATA quando D3dContextCreate foi chamado, o ponteiro poderá se tornar inválido antes de D3dContextDestroy ser chamado. Portanto, D3dContextDestroy não deve desreferenciar esse ponteiro DD_DIRECTDRAW_LOCAL porque uma violação de acesso pode resultar ou dados aleatórios podem ser retornados. Por exemplo, se a função D3dDestroyDDLocal do driver for chamada antes de D3dContextDestroy, o sistema operacional liberará esse ponteiro DD_DIRECTDRAW_LOCAL antes da chamada D3dContextDestroy .

D3dContextDestroy pode ser chamado com um PDEV desabilitado. Um PDEV está desabilitado ou habilitado chamando a função DrvAssertMode do driver de exibição. Consulte Gerenciando PDEVs para obter mais informações.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho d3dhal.h (inclua D3dhal.h)

Confira também

D3DHAL_CONTEXTCREATEDATA

D3DHAL_CONTEXTDESTROYDATA

D3dContextCreate

D3dDestroyDDLocal

DD_DIRECTDRAW_LOCAL