Debugging Tools for Windows

Bug Check 0x7C: BUGCODE_NDIS_DRIVER

The BUGCODE_NDIS_DRIVER bug check has a value of 0x0000007C. This bug check indicates that a problem occurred with an NDIS driver.

Parameters

The following parameters appear on the blue screen. Parameter 1 indicates the type of violation. The meaning of the other parameters depends on the value of Parameter 1.

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Cause of Error
0x01 The address of the miniport block The number of bytes that are requested The current IRQL A driver called NdisMAllocateSharedMemory at a raised IRQL.
0x02 The address of the miniport block The shared memory page that was corrupted The address of NDIS_WRAPPER_CONTEXT that keeps track of the driver's shared memory allocations During a call to NdisMAllocateSharedMemory, NDIS detected that a previously-allocated shared memory page had been corrupted.
0x03 The address of the miniport block The page that contains the shared memory The virtual address of the shared memory A driver called NdisMFreeSharedMemory[Async] with a shared memory pointer that had already been freed.
0x04 The address of NDIS_M_DRIVER_BLOCK The address of DRIVER_OBJECT 0 AddDevice was called with a driver that is not on the list of drivers that are registered with NDIS.

(Enabled only on special instrumented NDIS.)

0x05
0x06
The address of the miniport block The address of the packet descriptor that the driver uses The address of the packet array that contained this packet descriptor An Ethernet driver indicated that it received a packet by using a packet descriptor that the protocol stack is currently using.
0x07 The address of the miniport block The address of the packet descriptor that the driver uses The address of the packet array that contained this packet descriptor An FDDI driver indicated that it received a packet by using a packet descriptor that the protocol stack is currently using.
0x08 The address of the miniport block The address of NDIS_MINIPORT_INTERRUPT 0 A miniport driver did not deregister its interrupt during the halt process.
0x09 The address of the miniport block The address of the miniport driver's timer queue (NDIS_MINIPORT_TIMER) 0 A miniport driver stopped without successfully canceling all its timers.
0x0A The address of NDIS_M_DRIVER_BLOCK The address of DRIVER_OBJECT The ref count for the miniport driver A miniport driver is getting unloaded prematurely.
0x0B The address of the miniport block The address of NDIS_MINIPORT_INTERRUPT 0 A miniport driver failed its initialization without deregistering its interrupt.
0x0C The address of the miniport block The address of the miniport driver's timer queue (NDIS_MINIPORT_TIMER) 0 A miniport driver failed its initialization without successfully canceling all its timers.
0x0D The address of the miniport block The address of NDIS_MINIPORT_INTERRUPT 0 A miniport driver did not deregister its interrupt during the halt process. (The halt was called from the initialize routine after the miniport driver returned success from its initialize handler.)
0x0E The address of the miniport block The address of the miniport driver's timer queue (NDIS_MINIPORT_TIMER) 0 A miniport driver stopped without successfully canceling all its timers. (The halt was called from the initialize routine after the miniport driver returned success from its initialize handler.)
0x0F The address of the miniport block The reset status AddressingReset (BOOLEAN) A miniport driver called NdisMResetComplete without any pending reset request.
0x10 The address of the miniport block The address of NDIS_MINIPORT_INTERRUPT 0 After resuming from a low-power state, a miniport driver failed its initialization without deregistering its interrupt.
0x11 The address of the miniport block The address of the miniport driver's timer queue (NDIS_MINIPORT_TIMER) 0 After resuming from a low-power state, a miniport driver failed its initialization without successfully canceling all its timers.
0x12 The address of the miniport block The address of the packet descriptor that the driver uses The address of the packet array that contained this packet descriptor A miniport driver indicated that it received a packet by using a packet descriptor that the protocol stack is currently using.
0x13 The address of the miniport block The address of the packet descriptor that the driver uses The address of the packet array that contained this packet descriptor A Token-Ring miniport driver indicated that it received a packet by using a packet descriptor that the protocol stack currently uses.

Cause

Parameter 1 indicates the specific cause of the BUGCODE_NDIS_DRIVER bug check.

If one of the bug check parameters specifies the address of the miniport block, you can obtain more information by using !ndiskd.miniport together with this address.

If one of the bug check parameters specifies the address of the packet descriptor that the driver uses, you can obtain more information by using !ndiskd.pkt together with this address.

Comments

This bug check code occurs only on Microsoft Windows Server 2003 and later versions of Windows. In Windows 2000 and Windows XP, the corresponding code is bug check 0xD2 (BUGCODE_ID_DRIVER).

Build machine: CAPEBUILD