Comprobación de errores 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
La comprobación de errores DRIVER_VERIFIER_IOMANAGER_VIOLATION tiene un valor de 0x000000C9. Este es el código de comprobación de errores para todas las infracciones de comprobación de E/S del comprobador de controladores.
Importante
Este artículo va dirigido a programadores. Si es un cliente que ha recibido un código de error de pantalla azul mientras usa el equipo, consulte Solución de errores de pantalla azul.
parámetros de DRIVER_VERIFIER_IOMANAGER_VIOLATION
Cuando el Comprobador de controladores está activo y la comprobación de E/S está seleccionada, varias infracciones de E/S harán que se emita esta comprobación de errores. El parámetro 1 identifica el tipo de infracción.
Parámetro 1 | Parámetro 2 | Parámetro 3 | Parámetro 4 | Causa del error |
---|---|---|---|---|
0x01 |
Dirección de IRP que se libera |
0 |
0 |
El controlador intentó liberar un objeto cuyo tipo no es IO_TYPE_IRP. |
0x02 |
Dirección de IRP que se libera |
0 |
0 |
El controlador intentó liberar un IRP que todavía está asociado a un subproceso. |
0x03 |
Dirección del IRP que se envía |
0 |
0 |
El controlador pasó IoCallDriver a un tipo IRP no igual a IRP_TYPE. |
0x04 |
Dirección del objeto de dispositivo |
0 |
0 |
El controlador pasó IoCallDriver un objeto de dispositivo no válido. |
0x05 |
Dirección del objeto de dispositivo asociado al controlador infractor |
IRQL antes de IoCallDriver |
IRQL después de IoCallDriver |
IRQL cambió durante una llamada a la rutina de distribución del controlador. |
0x06 |
Estado de IRP |
Dirección del IRP que se está completando |
0 |
El controlador llamado IoCompleteRequest con un estado marcado como pendiente (o igual a -1). |
0x07 |
Dirección de la rutina de cancelación |
Dirección del IRP que se está completando |
0 |
El controlador llamado IoCompleteRequest mientras todavía se estableció su rutina de cancelación. |
0x08 |
Dirección del objeto de dispositivo |
Código de función principal de IRP |
Código de estado de excepción |
El controlador pasó IoBuildAsynchronousFsdRequest un búfer no válido. |
0x09 |
Dirección del objeto de dispositivo |
Código de control de E/S |
Código de estado de excepción |
El controlador pasó IoBuildDeviceIoControlRequest un búfer no válido. |
0x10 |
IRQL actual |
Reserved |
Reserved |
IoCallDriver se llamó anteriormente DISPATCH_LEVEL. |
0x11 |
Dirección rutinaria de distribución rápida de E/S del controlador |
IRQL antes de llamar a la rutina de distribución del controlador |
IRQL actual |
IoCallDriver se llamó anteriormente DISPATCH_LEVEL. |
0x12 |
Dirección de rutina de distribución del controlador |
IRQL antes de llamar a la rutina de distribución del controlador |
IRQL actual |
IoCallDriver se llamó anteriormente DISPATCH_LEVEL. |
0x0A |
Dirección del objeto de dispositivo |
0 |
0 |
El controlador pasó IoInitializeTimer un objeto de dispositivo con un temporizador ya inicializado. |
0x0C |
Dirección del bloque de estado de E/S |
0 |
0 |
El controlador pasó un bloque de estado de E/S a un IRP, pero este bloque se asigna en una pila que ya ha desenlazada más allá de ese punto. |
0x0D |
Dirección del objeto de evento de usuario |
0 |
0 |
El controlador pasó un evento de usuario a un IRP, pero este evento se asigna en una pila que ya ha desenlazada más allá de ese punto. |
0x0E |
IRQL actual |
Dirección de IRP |
0 |
El controlador llamado IoCompleteRequest con IRQL > DISPATCH_LEVEL. |
0x0F |
Dirección del objeto de dispositivo al que se envía el IRP |
Puntero al IRP |
Puntero al objeto de archivo |
El controlador envió una solicitud de creación con un objeto de archivo que se ha cerrado o que tenía su apertura cancelada. |
Además de los errores mencionados en la tabla anterior, hay una serie de errores de comprobación de E/S que harán que el comprobador de controladores detenga el sistema, pero que realmente no son comprobaciones de errores.
Estos errores provocan que los mensajes se muestren en la pantalla azul, en un archivo de volcado de memoria y en un depurador de kernel. Estos mensajes aparecerán de forma diferente en cada una de estas ubicaciones. Cuando se producen estos errores, el código de comprobación de errores hexadecimal 0xC9 y la cadena de comprobación de errores DRIVER_VERIFIER_IOMANAGER_VIOLATION no aparecen en la pantalla azul o en el depurador, aunque aparecerán en un archivo de volcado de memoria.
En la pantalla azul, se mostrarán los siguientes datos:
El mensaje ERROR DE COMPROBACIÓN DEL SISTEMA DE E/S.
Mensaje WDM DRIVER ERROR XXX, donde XXX es un código hexadecimal que representa el error específico. (Consulte la tabla siguiente para obtener una lista de los códigos de error de E/S y sus significados).
Nombre del controlador que provocó el error.
Normalmente, la dirección del código del controlador donde se detectó el error (parámetro 2).
Si se ha habilitado un volcado de memoria en modo kernel, la siguiente información aparecerá en el archivo de volcado de memoria:
El mensaje BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION) .
Código de error de E/S hexadecimal. (Consulte la tabla siguiente para obtener una lista de los códigos de error de E/S y sus significados).
Normalmente, la dirección del código del controlador donde se detectó el error (parámetro 2).
Si un depurador de kernel está asociado al sistema que ha provocado esta infracción, se enviará la siguiente información al depurador:
El mensaje WDM DRIVER ERROR, junto con una evaluación de la gravedad del error.
Nombre del controlador que provocó el error.
Cadena descriptiva que explica la causa de este error. A menudo se pasa información adicional, como un puntero al IRP o un puntero al objeto de dispositivo o a la información de IRQL. (Vea la tabla siguiente para obtener una lista de estas cadenas descriptivas y qué información adicional se especifica).
Una consulta para realizar más acciones. Las posibles respuestas son b (break), i (ignore), z (zap), r (remove) o d (disable). Indicar al sistema operativo que continúe le permite ver lo que sucedería "fuera de línea" si no se hubiera producido este error. Por supuesto, esto a menudo provocará comprobaciones de errores adicionales. La opción "zap" quitará realmente el punto de interrupción que provocó que se detectara este error.
Nota No se pueden omitir otras comprobaciones de errores de esta manera. Solo se pueden omitir este tipo de errores de comprobación de E/S, e incluso estos errores solo se pueden omitir si se adjunta un depurador de kernel.
En la tabla siguiente se enumeran los errores de comprobación de E/S que pueden aparecer.
Código de error de E/S | Gravedad | Causa del error |
---|---|---|
0x200 |
Unknown |
Este código cubre todos los errores de comprobación de E/S desconocidos. |
0x201 |
Error irrecuperable |
Un dispositivo se está eliminando mientras hay otro dispositivo debajo de él en la pila de controladores. Esto puede deberse a que el autor de la llamada ha olvidado llamar primero a IoDetachDevice o el controlador inferior puede haber eliminado incorrectamente. Parámetro 2: dirección en el código del controlador donde se detectó el error. |
0x202 |
Error irrecuperable |
Un controlador ha intentado desasociar de un objeto de dispositivo que no está conectado a nada. Esto puede ocurrir si se llamó a detach dos veces en el mismo objeto de dispositivo. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección del objeto de dispositivo. |
0x203 |
Error irrecuperable |
Un controlador ha llamado a IoCallDriver sin establecer la rutina de cancelación en IRP en NULL. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x204 |
Error irrecuperable |
El autor de la llamada ha pasado NULL como un objeto de dispositivo. Esto es fatal. Parámetro 2 - Reservado Parámetro 3 - Reservado |
0x205 |
Error irrecuperable |
El autor de la llamada reenvía un IRP que está actualmente en cola debajo de él. Parece que los IRP de control de código que devuelven STATUS_PENDING en este controlador se interrumpen. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x206 |
Error irrecuperable |
El autor de la llamada ha reenviado incorrectamente un IRP (campo de control no cero). El controlador debe usar IoCopyCurrentIrpStackLocationToNext o IoSkipCurrentIrpStackLocation. Parámetro 2 - Reservado Parámetro 3 - Reservado |
0x207 |
Error irrecuperable |
El autor de la llamada ha copiado manualmente la pila y ha copiado accidentalmente la rutina de finalización de la capa superior. El controlador debe usar IoCopyCurrentIrpStackLocationToNext. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x208 |
Error irrecuperable |
Este IRP está a punto de agotarse en ubicaciones de pila. Es posible que alguien haya reenviado este IRP desde otra pila. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x209 |
Error irrecuperable |
El autor de la llamada está completando un IRP que está actualmente en cola debajo de él. Parece que los IRP de control de código que devuelven STATUS_PENDING en este controlador se interrumpen. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x20A |
Error irrecuperable |
El autor de la llamada de IoFreeIrp libera un IRP que todavía está en uso. Parámetro 2 - Reservado Parámetro 3 - Reservado |
0x20B |
Error irrecuperable |
El autor de la llamada de IoFreeIrp libera un IRP que todavía está en uso. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x20C |
Error irrecuperable |
El autor de la llamada de IoFreeIrp libera un IRP que todavía está en cola en un subproceso. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x20D |
Error irrecuperable |
El autor de la llamada de IoInitializeIrp ha pasado un IRP asignado con IoAllocateIrp. Esto es ilegal y innecesario, y ha provocado una pérdida de cuota. Compruebe la documentación de IoReuseIrp si se recicla este IRP. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x20E |
Error no irrecuperable |
Un IRP de PNP tiene un estado no válido. (Cualquier IRP de PNP debe tener su estado inicializado en STATUS_NOT_SUPPORTED). Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x20F |
Error no irrecuperable |
Power IRP tiene un estado no válido. (Cualquier IRP de Power debe tener su estado inicializado en STATUS_NOT_SUPPORTED). Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x210 |
Error no irrecuperable |
Un IRP de WMI tiene un estado no válido. (Cualquier IRP de WMI debe tener su estado inicializado en STATUS_NOT_SUPPORTED). Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x211 |
Error no irrecuperable |
El autor de la llamada ha reenviado un IRP mientras omite un objeto de dispositivo en la pila. Es probable que el autor de la llamada envíe IRP al PDO en lugar del dispositivo devuelto por IoAttachDeviceToDeviceStack. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x212 |
Error no irrecuperable |
El autor de la llamada ha papelera o no ha copiado correctamente la pila del IRP. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x213 |
Error no irrecuperable |
El autor de la llamada ha cambiado el campo de estado de un IRP que no entiende. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x214 |
Error no irrecuperable |
El autor de la llamada ha cambiado el campo de información de un IRP que no entiende. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x215 |
Error no irrecuperable |
Un estado IRP no STATUS_NOT_SUPPORTED no correcto para IRP_MJ_PNP se pasa a la pila. Los IRP de PNP con errores deben completarse. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x216 |
Error no irrecuperable |
El estado de IRP_MJ_PNP establecido anteriormente se ha convertido en STATUS_NOT_SUPPORTED. Este estado de error está reservado para que lo use el sistema operativo. Los controladores no pueden producir un error en un IRP de PnP con este valor. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x217 |
Error no irrecuperable |
El controlador no ha controlado un IRP necesario. El controlador debe actualizar el estado del IRP para indicar si se ha controlado o no. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x218 |
Error no irrecuperable |
El controlador ha respondido a un IRP que está reservado para otros objetos de dispositivo en otra parte de la pila. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x219 |
Error no irrecuperable |
Un estado IRP no STATUS_NOT_SUPPORTED no correcto para IRP_MJ_POWER se pasa a la pila. Se deben completar los IRP de POWER con errores. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x21A |
Error no irrecuperable |
El estado de IRP_MJ_POWER establecido anteriormente se ha convertido en STATUS_NOT_SUPPORTED. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x21B |
Error no irrecuperable |
Un controlador ha devuelto un estado sospechoso. Esto probablemente se debe a un error de variable no inicializado en el controlador. Parámetro 3: dirección IRP. |
0x21C |
Advertencia |
El autor de la llamada ha copiado la pila irP, pero no establece una rutina de finalización. Esto es ineficaz: use IoSkipCurrentIrpStackLocation en su lugar. Parámetro 2 - Reservado Parámetro 3 - Reservado |
0x21D |
Error irrecuperable |
Un controlador de distribución IRP no se ha desasociado correctamente de la pila debajo de ella al recibir un IRP de eliminación. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x21E |
Error irrecuperable |
Un controlador de distribución IRP no ha eliminado correctamente su objeto de dispositivo al recibir un IRP de eliminación. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x21F |
Error no irrecuperable |
Un controlador no ha rellenado una rutina de distribución para una función principal irP necesaria. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x220 |
Error no irrecuperable |
IRP_MJ_SYSTEM_CONTROL ha sido completado por alguien que no sea providerId. Este IRP debe haberse completado anteriormente o debería haberse pasado. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: ProviderId. |
0x221 |
Error irrecuperable |
Un controlador de distribución IRP para un PDO ha eliminado su objeto de dispositivo, pero el hardware no se ha notificado como ausente en una consulta de relaciones de bus. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x222 |
Error irrecuperable |
El controlador de distribución IRP de un filtro de bus se ha desasociado al recibir un IRP de eliminación cuando el PDO todavía está activo. Los filtros de bus deben limpiarse en devoluciones de llamada de FastIoDetach . Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x223 |
Error irrecuperable |
Un controlador de distribución IRP para un filtro de bus ha eliminado su objeto de dispositivo, pero el PDO todavía está presente. Los filtros de bus deben limpiarse en devoluciones de llamada de FastIoDetach . Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x224 |
Error irrecuperable |
Un controlador de distribución IRP ha devuelto un estado que es incoherente con el campo IoStatus.Status del IRP. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: código de estado esperado. |
0x225 |
Error no irrecuperable |
Un controlador de distribución IRP ha devuelto un estado que es ilegal (0xFFFFFFFF). Esto probablemente se debe a una variable de pila no inicializada. Para depurar este error, use el comando ln (Enumerar símbolos más cercanos) con la dirección especificada. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: código de estado. |
0x226 |
Error irrecuperable |
Un controlador de distribución IRP ha devuelto sin pasar ni completar este IRP, o alguien olvidó devolver STATUS_PENDING. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x227 |
Error irrecuperable |
Una rutina de finalización de IRP está en código paginable. (Esto nunca se permite). Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x228 |
Error no irrecuperable |
La rutina de finalización de un controlador no ha marcado el IRP pendiente si el campo PendingReturned se estableció en el IRP pasado a él. Esto puede hacer que Windows se bloquee, especialmente si la pila devuelve un error. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x229 |
Error irrecuperable |
Se ha establecido una rutina de cancelación para un IRP que los controladores están procesando actualmente en la pila, posiblemente estompando su rutina de cancelación. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x22A |
Error no irrecuperable |
El objeto de dispositivo físico (PDO) no ha respondido a un IRP necesario. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x22B |
Error no irrecuperable |
El objeto de dispositivo físico (PDO) ha olvidado rellenar la lista de relaciones del dispositivo con el PDO para la consulta TargetDeviceRelation . Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x22C |
Error irrecuperable |
El código que implementa la consulta TargetDeviceRelation no ha llamado a ObReferenceObject en el PDO. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x22D |
Error no irrecuperable |
El autor de la llamada ha completado un IRP_MJ_PNP que no entienda en lugar de pasarlo hacia abajo. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x22E |
Error no irrecuperable |
El autor de la llamada ha completado una IRP_MJ_PNP correcta en lugar de pasarla hacia abajo. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x22F |
Error no irrecuperable |
El autor de la llamada ha completado un IRP_MJ_PNP no modificado (en lugar de pasar el IRP hacia abajo) o el IRP que no es PDO ha producido un error en irP mediante el valor no válido de STATUS_NOT_SUPPORTED. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x230 |
Error no irrecuperable |
El autor de la llamada ha completado un IRP_MJ_POWER que no entendió en lugar de pasarlo hacia abajo. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x231 |
Error irrecuperable |
El autor de la llamada ha completado una IRP_MJ_POWER correcta en lugar de pasarla hacia abajo. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x232 |
Error no irrecuperable |
El autor de la llamada ha completado un IRP_MJ_POWER no modificado (en lugar de pasar el IRP hacia abajo) o el IRP que no es PDO ha producido un error en el IRP mediante el valor no válido de STATUS_NOT_SUPPORTED. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x233 |
Error no irrecuperable |
El campo de versión de la estructura de funcionalidades de consulta en una instancia de IRP de funcionalidades de consulta no se inicializó correctamente. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x234 |
Error no irrecuperable |
El campo de tamaño de la estructura de funcionalidades de consulta en una IRP de funcionalidades de consulta no se inicializó correctamente. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x235 |
Error no irrecuperable |
El campo de dirección de la estructura de funcionalidades de consulta en una instancia de IRP de funcionalidades de consulta no se inicializó correctamente en -1. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x236 |
Error no irrecuperable |
El campo Número de interfaz de usuario de la estructura de funcionalidades de consulta en una instancia de IRP de funcionalidades de consulta no se inicializó correctamente en -1. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x237 |
Error irrecuperable |
Un controlador ha enviado un IRP restringido solo para uso del sistema. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x238 |
Advertencia |
El autor de la llamada de IoInitializeIrp ha pasado un IRP asignado con IoAllocateIrp. Esto es ilegal, innecesario y afecta negativamente al rendimiento en uso normal. Si se recicla este IRP, consulte IoReuseIrp en el Kit de controladores de Windows. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x239 |
Advertencia |
El autor de la llamada de IoCompleteRequest está completando un IRP que nunca se ha reenviado a través de una llamada a IoCallDriver o PoCallDriver. Esto puede ser un error. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x23A |
Error irrecuperable |
Un controlador ha reenviado un IRP en un IRQL que es ilegal para este código principal. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x23B |
Error no irrecuperable |
El autor de la llamada ha cambiado el campo de estado de un IRP que no entiende. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
En la tabla siguiente se enumeran los errores de comprobación de E/S adicionales que pueden aparecer. Estos errores aparecen cuando se activa la comprobación de E/S mejorada. Para obtener más información, consulte Comprobación mejorada de E/S.
Código de error de E/S | Gravedad | Causa del error |
---|---|---|
0x23C |
Error irrecuperable |
Un controlador ha completado un IRP sin establecer la rutina de cancelación en IRP en NULL. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x23D |
Error no irrecuperable |
Un controlador ha devuelto STATUS_PENDING pero no ha marcado el IRP pendiente a través de una llamada a IoMarkIrpPending. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: código de estado. |
0x23E |
Error no irrecuperable |
Un controlador ha marcado un IRP pendiente, pero no devolvió STATUS_PENDING. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: código de estado. |
0x23F |
Error irrecuperable |
Un controlador no ha heredado el bit de DO_POWER_PAGABLE de la pila a la que se ha asociado. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x240 |
Error irrecuperable |
Un controlador intenta eliminar un objeto de dispositivo que ya se ha eliminado a través de una llamada anterior a IoDeleteDevice. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x241 |
Error irrecuperable |
Un controlador ha desasociado su objeto de dispositivo durante una sorpresa quitar IRP. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x242 |
Error irrecuperable |
Un controlador ha eliminado su objeto de dispositivo durante una sorpresa quitar IRP. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x243 |
Error irrecuperable |
Un controlador no pudo borrar la marca DO_DEVICE_INITIALIZING al final de AddDevice. Parámetro 2 - Reservado. Parámetro 3 - Reservado. Parámetro 4 - |
0x244 |
Error irrecuperable |
Un controlador no ha copiado el DO_BUFFERED_IO o la marca DO_DIRECT_IO del objeto de dispositivo al que está adjuntando. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x245 |
Error irrecuperable |
Un controlador ha establecido las marcas DO_BUFFERED_IO y DO_DIRECT_IO. Estas marcas son mutuamente excluyentes. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x246 |
Error irrecuperable |
No se pudo copiar el campo DeviceType del objeto de dispositivo al que está adjuntando un controlador. Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
0x247 |
Error irrecuperable Parámetro 2 - Reservado. Parámetro 3 - Reservado. |
Se ha producido un error en un IRP que no se puede realizar legalmente. |
0x248 |
Error irrecuperable |
Un controlador ha agregado un objeto de dispositivo que no es un PDO a una consulta de relaciones de dispositivos. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x249 |
Error no irrecuperable |
Un controlador ha enumerado dos DPO secundarios que devolvieron identificadores de dispositivo idénticos. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: primera dirección de objeto de dispositivo. Parámetro 4: segunda dirección del objeto de dispositivo. |
0x24A |
Error irrecuperable |
Un controlador ha llamado erróneamente una función de E/S de archivo con IRQL no igual a PASSIVE_LEVEL. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3 - Reservado. Parámetro 4 - Reservado. |
0x24B |
Error irrecuperable |
Un controlador ha completado una solicitud de IRP_MN_QUERY_DEVICE_RELATIONS de tipo TargetDeviceRelation como correcta, pero no llenó correctamente la solicitud o reenvía el IRP a la pila de hardware subyacente. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección del objeto de dispositivo. |
0x24C |
Error no irrecuperable |
Un controlador ha devuelto STATUS_PENDING pero no ha marcado irP pendiente mediante una llamada a IoMarkIrpPending. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: código de estado. |
0x24D |
Error irrecuperable |
Un controlador ha pasado un objeto de dispositivo no válido a una función que requiere un PDO. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: dirección del objeto de dispositivo. |
0x300 |
Error no irrecuperable |
Un controlador ha devuelto un estado sospechoso. Esto probablemente se debe a un error de variable no inicializado en el controlador. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: código de estado sospechoso. |
0x301 |
Error no irrecuperable |
Un controlador ha reenviado un IRP en IRQL > DISPATCH_LEVEL. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: valor IRQL incorrecto |
0x302 |
Error no irrecuperable |
Un controlador ha reenviado un IRP en IRQL > = APC_LEVEL. El Administrador de E/S tendrá que poner en cola un APC para completar esta solicitud. El APC no podrá ejecutarse porque el autor de la llamada ya está en el nivel de APC, por lo que es probable que el autor de la llamada esté interbloqueo. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. Parámetro 4: valor IRQL incorrecto. |
0x306 |
Error no irrecuperable |
El controlador está completando una solicitud de IRP_MJ_PNP (principal) y IRP_MN_REMOVE_DEVICE (menor) con un código de estado de error. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x307 |
Error no irrecuperable |
El controlador emitió una solicitud de E/S con un evento que ya estaba señalado y recibió una respuesta STATUS_PENDING. Esto puede dar lugar a un desenredado antes de que se complete la E/S. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x310 |
Error no irrecuperable |
El controlador reinicializa un IRP que todavía está en uso. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x311 |
Error no irrecuperable |
El controlador reinicializa un IRP que se creó con IoMakeAssociatedIrp, IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest, IoBuildDeviceIoControlRequest. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
0x312 |
Error no irrecuperable |
El autor de la llamada proporcionó el campo Información de estado de IRP con un valor mayor que la sección de salida del búfer del sistema. Parámetro 2: dirección en el código del controlador donde se detectó el error. Parámetro 3: dirección IRP. |
Causa
Consulte la descripción de cada código en la sección Parámetros para obtener una descripción de la causa.
Solución
Esta comprobación de errores solo se puede producir cuando se ha indicado al Comprobador de controladores que supervise uno o varios controladores. Si no tenía intención de usar el Comprobador de controladores, debe desactivarlo. Para obtener más información, vea "Cómo controlar el comprobador de controladores" en Comprobador de controladores. También puede considerar la posibilidad de actualizar o quitar el controlador que provocó este problema.
Si es el desarrollador del controlador, use la información obtenida a través de esta comprobación de errores para corregir los errores en el código.
Para obtener información completa sobre el comprobador de controladores, consulte Comprobador de controladores.