Fungsi D3DKMTLock (d3dkmthk.h)
Fungsi D3DKMTLock mengunci seluruh alokasi atau halaman tertentu dalam alokasi.
Sintaks
NTSTATUS D3DKMTLock(
D3DKMT_LOCK *unnamedParam1
);
Parameter
unnamedParam1
pData [masuk, keluar]
Penunjuk ke struktur D3DKMT_LOCK yang menjelaskan parameter untuk mengunci alokasi.
Nilai kembali
D3DKMTLock mengembalikan salah satu nilai berikut:
Menampilkan kode | Deskripsi |
---|---|
STATUS_SUCCESS | Alokasi berhasil dikunci. |
STATUS_DEVICE_REMOVED | Adaptor grafis dihentikan atau perangkat tampilan direset. |
STATUS_INVALID_PARAMETER | Parameter divalidasi dan ditentukan salah. |
STATUS_GRAPHICS_ALLOCATION_BUSY | Alokasi saat ini sedang digunakan dan tidak dapat dikunci. |
STATUS_GRAPHICS_TOO_MANY_REFERENCES | Terlalu banyak referensi yang tertunda pada alokasi. |
STATUS_GRAPHICS_CANT_EVICT_PINNED_ALLOCATION | Alokasi tidak dapat dikunci karena aperture yang memburuk tidak tersedia dan karena alokasi disematkan dan tidak dapat dikeluarkan. |
Fungsi ini mungkin juga mengembalikan nilai NTSTATUS lainnya.
Keterangan
Fungsi D3DKMTLock dipanggil untuk mengakses alokasi memori sistem dan alokasi memori video.
Contoh
Contoh kode berikut menunjukkan bagaimana OpenGL ICD dapat menggunakan D3DKMTLock untuk mengunci seluruh alokasi.
VOID* LockEntireAllocation(D3DKMT_HANDLE hDevice, D3DKMT_HANDLE hAllocation, UINT PrivateData)
{
D3DKMT_LOCK LockAllocation = {0};
LockAllocation.hDevice = hDevice;
LockAllocation.hAllocation = LockData.hAllocation;
LockAllocation.Flags.LockEntire = TRUE;
LockAllocation.PrivateDriverData = PrivateData;
LockAllocation.NumPages = 0;
LockAllocation.pPages = NULL;
if (NT_SUCCESS((*pfnKTLock)(&LockAllocation))) {
return LockAllocation.pData;
}
return NULL;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Target Platform | Universal |
Header | d3dkmthk.h (termasuk D3dkmthk.h) |
Pustaka | Gdi32.lib |
DLL | Gdi32.dll |