Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 die IRP- an, für die die Zugriffsüberprüfung ausgeführt werden soll.
[in] RequiredAccess
Gibt den Typ des Zugriffs auf das Geräteobjekt an, über das der Anforderungssender verfügen muss. Der Aufrufer kann eine 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 Absender der Anforderung verfügt nicht über den erforderlichen Zugriff auf das Geräteobjekt. |
|
Die angegebenen Parameter sind ungültig. Wenn beispielsweise die Routine an ein IRP übergeben wird, das kein IRP_MJ_DEVICE_CONTROL oder IRP_MJ_FILE_SYSTEM_CONTROL IRP ist, wird STATUS_INVALID_PARAMETER zurückgegeben. |
Bemerkungen
WdmlibIoValidateDeviceIoControlAccess ermöglicht Treibern, dynamische Zugriffsprüfungen für IOCTLs durchzuführen. Verwenden Sie diese Routine, um restriktiveren Zugriff zu erfordern, als in der IOCTL-Definition angegeben. Wenn die Routine STATUS_ACCESS_DENIED zurückgibt, kann der Treiber die Anforderung mit dem STATUS_ACCESS_DENIED Statuswert abschließen.
Wenn beispielsweise eine IOCTL mit einem RequiredAccess- Wert von 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 strengere Sicherheit zu erfordern. Weitere Informationen zum RequiredAccess- Werts eines IOCTL finden Sie unter Definieren von E/A-Steuerelementcodes.
Die Zugriffsüberprüfungen werden nur ausgeführt, wenn das RequestorMode Member der IRP--Struktur UserMode-ist. Wenn RequestorMode-KernelMode-ist, gibt die Routine automatisch STATUS_SUCCESS zurück.
Anforderungen
| Anforderung | Wert |
|---|---|
| mindestens unterstützte 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 mit Wdmsec.lib verknüpft werden, 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 wird jetzt mit dem Windows Driver Kit [WDK]ausgeliefert.) |
| Zielplattform- | Universal |
| Header- | wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL- | NtosKrnl.exe |
| IRQL- | Beliebige Ebene |