PFND3DDDI_DEALLOCATECB fungsi panggilan balik (d3dumddi.h)
Fungsi panggilan balik pfnDeallocateCb merilis alokasi atau objek sumber daya mode kernel jika objek sumber daya dibuat.
Sintaks
PFND3DDDI_DEALLOCATECB Pfnd3dddiDeallocatecb;
HRESULT Pfnd3dddiDeallocatecb(
HANDLE hDevice,
const D3DDDICB_DEALLOCATE *unnamedParam2
)
{...}
Parameter
hDevice
Handel ke perangkat tampilan (konteks grafis).
unnamedParam2
pData [in]
Penunjuk ke struktur D3DDDICB_DEALLOCATE yang menjelaskan sumber daya yang akan dirilis.
Menampilkan nilai
pfnDeallocateCb mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
S_OK | Memori berhasil dirilis. |
E_INVALIDARG | Parameter divalidasi dan ditentukan salah. |
Fungsi ini mungkin juga mengembalikan nilai HRESULT lainnya.
Keterangan
Driver tampilan mode pengguna dapat melepaskan alokasi dengan cara berikut:
- Secara individual, dengan mengatur anggota hResource dari struktur D3DDDICB_DEALLOCATE yang ditunjukkan oleh pData ke NULL dan mengisi array di anggota HandleList D3DDDICB_DEALLOCATE dengan handel alokasi yang akan dirilis
- Dalam grup, dengan mengatur hResource ke handel sumber daya yang alokasinya akan dirilis. Jika hResource bukan NULL, anggota HandleList dan NumAllocations dari D3DDDICB_DEALLOCATE diabaikan.
Perhatikan bahwa fungsi pfnDeallocateCb berbeda dari fungsi DestroyResource atau DestroyResource(D3D10) driver tampilan pengguna. Namun, driver tampilan mode pengguna biasanya memanggil pfnDeallocateCb sebagai respons terhadap panggilan ke fungsi DestroyResource atau DestroyResource(D3D10).
Catatan Direct3D Versi 9: Untuk informasi selengkapnya tentang membuat dan menghancurkan sumber daya, lihat Menangani Pembuatan dan Penghancuran Sumber Daya.
Catatan Direct3D Versi 11: Untuk informasi selengkapnya tentang cara driver memanggil pfnDeallocateCb, lihat Perubahan dari Direct3D 10.
Contoh kode berikut menunjukkan cara merilis sumber daya.
D3DDDICB_DEALLOCATE deAllocCB;
HRESULT hr;
D3DKMT_HANDLE hKMAllocHandle;
memset(&deAllocCB, 0, sizeof(deAllocCB));
deAllocCB.hResource = m_hCurResRuntime;
hr = m_d3dCallbacks.pfnDeallocateCb(m_hD3D, &deAllocCB);
if ((m_hCurResRuntime) && (SUCCEEDED(hr))) {
m_bCurResFreed = TRUE;
}
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) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk