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 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. |
Comentarios
WdmlibIoValidateDeviceIoControlAccess permite a los controladores realizar comprobaciones de acceso dinámico para ioCTLs. Use esta rutina para requerir un acceso más restrictivo que el especificado en la definición de 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 RequiredAccess de FILE_ANY_ACCESS, de forma predeterminada, cualquier remitente de la 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 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 la estructura IRP es UserMode. Si RequestorMode es KernelMode, la rutina devuelve automáticamente STATUS_SUCCESS.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | 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 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].) |
Plataforma de destino | Universal |
Encabezado | wdmsec.h (include Wdmsec.h, Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | Cualquier nivel |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de