Mengakses Memori Ruang Pengguna

Driver tidak dapat langsung mengakses memori melalui alamat virtual mode pengguna kecuali jika:

  • Beroperasi dalam konteks utas mode pengguna yang memicu operasi I/O driver saat ini.
  • Menggunakan alamat virtual utas tersebut.

Driver harus menggunakan antarmuka User-mode Accessors (UMA) untuk mengakses memori mode pengguna dengan aman.

Hanya driver tingkat tertinggi, seperti FSD, yang dapat memastikan rutinitas pengiriman mereka akan dipanggil dalam konteks utas mode pengguna tersebut. Driver tingkat tertinggi dapat memanggil MmProbeAndLockPages untuk mengunci buffer pengguna sebelum menyiapkan IRP untuk driver yang lebih rendah.

Driver tingkat terendah dan menengah yang menyiapkan objek perangkat mereka untuk I/O buffer atau I/O langsung dapat mengandalkan manajer I/O atau driver tingkat tertinggi untuk meneruskan akses yang valid ke buffer pengguna yang terkunci atau ke buffer ruang sistem dalam RUN.