Funzione WdmlibIoValidateDeviceIoControlAccess (wdmsec.h)
La funzione WdmlibIoValidateDeviceIoControlAccess verifica che il mittente di un IRP_MJ_DEVICE_CONTROL o IRP_MJ_FILE_SYSTEM_CONTROL IRP abbia l'accesso specificato all'oggetto dispositivo.
Sintassi
NTSTATUS WdmlibIoValidateDeviceIoControlAccess(
[in] PIRP Irp,
[in] ULONG RequiredAccess
);
Parametri
[in] Irp
Specifica il IRP in cui eseguire il controllo di accesso.
[in] RequiredAccess
Specifica il tipo di accesso all'oggetto dispositivo che il mittente della richiesta deve avere. Il chiamante può specificare uno o più flag seguenti.
Valore restituito
WdmlibIoValidateDeviceIoControlAccess restituisce un valore NTSTATUS. I possibili valori restituiti includono:
Codice restituito | Descrizione |
---|---|
|
Il mittente della richiesta ha l'accesso necessario all'oggetto dispositivo. |
|
Il mittente della richiesta non ha l'accesso necessario all'oggetto dispositivo. |
|
I parametri specificati non sono validi. Ad esempio, se la routine viene passata a un IRP che non è un IRP_MJ_DEVICE_CONTROL o IRP_MJ_FILE_SYSTEM_CONTROL IRP, restituisce STATUS_INVALID_PARAMETER. |
Osservazioni
WdmlibIoValidateDeviceIoControlAccess consente ai driver di eseguire controlli di accesso dinamici per IOCTLs. Utilizzare questa routine per richiedere un accesso più restrittivo di quello specificato nella definizione di IOCTL. Se la routine restituisce STATUS_ACCESS_DENIED, il driver può completare la richiesta con il valore di stato STATUS_ACCESS_DENIED.
Ad esempio, se un IOCTL viene definito con un valore RequiredAccess di FILE_ANY_ACCESS, per impostazione predefinita qualsiasi mittente della richiesta con accesso SYNCHRONIZE all'oggetto dispositivo può inviare L'IOCTL. Usare WdmlibIoValidateDeviceIoControlAccess per richiedere una sicurezza più rigorosa in fase di esecuzione. Per altre informazioni sul valore RequiredAccess di un IOCTL, vedere Definizione di codici di controllo I/O.
I controlli di accesso vengono eseguiti solo se il membro RequestorMode della struttura IRP è UserMode. Se RequestorMode è KernelMode, la routine restituisce automaticamente STATUS_SUCCESS.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Windows Server 2003 e versioni successive di Windows. I driver che devono funzionare anche per Windows 2000 e Windows XP possono invece collegarsi a Wdmsec.lib per usare questa routine. (La libreria Wdmsec.lib fornita prima con le edizioni Windows XP Service Pack 1 [SP1] e Windows Server 2003 del Driver Development Kit [DDK] e ora viene fornito con Windows Driver Kit [WDK].) |
piattaforma di destinazione | Universale |
intestazione | wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h) |
libreria | NtosKrnl.lib |
dll | NtosKrnl.exe |
IRQL | Qualsiasi livello |