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.