Debugging Tools for Windows |
The BUGCODE_NDIS_DRIVER bug check has a value of 0x0000007C. This bug check indicates that a problem occurred with an NDIS driver.
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. |
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.
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).