Método IDirect3DSurface9::GetDC (d3d9.h)
Recupera un contexto de dispositivo.
Sintaxis
HRESULT GetDC(
[out] HDC *phdc
);
Parámetros
[out] phdc
Tipo: HDC*
Puntero al contexto del dispositivo para la superficie.
Valor devuelto
Tipo: HRESULT
Si el método se realiza correctamente, el valor devuelto es D3D_OK. D3DERR_INVALIDCALL se devuelve si el argumento no es válido.
Comentarios
Se aplican las restricciones siguientes.
- IDirect3DSurface9::GetDC solo es válido en los siguientes formatos: D3DFMT_R5G6B5, D3DFMT_X1R5G5B5, D3DFMT_R8G8B8 y D3DFMT_X8R8G8B8. Los formatos que contienen Alpha no se admiten porque las implementaciones de GDI no tienen un comportamiento bien definido en el canal alfa. Para obtener más información sobre los formatos, consulte D3DFORMAT.
- Solo se puede devolver un contexto de dispositivo por superficie a la vez.
- IDirect3DSurface9::GetDC producirá un error si la superficie ya está bloqueada. Si la superficie es miembro de un mapa mip o un mapa de cubos, IDirect3DSurface9::GetDC produce un error si cualquier otro miembro mipmap o cubemap está bloqueado.
- IDirect3DSurface9::GetDC produce un error en los destinos de representación a menos que se hayan creado bloqueados (o, en el caso de los búferes de reserva, con la marca D3DPRESENTFLAG_LOCKABLE_BACKBUFFER).
- En el caso de las superficies no creadas con IDirect3DDevice9::CreateOffscreenPlainSurface, IDirect3DSurface9::GetDC producirá un error en las superficies predeterminadas del grupo (D3DPOOL_DEFAULT), a menos que sean dinámicas (D3DUSAGE_DYNAMIC) o sean destinos de representación bloqueables.
- IDirect3DSurface9::GetDC producirá un error en D3DPOOL_SCRATCH superficies.
IDirect3DCubeTexture9 | IDirect3DCubeTexture9::LockRect |
IDirect3DDevice9 | IDirect3DDevice9::ColorFill |
IDirect3DDevice9::StretchRect | |
IDirect3DDevice9::UpdateSurface | |
IDirect3DDevice9::UpdateTexture | |
IDirect3DSurface9 | IDirect3DSurface9::LockRect |
IDirect3DSwapChain9 | IDirect3DSwapChain9::P resent * |
IDirect3DTexture9 | IDirect3DTexture9::LockRect |
- (en una cadena de intercambio que contiene la superficie)
IDirect3DSurface9::GetDC provoca un bloqueo implícito; no conserve el contexto del dispositivo para su uso posterior. Llame a IDirect3DSurface9::ReleaseDC para liberarlo.
Es válido llamar a IDirect3DSurface9::GetDC/IDirect3DSurface9::ReleaseDC en los niveles de un mapa mip o un mapa de cubos, sin embargo, estas llamadas serán lentas a todos los miplevels excepto el nivel superior, y las operaciones de GDI a estos miplevels no se acelerarán.
Hdc proporciona acceso a la funcionalidad win32 y GDI.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Windows |
Encabezado | d3d9.h (incluya D3D9.h) |
Library | D3D9.lib |