Método IDirect3DSurface9::GetDC (d3d9helper.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 ejecuta 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 Alfa 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 se bloquea cualquier otro miembro mipmap o cubemap.
- IDirect3DSurface9::GetDC produce un error en los destinos de representación a menos que se hayan creado bloqueos (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 conservan el contexto del dispositivo para su uso posterior. Llame a IDirect3DSurface9::ReleaseDC para liberarlo.
Es válido llamar a IDirect3DSurface9::GetDC/IDirect3DSurface9::ReleaseDC en 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 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 | d3d9helper.h (incluya D3D9.h) |
Library | D3D9.lib |