WdmlibIoValidateDeviceIoControlAccess-Funktion (wdmsec.h)
Die WdmlibIoValidateDeviceIoControlAccess-Funktion überprüft, ob der Absender eines IRP_MJ_DEVICE_CONTROL oder IRP_MJ_FILE_SYSTEM_CONTROL IRP über den angegebenen Zugriff auf das Geräteobjekt verfügt.
Syntax
NTSTATUS WdmlibIoValidateDeviceIoControlAccess(
[in] PIRP Irp,
[in] ULONG RequiredAccess
);
Parameter
[in] Irp
Gibt den IRP an, für den die Zugriffsüberprüfung durchgeführt werden soll.
[in] RequiredAccess
Gibt den Typ des Zugriffs auf das Geräteobjekt an, über den der Anforderungssender verfügen muss. Der Aufrufer kann eines oder mehrere der folgenden Flags angeben.
Rückgabewert
WdmlibIoValidateDeviceIoControlAccess gibt einen NTSTATUS-Wert zurück. Mögliche Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Der Anforderungssender hat den erforderlichen Zugriff auf das Geräteobjekt. |
|
Der Anforderungssender hat nicht den erforderlichen Zugriff auf das Geräteobjekt. |
|
Die angegebenen Parameter sind ungültig. Wenn der Routine beispielsweise ein IRP übergeben wird, das kein IRP_MJ_DEVICE_CONTROL oder IRP_MJ_FILE_SYSTEM_CONTROL IRP ist, wird STATUS_INVALID_PARAMETER zurückgegeben. |
Hinweise
WdmlibIoValidateDeviceIoControlAccess ermöglicht Es Treibern, dynamische Zugriffsprüfungen für IOCTLs durchzuführen. Verwenden Sie diese Routine, um einen restriktiveren Zugriff als in der IOCTL-Definition angegeben zu erfordern. Wenn die Routine STATUS_ACCESS_DENIED zurückgibt, kann der Treiber die Anforderung mit dem STATUS_ACCESS_DENIED status-Wert abschließen.
Wenn beispielsweise eine IOCTL mit dem RequiredAccess-Wert FILE_ANY_ACCESS definiert ist, kann standardmäßig jeder Anforderungssender mit SYNCHRONIZE-Zugriff auf das Geräteobjekt die IOCTL senden. Verwenden Sie WdmlibIoValidateDeviceIoControlAccess , um zur Laufzeit eine strengere Sicherheit zu erfordern. Weitere Informationen zum RequiredAccess-Wert einer IOCTL finden Sie unter Definieren von E/A-Kontrollcodes.
Die Zugriffsüberprüfungen werden nur ausgeführt, wenn das RequestorMode-Element der IRP-StrukturUserMode ist. Wenn RequestorModeKernelMode ist, gibt die Routine automatisch STATUS_SUCCESS zurück.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Server 2003 und höheren Versionen von Windows. Treiber, die auch für Windows 2000 und Windows XP funktionieren müssen, können stattdessen einen Link zu Wdmsec.lib herstellen, um diese Routine zu verwenden. (Die Wdmsec.lib-Bibliothek wurde zuerst mit den Editionen Windows XP Service Pack 1 [SP1] und Windows Server 2003 des Driver Development Kit [DDK] ausgeliefert und ist jetzt im Lieferumfang des Windows Driver Kit [WDK]) enthalten.) |
Zielplattform | Universell |
Header | wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Beliebige Ebene |