Metodo IDirect3DSurface9::GetDC (d3d9helper.h)
Recupera un contesto di dispositivo.
Sintassi
HRESULT GetDC(
[out] HDC *phdc
);
Parametri
[out] phdc
Tipo: HDC*
Puntatore al contesto del dispositivo per la superficie.
Valore restituito
Tipo: HRESULT
Se il metodo ha esito positivo, il valore restituito viene D3D_OK. D3DERR_INVALIDCALL viene restituito se l'argomento non è valido.
Commenti
Si applicano le restrizioni seguenti.
- IDirect3DSurface9::GetDC è valido solo nei formati seguenti: D3DFMT_R5G6B5, D3DFMT_X1R5G5B5, D3DFMT_R8G8B8 e D3DFMT_X8R8G8B8. I formati che contengono Alfa non sono supportati perché le implementazioni GDI non hanno un comportamento ben definito nel canale alfa. Per altre informazioni sui formati, vedere D3DFORMAT.
- È possibile restituire un solo contesto di dispositivo per superficie alla volta.
- IDirect3DSurface9::GetDC avrà esito negativo se la superficie è già bloccata. Se la superficie è un membro di un mipmap o di una mappa cubo, IDirect3DSurface9::GetDC ha esito negativo se un altro membro mipmap o cubemap è bloccato.
- IDirect3DSurface9::GetDC ha esito negativo nelle destinazioni di rendering a meno che non siano state create bloccate (o, nel caso dei buffer back, con il flag D3DPRESENTFLAG_LOCKABLE_BACKBUFFER).
- Per le superfici non create con IDirect3DDevice9::CreateOffscreenPlainSurface, IDirect3DSurface9::GetDC avrà esito negativo nelle superfici del pool predefinito (D3DPOOL_DEFAULT) a meno che non siano dinamiche (D3DUSAGE_DYNAMIC) o siano destinazioni di rendering bloccabili.
- IDirect3DSurface9::GetDC avrà esito negativo sulle superfici D3DPOOL_SCRATCH.
IDirect3DCubeTexture9 | IDirect3DCubeTexture9::LockRect |
IDirect3DDevice9 | IDirect3DDevice9::ColorFill |
IDirect3DDevice9::StretchRect | |
IDirect3DDevice9::UpdateSurface | |
IDirect3DDevice9::UpdateTexture | |
IDirect3DSurface9 | IDirect3DSurface9::LockRect |
IDirect3DSwapChain9 | IDirect3DSwapChain9::P resent * |
IDirect3DTexture9 | IDirect3DTexture9::LockRect |
- (su una catena di scambio che contiene la superficie)
IDirect3DSurface9::GetDC causa un blocco implicito; non conservare il contesto del dispositivo per un uso successivo. Chiama IDirect3DSurface9::ReleaseDC per rilasciarlo.
È valido chiamare IDirect3DSurface9::GetDC/IDirect3DSurface9::ReleaseDC sui livelli di una mappa mipmap o cubo, ma queste chiamate saranno lente a tutte le miplevel, ad eccezione del livello più alto e le operazioni GDI a questi miplevel non verranno accelerate.
Hdc fornisce l'accesso alle funzionalità Win32 e GDI.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d9helper.h (include D3D9.h) |
Libreria | D3D9.lib |