Compartilhar via


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

A função D3dContextCreate cria um contexto.

Sintaxe

LPD3DHAL_CONTEXTCREATECB Lpd3dhalContextcreatecb;

DWORD Lpd3dhalContextcreatecb(
  LPD3DHAL_CONTEXTCREATEDATA unnamedParam1
)
{...}

Parâmetros

unnamedParam1

pccd [in]

Aponta para uma estrutura D3DHAL_CONTEXTCREATEDATA que contém as informações necessárias para criar um contexto e os dados que o driver deve armazenar no novo contexto.

Retornar valor

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

Comentários

D3dContextCreate deve ser implementado em drivers que dão suporte ao Microsoft Direct3D. Ele deve executar as seguintes etapas:

  • Inicialize o contexto do driver com todas as informações exigidas pelo driver para executar a renderização. Isso inclui associar o destino de renderização e o buffer de profundidade aos quais os membros lpDDSLcl e lpDDSZLcl da estrutura D3DHAL_CONTEXTCREATEDATA no ponto pccd para, respectivamente, com o contexto.
  • Gere uma ID de contexto exclusiva para esse novo contexto e retorne-a no membro dwhContext do D3DHAL_CONTEXTCREATEDATA. O Direct3D usa essa ID de contexto em cada retorno de chamada subsequente que ele faz para este dispositivo Direct3D. O driver nunca deve criar um identificador de contexto igual a zero.
  • Defina o membro ddrval de D3DHAL_CONTEXTCREATEDATA como DD_OK após o êxito e D3DHAL_OUTOFCONTEXTS se ele não puder criar o contexto.
  • Retornar DDHAL_DRIVER_HANDLED.
D3dContextCreate não deve armazenar em cache o ponteiro para a estrutura DD_DIRECTDRAW_LOCAL que foi passada como o membro lpDDLcl do D3DHAL_CONTEXTCREATEDATA. Se o driver exigir posteriormente qualquer informação acessada por meio desse ponteiro DD_DIRECTDRAW_LOCAL, o driver deverá armazenar as informações na estrutura de dados de contexto privado do driver.

O estado não é compartilhado entre contextos; portanto, o driver deve manter informações de estado completo para cada contexto. Esse estado é alterado por todas as chamadas subsequentes para D3dDrawPrimitives2.

O driver deve ser capaz de referenciar todos os identificadores de textura criados dentro de um contexto. Em seguida, o driver pode limpo todos os dados específicos do driver relacionados a texturas criadas nesse contexto quando uma chamada D3dContextDestroy é feita.

D3dContextCreate pode ser chamado com um PDEV desabilitado. Um PDEV é 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

D3dContextDestroy

D3dDrawPrimitives2

DD_DIRECTDRAW_LOCAL