Metode IDirect3DSurface9::GetDC (d3d9helper.h)
Mengambil konteks perangkat.
Sintaks
HRESULT GetDC(
[out] HDC *phdc
);
Parameter
[out] phdc
Jenis: HDC*
Arahkan ke konteks perangkat untuk permukaan.
Nilai kembali
Jenis: HRESULT
Jika metode berhasil, nilai yang dikembalikan D3D_OK. D3DERR_INVALIDCALL dikembalikan jika argumen tidak valid.
Keterangan
Pembatasan berikut berlaku.
- IDirect3DSurface9::GetDC hanya berlaku pada format berikut: D3DFMT_R5G6B5, D3DFMT_X1R5G5B5, D3DFMT_R8G8B8, dan D3DFMT_X8R8G8B8. Format yang berisi Alpha tidak didukung karena implementasi GDI tidak memiliki perilaku yang terdefinisi dengan baik pada saluran alfa. Untuk informasi selengkapnya tentang format, lihat D3DFORMAT.
- Hanya satu konteks perangkat per permukaan yang dapat dikembalikan pada satu waktu.
- IDirect3DSurface9::GetDC akan gagal jika permukaan sudah dikunci. Jika permukaan adalah anggota mipmap atau cubemap, IDirect3DSurface9::GetDC gagal jika anggota mipmap atau cubemap lainnya terkunci.
- IDirect3DSurface9::GetDC gagal pada target render kecuali dibuat dapat dikunci (atau, dalam kasus buffer belakang, dengan bendera D3DPRESENTFLAG_LOCKABLE_BACKBUFFER).
- Untuk permukaan yang tidak dibuat dengan IDirect3DDevice9::CreateOffscreenPlainSurface, IDirect3DSurface9::GetDC akan gagal pada permukaan kumpulan default (D3DPOOL_DEFAULT) kecuali jika mereka dinamis (D3DUSAGE_DYNAMIC) atau adalah target render yang dapat dikunci.
- IDirect3DSurface9::GetDC akan gagal pada permukaan D3DPOOL_SCRATCH.
IDirect3DCubeTexture9 | IDirect3DCubeTexture9::LockRect |
IDirect3DDevice9 | IDirect3DDevice9::ColorFill |
IDirect3DDevice9::StretchRect | |
IDirect3DDevice9::UpdateSurface | |
IDirect3DDevice9::UpdateTexture | |
IDirect3DSurface9 | IDirect3DSurface9::LockRect |
IDirect3DSwapChain9 | IDirect3DSwapChain9::P resent * |
IDirect3DTexture9 | IDirect3DTexture9::LockRect |
- (pada rantai pertukaran yang berisi permukaan)
IDirect3DSurface9::GetDC menyebabkan kunci implisit; jangan pertahankan konteks perangkat untuk digunakan nanti. Panggil IDirect3DSurface9::ReleaseDC untuk merilisnya.
Ini valid untuk memanggil IDirect3DSurface9::GetDC/IDirect3DSurface9::ReleaseDC pada tingkat mipmap atau cubemap, namun, panggilan ini akan lambat untuk semua miplevel kecuali tingkat paling atas, dan operasi GDI ke miplevel ini tidak akan dipercepat.
Hdc menyediakan akses ke fungsionalitas Win32 dan GDI.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d9helper.h (termasuk D3D9.h) |
Pustaka | D3D9.lib |