Bagikan melalui


PDD_MAPMEMORY fungsi panggilan balik (ddrawint.h)

Fungsi panggilan balik DdMapMemory memetakan bagian buffer bingkai yang dapat dimodifikasi aplikasi ke dalam ruang alamat mode pengguna dari proses yang ditentukan, atau membuka memori.

Sintaks

PDD_MAPMEMORY PddMapmemory;

DWORD PddMapmemory(
  PDD_MAPMEMORYDATA unnamedParam1
)
{...}

Parameter

unnamedParam1

Menunjuk ke struktur DD_MAPMEMORYDATA yang berisi detail untuk pemetaan memori atau operasi yang tidak dipetakan.

Nilai kembali

DdMapMemory mengembalikan salah satu kode panggilan balik berikut:

Keterangan

DdMapMemory dipanggil untuk melakukan pemetaan memori sebelum panggilan pertama ke DdLock. Handel yang dikembalikan oleh driver di anggota fpProcess dari struktur DD_MAPMEMORYDATA di lpMapMemory akan diteruskan ke setiap panggilan DdLock yang dilakukan pada driver.

DdMapMemory juga dipanggil untuk menghapus memori setelah panggilan DdUnlock terakhir dilakukan.

Untuk mencegah driver macet, driver tidak boleh memetakan bagian mana pun dari buffer bingkai yang tidak boleh dimodifikasi oleh aplikasi.

Driver tampilan harus memanggil driver miniport video untuk melakukan pemetaan memori atau pembukaan. Untuk mengirim permintaan sinkron ke driver miniport video untuk memetakan memori, driver tampilan memanggil fungsi GDI EngDeviceIoControl dengan IOCTL_VIDEO_SHARE_VIDEO_MEMORY atau IOCTL_VIDEO_MAP_VIDEO_MEMORY. Driver tampilan mengirimkan IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY atau IOCTL_VIDEO_UNMAP_VIDEO_MEMORY ke driver miniport video untuk membatalkan pemetakan memori. Untuk informasi selengkapnya, lihat Mengkomunikasikan IOCTL ke Driver Miniport Video.

DdMapMemory hanya dapat dipanggil dengan PDEV yang dinonaktifkan untuk membatalkan peta memori. PDEV dinonaktifkan atau diaktifkan dengan memanggil fungsi DrvAssertMode driver tampilan. Lihat Mengelola PDEV untuk informasi selengkapnya.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header ddrawint.h (termasuk Winddi.h)

Lihat juga

DD_MAPMEMORYDATA

DdLock

DdUnlock

EngDeviceIoControl

IOCTL_VIDEO_MAP_VIDEO_MEMORY

IOCTL_VIDEO_SHARE_VIDEO_MEMORY

IOCTL_VIDEO_UNMAP_VIDEO_MEMORY

IOCTL_VIDEO_UNSHARE_VIDEO_MEMORY