estrutura D3DHAL_CONTEXTCREATEDATA (d3dhal.h)

A estrutura D3DHAL_CONTEXTCREATEDATA contém todas as informações que a função D3dContextCreate requer para criar um novo contexto.

Sintaxe

typedef struct _D3DHAL_CONTEXTCREATEDATA {
  union {
    LPDDRAWI_DIRECTDRAW_GBL lpDDGbl;
    LPDDRAWI_DIRECTDRAW_LCL lpDDLcl;
  };
  union {
    LPDIRECTDRAWSURFACE       lpDDS;
    LPDDRAWI_DDRAWSURFACE_LCL lpDDSLcl;
  };
  union {
    LPDIRECTDRAWSURFACE       lpDDSZ;
    LPDDRAWI_DDRAWSURFACE_LCL lpDDSZLcl;
  };
  union {
    DWORD     dwPID;
    ULONG_PTR dwrstates;
  };
  ULONG_PTR dwhContext;
  HRESULT   ddrval;
} D3DHAL_CONTEXTCREATEDATA;

Membros

lpDDGbl

Estrutura do driver (herdada).

lpDDLcl

Aponta para o objeto DirectDraw que um aplicativo deve criar para recuperar a interface COM para Direct3D. Isso permite que as informações de contexto sejam compartilhadas entre um aplicativo DirectDraw e o driver. LpDDLcl é o fator comum e de associação entre o contexto do aplicativo e o contexto do driver. Ele aponta para uma estrutura de DD_DIRECTDRAW_LOCAL que é usada para identificar as superfícies que pertencem a um determinado contexto Direct3D e é relevante apenas para o processo DirectDraw atual. LpDDLcl é necessário porque superfícies (por exemplo, buffers de profundidade, buffers de renderização e texturas) podem ser criadas antes que um contexto Direct3D seja criado no driver.

lpDDS

Superfície a ser usada como destino.

lpDDSLcl

Aponta para uma estrutura de DD_SURFACE_LOCAL que descreve a superfície DirectDraw a ser usada como o destino de renderização.

lpDDSZ

Superfície a ser usada como Z.

lpDDSZLcl

Aponta para uma estrutura de DD_SURFACE_LOCAL que descreve a superfície DirectDraw a ser usada como um buffer de profundidade. Se esse membro for NULL, nenhum buffer de profundidade será executado.

dwPID

Especifica a ID do processo atual. Essa é a ID do processo do aplicativo Direct3D que iniciou a criação do dispositivo Direct3D.

dwrstates

Aponta para uma matriz de estado de renderização que o driver deve atualizar quando analisa os comandos de estado de renderização do buffer de comando. O buffer de matriz deve ser grande o suficiente para conter pelo menos o número especificado de valores ULONG.

dwhContext

Especifica um local que indica, na entrada, a versão do runtime do modo de usuário do Direct3D e, na saída, onde o driver retorna o identificador de contexto ao criar o contexto com êxito. Confira Comentários para obter mais informações.

ddrval

Especifica o local em que o driver grava o código de retorno para D3dContextCreate. Um código de retorno de D3D_OK indica êxito. Um código de retorno de D3DHAL_OUTOFCONTEXTS indica que o driver não pode criar o contexto. Para obter mais informações, consulte Códigos de retorno para retornos de chamada do Driver Direct3D.

Comentários

Quando o runtime do Direct3D chama a função D3dContextCreate do driver, o runtime especifica um número que indica a versão do modo de usuário do runtime no membro dwhContext . A tabela a seguir mostra um mapeamento de números e versões do modo de usuário.

Número Versão do modo de usuário do DirectX
5 9.0
4 8.0
3 7.0
2 6,0
1 5,0
0 3,0

Se o driver criar um contexto com êxito, o driver retornará a ID de contexto em dwhContext para o runtime do Direct3D a ser usado ao se comunicar com o driver.

Requisitos

   
Cabeçalho d3dhal.h (include D3dhal.h)

Confira também

D3dContextCreate

DD_DIRECTDRAW_LOCAL

DD_SURFACE_LOCAL