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 |
---|---|
|
Pengirim permintaan harus memiliki akses baca ke objek perangkat |
|
Pengirim permintaan harus memiliki akses tulis ke objek perangkat. |
Mengembalikan nilai
WdmlibIoValidateDeviceIoControlAccess mengembalikan nilai NTSTATUS. Kemungkinan nilai yang dikembalikan meliputi:
Menampilkan kode | Deskripsi |
---|---|
|
Pengirim permintaan memiliki akses yang diperlukan ke objek perangkat. |
|
Pengirim permintaan tidak memiliki akses yang diperlukan ke objek perangkat. |
|
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk