IDirect3DSurface9::GetDC-Methode (d3d9helper.h)
Ruft einen Gerätekontext ab.
Syntax
HRESULT GetDC(
[out] HDC *phdc
);
Parameter
[out] phdc
Typ: HDC*
Zeiger auf den Gerätekontext für die Oberfläche.
Rückgabewert
Typ: HRESULT
Wenn die Methode erfolgreich ist, wird der Rückgabewert D3D_OK. D3DERR_INVALIDCALL wird zurückgegeben, wenn das Argument ungültig ist.
Hinweise
Es gelten die folgenden Einschränkungen.
- IDirect3DSurface9::GetDC ist nur für die folgenden Formate gültig: D3DFMT_R5G6B5, D3DFMT_X1R5G5B5, D3DFMT_R8G8B8 und D3DFMT_X8R8G8B8. Formate, die Alpha enthalten, werden nicht unterstützt, da die GDI-Implementierungen kein klar definiertes Verhalten im Alphakanal aufweisen. Weitere Informationen zu Formaten finden Sie unter D3DFORMAT.
- Es kann jeweils nur ein Gerätekontext pro Oberfläche zurückgegeben werden.
- IDirect3DSurface9::GetDC schlägt fehl, wenn die Oberfläche bereits gesperrt ist. Wenn die Oberfläche ein Member einer mipmap oder cubemap ist, schlägt IDirect3DSurface9::GetDC fehl, wenn ein anderes mipmap- oder cubemap-Element gesperrt ist.
- IDirect3DSurface9::GetDC schlägt bei Renderzielen fehl, es sei denn, sie wurden gesperrt (oder, im Fall von Backpuffern, mit dem flag D3DPRESENTFLAG_LOCKABLE_BACKBUFFER).
- Bei Oberflächen, die nicht mit IDirect3DDevice9::CreateOffscreenPlainSurface erstellt wurden, schlägt IDirect3DSurface9::GetDC auf Standardpooloberflächen (D3DPOOL_DEFAULT) fehl, es sei denn, sie sind dynamische (D3DUSAGE_DYNAMIC) oder absperrbare Renderziele.
- IDirect3DSurface9::GetDC schlägt auf D3DPOOL_SCRATCH Oberflächen fehl.
IDirect3DCubeTexture9 | IDirect3DCubeTexture9::LockRect |
IDirect3DDevice9 | IDirect3DDevice9::ColorFill |
IDirect3DDevice9::StretchRect | |
IDirect3DDevice9::UpdateSurface | |
IDirect3DDevice9::UpdateTexture | |
IDirect3DSurface9 | IDirect3DSurface9::LockRect |
IDirect3DSwapChain9 | IDirect3DSwapChain9::P resent * |
IDirect3DTexture9 | IDirect3DTexture9::LockRect |
- (in einer Swapchain, die die Oberfläche enthält)
IDirect3DSurface9::GetDC verursacht eine implizite Sperre; behalten Sie den Gerätekontext nicht zur späteren Verwendung bei. Rufen Sie IDirect3DSurface9::ReleaseDC auf, um es freizugeben.
Es ist gültig, IDirect3DSurface9::GetDC/IDirect3DSurface9::ReleaseDC auf Ebenen einer mipmap oder cubemap aufzurufen. Diese Aufrufe sind jedoch für alle miplevels mit Ausnahme der obersten Ebene langsam, und GDI-Vorgänge auf diesen Miplevels werden nicht beschleunigt.
Hdc bietet Zugriff auf Win32- und GDI-Funktionen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d9helper.h (include D3D9.h) |
Bibliothek | D3D9.lib |