Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi pfnPresentCb menyalin konten dari alokasi sumber.
Sintaksis
PFND3DDDI_PRESENTCB Pfnd3dddiPresentcb;
HRESULT Pfnd3dddiPresentcb(
HANDLE hDevice,
D3DDDICB_PRESENT *unnamedParam2
)
{...}
Parameter
hDevice
Handel ke perangkat tampilan (konteks grafis).
unnamedParam2
pData [in]
Penunjuk ke struktur D3DDDICB_PRESENT yang menjelaskan alokasi sumber tempat konten disalin.
Mengembalikan nilai
pfnPresentCb mengembalikan salah satu nilai berikut:
Mengembalikan kode | Deskripsi |
---|---|
S_OK | Isi berhasil disalin. |
E_OUTOFMEMORY | pfnPresentCb tidak dapat diselesaikan karena memori yang tidak cukup. |
E_INVALIDARG | Parameter divalidasi dan ditentukan salah. |
Fungsi ini mungkin juga mengembalikan nilai HRESULT lainnya.
Komentar
Driver tampilan mode pengguna mengatur hContext anggota struktur D3DDDICB_PRESENT yang ditunjukkan oleh parameter pData ke konteks yang sebelumnya dibuat dengan memanggil fungsi pfnCreateContextCb. Driver tampilan mode pengguna harus membuat setidaknya satu konteks ketika runtime Microsoft Direct3D memanggil fungsi CreateDevice driver atau CreateDevice(D3D10) untuk membuat perangkat. Runtime Direct3D mengirimkan operasi saat ini ke konteks yang dibuat.
Catatan Direct3D Versi 11: Untuk informasi selengkapnya tentang cara driver memanggil pfnPresentCb, lihat perubahan dari Direct3D 10.
Contoh
Contoh kode berikut menunjukkan cara mengisi warna permukaan tujuan.
HRESULT hr=S_OK;
// A color-fill request that does not have a source surface
D3DDDICB_PRESENT PresentCBData = {0};
PresentCBData.hContext = m_sContexts[MULTI_ENGINE_NODE_3D].hContext;
PresentCBData.hSrcAllocation = NULL;
if (pPresent->hDstResource) {
DWORD dwDstSurf = ((DWORD)(DWORD_PTR)pPresent->hDstResource) + pPresent->DstSubResourceIndex;
_ASSERT(dwDstSurf < m_RTbl.Size());
m_RTbl[dwDstSurf].m_qwBatch = m_qwBatch;
PresentCBData.hDstAllocation = R200GetSurfaceAllocHandle(m_pR200Ctx, dwDstSurf);
}
hr = m_d3dCallbacks.pfnPresentCb(m_hD3D, &PresentCBData);
return hr;
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Tersedia di Windows Vista dan versi sistem operasi Windows yang lebih baru. |
Platform Target | Desktop |
Header | d3dumddi.h (termasuk D3dumddi.h) |