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 device.
Sintassi
NTSTATUS WdmlibIoValidateDeviceIoControlAccess(
[in] PIRP Irp,
[in] ULONG RequiredAccess
);
Parametri
[in] Irp
Specifica l'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 valori restituiti possibili 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 non IRP_MJ_DEVICE_CONTROL oIRP_MJ_FILE_SYSTEM_CONTROL IRP, restituisce STATUS_INVALID_PARAMETER. |
Commenti
WdmlibIoValidateDeviceIoControlAccess consente ai driver di eseguire controlli di accesso dinamici per IOCTLs. Usare questa routine per richiedere un accesso più restrittivo rispetto a 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 è definito con un valore RequiredAccess di FILE_ANY_ACCESS, per impostazione predefinita qualsiasi mittente di richiesta con accesso SYNC all'oggetto dispositivo può inviare IOCTL. Usare WdmlibIoValidateDeviceIoControlAccess per richiedere una sicurezza più rigorosa in fase di esecuzione. Per altre informazioni sul valore RequiredAccess di un IOCTL, vedere Definizione dei 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.
Requisiti
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 è stata fornita prima con Windows XP Service Pack 1 [SP1] e le edizioni windows Server 2003 del Driver Development Kit [DDK] e ora vengono fornite 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 |