Método IDirect3DSurface9::GetDC (d3d9helper.h)
Recupera um contexto de dispositivo.
Sintaxe
HRESULT GetDC(
[out] HDC *phdc
);
Parâmetros
[out] phdc
Tipo: HDC*
Ponteiro para o contexto do dispositivo para a superfície.
Retornar valor
Tipo: HRESULT
Se o método for bem-sucedido, o valor retornado será D3D_OK. D3DERR_INVALIDCALL será retornado se o argumento for inválido.
Comentários
As restrições a seguir se aplicam.
- IDirect3DSurface9::GetDC é válido apenas nos seguintes formatos: D3DFMT_R5G6B5, D3DFMT_X1R5G5B5, D3DFMT_R8G8B8 e D3DFMT_X8R8G8B8. Não há suporte para formatos que contenham Alfa porque as implementações de GDI não têm um comportamento bem definido no canal alfa. Para obter mais informações sobre formatos, consulte D3DFORMAT.
- Somente um contexto de dispositivo por superfície pode ser retornado por vez.
- IDirect3DSurface9::GetDC falhará se a superfície já estiver bloqueada. Se a superfície for membro de um mipmap ou cubemap, IDirect3DSurface9::GetDC falhará se qualquer outro membro mipmap ou cubemap estiver bloqueado.
- IDirect3DSurface9::GetDC falha em destinos de renderização, a menos que eles tenham sido criados bloqueáveis (ou, no caso de buffers de fundo, com o sinalizador D3DPRESENTFLAG_LOCKABLE_BACKBUFFER).
- Para superfícies não criadas com IDirect3DDevice9::CreateOffscreenPlainSurface, IDirect3DSurface9::GetDC falhará em superfícies de pool padrão (D3DPOOL_DEFAULT), a menos que sejam dinâmicas (D3DUSAGE_DYNAMIC) ou sejam destinos de renderização bloqueáveis.
- IDirect3DSurface9::GetDC falhará em D3DPOOL_SCRATCH superfícies.
IDirect3DCubeTexture9 | IDirect3DCubeTexture9::LockRect |
IDirect3DDevice9 | IDirect3DDevice9::ColorFill |
IDirect3DDevice9::StretchRect | |
IDirect3DDevice9::UpdateSurface | |
IDirect3DDevice9::UpdateTexture | |
IDirect3DSurface9 | IDirect3DSurface9::LockRect |
IDirect3DSwapChain9 | IDirect3DSwapChain9::P resent * |
IDirect3DTexture9 | IDirect3DTexture9::LockRect |
- (em uma cadeia de troca que contém a superfície)
IDirect3DSurface9::GetDC causa um bloqueio implícito; não retenha o contexto do dispositivo para uso posterior. Chame IDirect3DSurface9::ReleaseDC para liberá-lo.
É válido chamar IDirect3DSurface9::GetDC/IDirect3DSurface9::ReleaseDC nos níveis de um mipmap ou cubemap. No entanto, essas chamadas serão lentas para todos os miplevels, exceto o nível mais alto, e as operações de GDI para esses miplevels não serão aceleradas.
O hdc fornece acesso à funcionalidade Win32 e GDI.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d9helper.h (inclua D3D9.h) |
Biblioteca | D3D9.lib |