PLOAD_IMAGE_NOTIFY_ROUTINE fungsi panggilan balik (ntddk.h)

Dipanggil oleh sistem operasi untuk memberi tahu driver ketika gambar driver atau gambar pengguna (misalnya, DLL atau EXE) dipetakan ke dalam memori virtual. Sistem operasi memanggil rutinitas ini setelah gambar dipetakan ke memori, tetapi sebelum titik masuknya dipanggil.

Peringatan

Tindakan yang dapat Anda lakukan dalam rutinitas ini dibatasi untuk panggilan yang aman. Lihat Praktik Terbaik.

Sintaks

PLOAD_IMAGE_NOTIFY_ROUTINE PloadImageNotifyRoutine;

void PloadImageNotifyRoutine(
  [in, optional] PUNICODE_STRING FullImageName,
  [in]           HANDLE ProcessId,
  [in]           PIMAGE_INFO ImageInfo
)
{...}

Parameter

[in, optional] FullImageName

Penunjuk ke string Unicode buffer yang mengidentifikasi file gambar yang dapat dieksekusi. (Parameter FullImageName dapat berupa NULL dalam kasus di mana sistem operasi tidak dapat memperoleh nama lengkap gambar pada waktu pembuatan proses.)

[in] ProcessId

ID proses dari proses di mana gambar telah dipetakan, tetapi handel ini nol jika gambar yang baru dimuat adalah driver.

[in] ImageInfo

Penunjuk ke struktur IMAGE_INFO yang berisi informasi gambar. Lihat Keterangan.

Mengembalikan nilai

Tidak ada

Keterangan

Driver pembuatan profil sistem tingkat tertinggi dapat memanggil PsSetLoadImageNotifyRoutine untuk menyiapkan load-image mereka memberi tahu rutin.

Sistem operasi tidak memanggil load-image memberi tahu rutinitas ketika bagian yang dibuat dengan atribut SEC_IMAGE_NO_EXECUTE dipetakan ke memori virtual.

Di Windows 7, Windows Server 2008 R2, dan versi Windows yang lebih lama, sistem operasi memegang kunci sistem internal selama panggilan ke load-image memberi tahu rutinitas untuk gambar yang dimuat di ruang alamat proses pengguna (ruang pengguna). Untuk menghindari kebuntuan, load-image memberi tahu rutinitas tidak boleh memanggil rutinitas sistem yang memetakan, mengalokasikan, mengkueri, membebaskan, atau melakukan operasi lain pada memori virtual ruang pengguna.

Driver harus menghapus panggilan balik apa pun yang didaftarkannya sebelum dibongkar. Anda dapat menghapus panggilan balik dengan memanggil rutinitas PsRemoveLoadImageNotifyRoutine .

Ketika gambar utama yang dapat dieksekusi untuk proses yang baru dibuat dimuat, load-image memberi tahu rutin berjalan dalam konteks proses baru. Sistem operasi memanggil gambar beban driver memberi tahu rutin pada PASSIVE_LEVEL di dalam wilayah penting dengan APC kernel normal selalu dinonaktifkan dan kadang-kadang dengan kernel dan APC khusus dinonaktifkan.

Ketika load-image memberi tahu rutin dipanggil, input FullImageName menunjuk ke string Unicode yang di-buffer yang mengidentifikasi file gambar yang dapat dieksekusi. (Parameter FullImageName dapat berupa NULL dalam kasus di mana sistem operasi tidak dapat memperoleh nama lengkap gambar pada waktu pembuatan proses.) Handel ProcessId mengidentifikasi proses di mana gambar telah dipetakan, tetapi handel ini nol jika gambar yang baru dimuat adalah driver. Untuk melihat format data yang di-buffer di ImageInfo, lihat IMAGE_INFO. Jika bendera ExtendedInfoPresent diatur dalam struktur IMAGE_INFO , informasi tersebut adalah bagian dari versi struktur informasi gambar yang lebih besar dan diperluas, IMAGE_INFO_EX.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header ntddk.h (termasuk Ntddk.h)
IRQL PASSIVE_LEVEL

Lihat juga

IMAGE_INFO

IMAGE_INFO_EX

PsSetLoadImageNotifyRoutine