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 (herdado).
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 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 DD_SURFACE_LOCAL que descreve a superfície DirectDraw a ser usada como o destino de renderização.
lpDDSZ
Surface a ser usado como Z.
lpDDSZLcl
Aponta para uma estrutura DD_SURFACE_LOCAL que descreve a superfície do 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 comandos. 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, em que 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 usar ao se comunicar com o driver.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | d3dhal.h (inclua D3dhal.h) |