Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
A continuación se presentan errores adicionales que a veces cometen los controladores de software al manejar IRP.
IRP perdidos o duplicadamente completados
Estos problemas, junto con las llamadas faltantes a las rutinas del administrador de E/S, como IoStartNextPacket, a menudo se producen en caminos de manejo de errores. Las revisiones rápidas de las rutas de acceso de los conductores pueden detectar estos problemas.
Convergencia de las rutas IOCTL públicas y privadas
Como regla general, los controladores deben contener rutas de acceso de ejecución independientes para ioCTLs públicos y privados (o FSCTLs). Un controlador no puede determinar si una solicitud IOCTL o FSCTL se origina en modo kernel o en modo de usuario examinando el código de control. Por lo tanto, controlar los códigos públicos y privados en la misma ruta de acceso de ejecución (o realizar una validación mínima y, a continuación, llamar a las mismas rutinas) puede abrir un controlador a brechas de seguridad. Si un IOCTL privado o FSCTL tiene privilegios, es posible que los usuarios sin privilegios que conozcan los códigos de control puedan obtener acceso a él. Por lo tanto, si el controlador admite solicitudes IOCTL o FSCTL privadas, asegúrese de que maneja dichas solicitudes por separado de cualquier IOCTLs o FSCTLs públicas que también debe admitir.