Fungsi WdmlibIoValidateDeviceIoControlAccess (wdmsec.h)

Fungsi WdmlibIoValidateDeviceIoControlAccess memverifikasi bahwa pengirim IRP IRP_MJ_DEVICE_CONTROL atau IRP_MJ_FILE_SYSTEM_CONTROL memiliki akses yang ditentukan ke objek perangkat.

Sintaks

NTSTATUS WdmlibIoValidateDeviceIoControlAccess(
  [in] PIRP  Irp,
  [in] ULONG RequiredAccess
);

Parameter

[in] Irp

Menentukan IRP untuk melakukan pemeriksaan akses.

[in] RequiredAccess

Menentukan jenis akses ke objek perangkat yang harus dimiliki pengirim permintaan. Pemanggil dapat menentukan satu atau beberapa bendera berikut.

Nilai Makna
FILE_READ_ACCESS
Pengirim permintaan harus memiliki akses baca ke objek perangkat
FILE_WRITE_ACCESS
Pengirim permintaan harus memiliki akses tulis ke objek perangkat.

Mengembalikan nilai

WdmlibIoValidateDeviceIoControlAccess mengembalikan nilai NTSTATUS. Kemungkinan nilai yang dikembalikan meliputi:

Menampilkan kode Deskripsi
STATUS_SUCCESS
Pengirim permintaan memiliki akses yang diperlukan ke objek perangkat.
STATUS_ACCESS_DENIED
Pengirim permintaan tidak memiliki akses yang diperlukan ke objek perangkat.
STATUS_INVALID_PARAMETER
Parameter yang ditentukan tidak valid. Misalnya, jika rutinitas diteruskan IRP yang bukan IRP IRP_MJ_DEVICE_CONTROL atau IRP_MJ_FILE_SYSTEM_CONTROL , IRP akan mengembalikan STATUS_INVALID_PARAMETER.

Keterangan

WdmlibIoValidateDeviceIoControlAccess memungkinkan driver untuk melakukan pemeriksaan akses dinamis untuk IOCTL. Gunakan rutinitas ini untuk memerlukan akses yang lebih ketat daripada yang ditentukan dalam definisi IOCTL. Jika rutin mengembalikan STATUS_ACCESS_DENIED, maka driver dapat menyelesaikan permintaan dengan nilai status STATUS_ACCESS_DENIED.

Misalnya, jika IOCTL didefinisikan dengan nilai RequiredAccess FILE_ANY_ACCESS, maka secara default setiap pengirim permintaan dengan akses SYNCHRONIZE ke objek perangkat dapat mengirim IOCTL. Gunakan WdmlibIoValidateDeviceIoControlAccess untuk memerlukan keamanan yang lebih ketat pada durasi. Untuk informasi selengkapnya tentang nilai RequiredAccess dari IOCTL, lihat Menentukan Kode Kontrol I/O.

Pemeriksaan akses hanya dilakukan jika anggota RequestorMode dari struktur IRP adalah UserMode. Jika RequestorMode adalah KernelMode, rutinitas secara otomatis mengembalikan STATUS_SUCCESS.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows Server 2003 dan versi Windows yang lebih baru. Driver yang juga harus berfungsi untuk Windows 2000 dan Windows XP dapat ditautkan ke Wdmsec.lib untuk menggunakan rutinitas ini. (Pustaka Wdmsec.lib pertama kali dikirim dengan Windows XP Service Pack 1 [SP1] dan Windows Server 2003 edisi Driver Development Kit [DDK] dan sekarang dikirim dengan Windows Driver Kit [WDK].)
Target Platform Universal
Header wdmsec.h (termasuk Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Tingkat apa pun

Lihat juga

IRP