Comprobación de errores 0x7C: BUGCODE_NDIS_DRIVER
La comprobación de errores de BUGCODE_NDIS_DRIVER tiene un valor de 0x0000007C. Esta comprobación de errores indica que el sistema operativo detectó un error en un controlador de red.
Importante
Este artículo es para 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 BUGCODE_NDIS_DRIVER
El parámetro 1 indica el tipo de infracción. El significado de los demás parámetros depende del valor del parámetro 1. Si el valor de un parámetro es "0", significa que no se usa.
Parámetro 1 | Valor del parámetro 1 y causa de error | Parámetro 2 | Parámetro 3 | Parámetro 4 |
---|---|---|---|---|
0x01 |
NDIS_BUGCHECK_ALLOCATE_SHARED_MEM_HIGH_IRQL Un controlador llamado NdisMAllocateSharedMemory en un IRQL generado. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Longitud de la memoria compartida solicitada |
IrQL actual |
0x02 |
NDIS_BUGCHECK_SHARED_MEM_CORRUPTION Durante una llamada a NdisMAllocateSharedMemory, NDIS detectó que se había dañado una página de memoria compartida asignada previamente. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Página de memoria compartida dañada |
Dirección de una NDIS_WRAPPER_CONTEXTE que realiza un seguimiento de las asignaciones de memoria compartidas por el controlador |
0x03 |
NDIS_BUGCHECK_FREE_INVALID_SHARED_MEM Un controlador de minipuerto llamado NdisMFreeSharedMemory (Async) con una dirección de memoria compartida que ya se había liberado. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Página desde la que se asignó esta memoria compartida |
Dirección virtual de la memoria compartida |
0x04 |
NDIS_BUGCHECK_UNLOAD_DRIVER_INVALID_PARAMETER Se llamó a AddDevice con un controlador que no está en la lista de controladores registrados con NDIS. Habilitado solo en NDIS instrumentado especial. |
Dirección del NDIS_M_DRIVER_BLOCK |
Dirección del DRIVER_OBJECT |
0 |
0x05 |
NDIS_BUGCHECK_RECVD_PACKET_IN_USE_BAD_STACK_LOCATION Un controlador Ethernet indicó que recibió un paquete mediante un descriptor de paquetes que estaba actualmente en uso por la pila de protocolos. Se detecta comprobando la ubicación del paquete de pila. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del descriptor de paquete usado por el controlador. Ejecute !ndiskd.pkt con esta dirección para obtener más información. |
Dirección de la matriz de paquetes que contenía este descriptor de paquete |
0x06 |
NDIS_BUGCHECK_RECVD_PACKET_IN_USE_BAD_REF_COUNT Un controlador Ethernet indicó que recibió un paquete mediante un descriptor de paquetes que estaba actualmente en uso por la pila de protocolos. Se detecta comprobando el recuento de referencias de paquetes. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del descriptor de paquete usado por el controlador. Ejecute !ndiskd.pkt con esta dirección para obtener más información. |
Dirección de la matriz de paquetes que contenía este descriptor de paquete |
0x07 |
Un controlador FDDI indicó que recibió un paquete mediante un descriptor de paquetes que actualmente estaba en uso por la pila de protocolos. Capturada comprobando el recuento de referencias. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del descriptor de paquete usado por el controlador. Ejecute !ndiskd.pkt con esta dirección para obtener más información. |
Dirección de la matriz de paquetes que contenía este descriptor de paquete |
0x08 |
NDIS_BUGCHECK_HALT_WITHOUT_INTERRUPT_DEREGISTER Un controlador de minipuerto no analizó su interrupción durante el proceso de detención. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del NDIS_MINIPORT_INTERRUPT |
0 |
0x09 |
NDIS_BUGCHECK_HALT_WITHOUT_CANCEL_TIMER Un controlador de minipuerto se detuvo sin cancelar correctamente todos sus temporizadores. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección de la cola del temporizador del controlador de miniporte (NDIS_MINIPORT_TIMER) |
0 |
0x0A |
NDIS_BUGCHECK_DRIVER_UNLOAD_UNEXPECTED Un miniportador se descarga prematuramente. |
Dirección del NDIS_M_DRIVER_BLOCK |
Dirección del DRIVER_OBJECT |
Recuento de referencias para el controlador de minipuerto |
0x0B |
NDIS_BUGCHECK_INIT_FAILED_WITHOUT_INTERRUPT_DEREGISTER Se produjo un error en la inicialización de un controlador de miniporte sin anular el registro de su interrupción. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del NDIS_MINIPORT_INTERRUPT |
0 |
0x0C |
NDIS_BUGCHECK_INIT_FAILED_WITHOUT_CANCEL_TIMER Un controlador de minipuerto produjo un error en su inicialización sin cancelar correctamente todos sus temporizadores. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección de la cola del temporizador del controlador de miniporte (NDIS_MINIPORT_TIMER) |
0 |
0x0D |
NDIS_BUGCHECK_HALT_INIT_WITHOUT_INTERRUPT_DEREGISTER Un controlador de minipuerto no analizó su interrupción durante el proceso de detención. Se llamó a la detención desde la rutina de inicialización después de que el controlador de miniporte devolvió el éxito de su controlador de inicialización. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del NDIS_MINIPORT_INTERRUPT |
0 |
0x0E |
NDIS_BUGCHECK_HALT_INIT_WITHOUT_CANCEL_TIMER Un controlador de minipuerto se detuvo sin cancelar correctamente todos sus temporizadores. Se llamó a la detención desde la rutina de inicialización después de que el controlador de miniporte devolvió el éxito de su controlador de inicialización. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección de la cola del temporizador del controlador de miniporte (NDIS_MINIPORT_TIMER) |
0 |
0x0F |
NDIS_BUGCHECK_RESET_COMPLETE_UNEXPECTED Un controlador de minipuerto denominado NdisMResetComplete sin ninguna solicitud de restablecimiento pendiente. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Estado de restablecimiento |
AddressingReset (BOOLEAN) |
0x10 |
NDIS_BUGCHECK_PM_INIT_FAILED_NO_INT_DEREGISTER Después de reanudarse desde un estado de baja potencia, un controlador de minipuerto produjo un error en su inicialización sin anular el registro de su interrupción. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del NDIS_MINIPORT_INTERRUPT |
0 |
0x11 |
NDIS_BUGCHECK_PM_INIT_FAILED_NO_CANCEL_TIMER Después de reanudarse desde un estado de baja potencia, un controlador de minipuerto produjo un error en su inicialización sin cancelar correctamente todos sus temporizadores. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección de la cola del temporizador del controlador de miniporte (NDIS_MINIPORT_TIMER) |
0 |
0x12 |
NDIS_BUGCHECK_NFILTER_RECVD_PACKET_BAD_REF_COUNT Un controlador de minipuerto indicó que recibió un paquete mediante un descriptor de paquetes que actualmente estaba en uso por la pila de protocolos. Se detecta comprobando el recuento de referencias de paquetes. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del descriptor de paquete usado por el controlador. Ejecute !ndiskd.pkt con esta dirección para obtener más información. |
Dirección de la matriz de paquetes que contenía este descriptor de paquete |
0x13 |
NDIS_BUGCHECK_TFILTER_RECVD_PACKET_BAD_REF_COUNT Un controlador de minipuerto Token-Ring indicó que recibió un paquete mediante un descriptor de paquetes que actualmente estaba en uso por la pila de protocolos. Se detecta comprobando el recuento de referencias de paquetes. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
Dirección del descriptor de paquete usado por el controlador. Ejecute !ndiskd.pkt con esta dirección para obtener más información. |
Dirección de la matriz de paquetes que contenía este descriptor de paquete |
0x14 |
NDIS_BUGCHECK_WAIT_EVENT_HIGH_IRQL Un controlador NDIS llamado NdisWaitEvent en un IRQL ilegal |
IrQL real |
0 |
0 |
0x15 |
NDIS_BUGCHECK_INVALID_NDIS5_CALL Un controlador de minipuerto denominado API que está reservado para controladores más antiguos. El controlador solo debe llamar a las API de NDIS 6.x. |
Dirección del bloque de adaptador de minipuerto específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
0 |
0 |
0x16 |
NDIS_BUGCHECK_INVALID_OPEN_IN_BIND_CONTEXT Un controlador de protocolo abrió incorrectamente un adaptador durante el enlace. |
Dirección del protocolo específico. Ejecute !ndiskd.protocol con esta dirección para obtener más información. |
Dirección del área de contexto asignada por el controlador de protocolo. ¡Conversión a ndis! NDIS_BIND_CONTEXT. |
Dirección del identificador abierto. Ejecute !ndiskd.mopen con esta dirección para obtener más información. |
0 x 17 |
NDIS_BUGCHECK_IFPROVIDER_DEREGISTER_UNEXPECTED Un proveedor de interfaz llamado NdisIfDeregisterProvider sin quitar primero todas sus interfaces. |
Dirección del identificador del proveedor de interfaz. Ejecute !ndiskd.ifprovider con esta dirección para obtener más información. |
0 |
0 |
0x1B |
NDIS_BUGCHECK_IF_STACK_TABLE_LOOP Un controlador intentó agregar una interfaz a ifStackTable, pero hacerlo provocaría un ciclo. IfStackTable no debe tener ciclos. Ejecute !ndiskd.ifstacktable para ver la tabla actual (antes de esta llamada a NdisIfAddIfStackEntry). |
HigherLayerIfIndex que se va a agregar a la tabla |
LowerLayerIfIndex que se va a agregar a la tabla |
0 |
0x1C |
NDIS_BUGCHECK_MINIPORT_FAILED_OID_WHICH_MUST_SUCCEED Un controlador de minipuerto produjo un error en una solicitud de OID que no debe producir un error. Si lo hace, se perdería memoria u otros recursos. |
Dirección del bloque de adaptador de miniporte específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
El OID que se produjo un error. Use !ndiskd.help para encontrar el nombre de este OID. |
Código de estado de error (NDIS_STATUS_XXX) con el que se completó la solicitud de OID |
0x1D |
NDIS_BUGCHECK_OID_REQUEST_INVALID_BUFFER Un controlador de miniporte o un controlador de filtro ha completado una solicitud de OID ilegal. Compruebe que BytesWritten no es mayor que toda la longitud del búfer. |
Dirección del bloque de módulo de filtro o adaptador de miniporte específico. Ejecute !ndiskd.netadapter o !ndiskd.filter con esta dirección para obtener más información. |
Dirección a la NDIS_OID_REQUEST que se completó ilegalmente. Inspeccione con !ndiskd.oid. |
0 |
0x1E |
NDIS_BUGCHECK_REFCOUNT_IMBALANCE NDIS ha detectado un error en un recuento de referencia interno. Esto puede deberse a un subflujo de recuento de referencias (más desreferencias que referencias) o por una falta de coincidencia de etiquetas. |
0 |
Identificador interno. Use !ndiskd.ndisref o cast to ndis! NDIS_REFCOUNT_BLOCK. |
Valor reftag actual |
0x1F |
NDIS_BUGCHECK_ILLEGAL_MINIPORT_STATE_TRANSITION Un miniportador completó una transición de estado ilegal. |
¿Qué ha fallado? Valores posibles:
|
Dirección del bloque de adaptador de miniporte específico. Ejecute !ndiskd.netadapter con esta dirección para obtener más información. |
0 |
0x20 |
NDIS_BUGCHECK_STATUS_INDICATION_INVALID_BUFFER Un controlador de miniporte o un controlador de filtro indicaron un NDIS_STATUS_INDICATION ilegal. |
Tipo de la indicación de estado. Ejecute !ndiskd.help con este código para obtener más información. |
Identificador de la instancia del controlador que indica esta indicación de estado no válida. Ejecute !ndiskd.netadapter o !ndiskd.filter con este identificador para obtener más información. |
Dirección de la carga de indicación de estado. Su interpretación depende del tipo de indicación de estado. |
0x21 |
NDIS_BUGCHECK_INVALID_OBJECT_HEADER Un controlador creó un NDIS_OBJECT_HEADER no válido. |
Identificador del controlador que indica la indicación de estado ilegal. Ejecute !ndiskd.minidriver o !ndiskd.filterdriver con este identificador para obtener más información. |
Objeto con el encabezado con formato incorrecto. Su interpretación depende de la API a la que se llama. Por ejemplo, si el controlador llamó a NdisAllocateCloneOidRequest, convierta el objeto en ndis! NDIS_OID_REQUEST. |
0 |
0x22 |
NDIS_BUGCHECK_ILLEGAL_NET_PNP_EVENT Un controlador de miniporte o un controlador de filtro indicaron un NET_PNP_EVENT_NOTIFICATION ilegal. |
Identificador del controlador que indica la indicación de estado ilegal. Ejecute !ndiskd.minidriver o !ndiskd.filterdriver con este identificador para obtener más información. |
Convertir en NET_PNP_EVENT_NOTIFICATION |
0 |
0x23 |
NDIS_BUGCHECK_PD_ERROR Se detectó un error en la ruta de datos de Packet Direct. |
Subtipo de la comprobación de errores. Valores posibles:
|
El valor de Parameter 3 depende del valor de Parameter 2. Cada número de esta lista corresponde al mismo número en el parámetro 2.
|
El valor de Parameter 4 depende del valor de Parameter 2. Cada número de esta lista corresponde al mismo número en el parámetro 2.
|
0x24 |
NDIS_BUGCHECK_UNEXPECTED_FAILURE Error inesperado en una operación interna. Esto es probable que sea un error en NDIS.SYS en sí mismo. |
Operación que produjo un error. Valores posibles: 0x01 : NDIS_BUGCHECK_UNEXPECTED_FAILURE_KEWAITFORSINGLEOBJECT Error en una llamada a KeWaitForSingleObject. |
Código de estado del error |
0 |
0x25 |
NDIS_BUGCHECK_WATCHDOG Un intento de administrar la pila de red ha tardado demasiado tiempo. Cuando NDIS llama a otros controladores, NDIS inicia un temporizador guardián para asegurarse de que la llamada se completa rápidamente. Si la llamada tarda demasiado tiempo, NDIS inserta una comprobación de errores. Esto puede deberse a un interbloqueo simple. Mire con "!stacks 2 ndis" o similar para ver si algún subproceso parece sospechoso. Preste especial atención al elemento PrimaryThread de la NDIS_WATCHDOG_TRIAGE_BLOCK. Esto puede deberse a las nbls perdidas, en cuyo caso !ndiskd.pendingnbls puede ayudar. Compruebe si hay identificadores OID que están bloqueados con !ndiskd.oid. |
Operación que tardó demasiado tiempo. Valores posibles:
|
¡Conversión a ndis! NDIS_WATCHDOG_TRIAGE_BLOCK. Campos útiles:
|
El valor de Parameter 4 depende del valor de Parameter 2. Cada número de esta lista corresponde al mismo valor hexadecimal en el parámetro 2.
|
0x26 |
NDIS_BUGCHECK_INVALID_OID_COMPLETION Un controlador de minipuerto intentó completar una solicitud de OID que no está pendiente actualmente en ese controlador de minipuerto. Esto puede deberse a que el controlador intenta completar la misma solicitud más de una vez. |
Controlador de miniporte que provocó la comprobación de errores. Ejecute !ndiskd.minidriver con este controlador para obtener más información. |
El OID de NDIS solicitaba que el controlador de miniporte estuviera intentando completarse. Puede intentar ejecutar !ndiskd.oid con esta solicitud, pero es posible que la memoria no sea válida en este momento. |
0 |
0x27 |
NDIS_BUGCHECK_LEAKED_NBL Un controlador ha filtrado una estructura de NET_BUFFER_LIST . Compruebe con !ndiskd.pendingnbls para ver las NBL que aún están pendientes en este controlador. |
Donde se detectó la fuga. Valores posibles:
|
0 |
0 |
Causa
El parámetro 1 indica la causa específica de la comprobación de errores de BUGCODE_NDIS_DRIVER.
Comentarios
El BUGCODE_NDIS_DRIVER problemas de comprobación de errores no didifies en los controladores de red. A menudo, el problema se debe a un controlador de miniporte NDIS. Puede obtener una lista completa de controladores de minipuerto de NDIS mediante !ndiskd.netadapter. Puede obtener una visión general más amplia de la pila de red con !ndiskd.netreport.
Este código de comprobación de errores solo se produce en Microsoft Windows Server 2003 y versiones posteriores de Windows. En Windows 2000 y Windows XP, el código correspondiente es la comprobación de errores 0xD2 (BUGCODE_ID_DRIVER).