Función WdmlibIoValidateDeviceIoControlAccess (wdmsec.h)
La función WdmlibIoValidateDeviceIoControlAccess comprueba que el remitente de un IRP_MJ_DEVICE_CONTROL o IRP_MJ_FILE_SYSTEM_CONTROL IRP tenga el acceso especificado al objeto de dispositivo.
Sintaxis
NTSTATUS WdmlibIoValidateDeviceIoControlAccess(
[in] PIRP Irp,
[in] ULONG RequiredAccess
);
Parámetros
[in] Irp
Especifica el IRP de en el que se va a realizar la comprobación de acceso.
[in] RequiredAccess
Especifica el tipo de acceso al objeto de dispositivo que debe tener el remitente de la solicitud. El autor de la llamada puede especificar una o varias de las marcas siguientes.
Valor devuelto
WdmlibIoValidateDeviceIoControlAccess devuelve un valor NTSTATUS. Entre los posibles valores devueltos se incluyen:
Código devuelto | Descripción |
---|---|
|
El remitente de la solicitud tiene el acceso necesario al objeto de dispositivo. |
|
El remitente de la solicitud no tiene el acceso necesario al objeto de dispositivo. |
|
Los parámetros especificados no son válidos. Por ejemplo, si la rutina se pasa a un IRP que no es una IRP_MJ_DEVICE_CONTROL o IRP_MJ_FILE_SYSTEM_CONTROL IRP, devuelve STATUS_INVALID_PARAMETER. |
Observaciones
WdmlibIoValidateDeviceIoControlAccess permite a los controladores realizar comprobaciones de acceso dinámico para ioCTLs. Use esta rutina para requerir acceso más restrictivo que el especificado en la definición del IOCTL. Si la rutina devuelve STATUS_ACCESS_DENIED, el controlador puede completar la solicitud con el valor de estado STATUS_ACCESS_DENIED.
Por ejemplo, si se define un IOCTL con un valor de RequiredAccess de FILE_ANY_ACCESS, de forma predeterminada, cualquier remitente de solicitud con acceso SYNCHRONIZE al objeto de dispositivo puede enviar el IOCTL. Use WdmlibIoValidateDeviceIoControlAccess para requerir una seguridad más estricta en tiempo de ejecución. Para obtener más información sobre el valor de RequiredAccess de un IOCTL, vea Definición de códigos de control de E/S.
Las comprobaciones de acceso solo se realizan si el miembro requestorMode de del IRP es UserMode. Si RequestorMode es KernelMode, la rutina devuelve automáticamente STATUS_SUCCESS.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible en Windows Server 2003 y versiones posteriores de Windows. Los controladores que también deben funcionar para Windows 2000 y Windows XP pueden vincularse a Wdmsec.lib para usar esta rutina. (La biblioteca Wdmsec.lib se incluye primero con las ediciones de Windows XP Service Pack 1 [SP1] y Windows Server 2003 del Kit de desarrollo de controladores [DDK] y ahora se incluye con el Kit de controladores de Windows [WDK].) |
de la plataforma de destino de | Universal |
encabezado de | wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | Cualquier nivel |