PFND3DDDI_PRESENTCB fungsi panggilan balik (d3dumddi.h)
Fungsi pfnPresentCb menyalin konten dari alokasi sumber.
Sintaks
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.
Nilai kembali
pfnPresentCb mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
S_OK | Konten berhasil disalin. |
E_OUTOFMEMORY | pfnPresentCb tidak dapat diselesaikan karena memori yang tidak mencukuum. |
E_INVALIDARG | Parameter divalidasi dan ditentukan salah. |
Fungsi ini mungkin juga mengembalikan nilai HRESULT lainnya.
Keterangan
Driver tampilan mode pengguna mengatur anggota hContext dari 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 atau CreateDevice (D3D10) driver 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
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows. |
Target Platform | Desktop |
Header | d3dumddi.h (termasuk D3dumddi.h) |