Bug Check 0x7C: BUGCODE_NDIS_DRIVER
Windows Driver Kit: Driver Development Tools
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 1Parameter 2Parameter 3Parameter 4Cause of Error
0x01The address of the miniport blockThe number of bytes that are requestedThe current IRQLA driver called NdisMAllocateSharedMemory at a raised IRQL.
0x02The address of the miniport blockThe shared memory page that was corruptedThe address of NDIS_WRAPPER_CONTEXT that keeps track of the driver's shared memory allocationsDuring a call to NdisMAllocateSharedMemory, NDIS detected that a previously-allocated shared memory page had been corrupted.
0x03The address of the miniport blockThe page that contains the shared memoryThe virtual address of the shared memoryA driver called NdisMFreeSharedMemory[Async] with a shared memory pointer that had already been freed.
0x04The address of NDIS_M_DRIVER_BLOCKThe address of DRIVER_OBJECT0AddDevice 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 blockThe address of the packet descriptor that the driver usesThe 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.
0x07The address of the miniport blockThe address of the packet descriptor that the driver usesThe 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.
0x08The address of the miniport blockThe address of NDIS_MINIPORT_INTERRUPT0A miniport driver did not deregister its interrupt during the halt process.
0x09The address of the miniport blockThe address of the miniport driver's timer queue (NDIS_MINIPORT_TIMER)0A miniport driver stopped without successfully canceling all its timers.
0x0AThe address of NDIS_M_DRIVER_BLOCKThe address of DRIVER_OBJECTThe reference count for the miniport driverA miniport driver is getting unloaded prematurely.
0x0BThe address of the miniport blockThe address of NDIS_MINIPORT_INTERRUPT0A miniport driver failed its initialization without deregistering its interrupt.
0x0CThe address of the miniport blockThe address of the miniport driver's timer queue (NDIS_MINIPORT_TIMER)0A miniport driver failed its initialization without successfully canceling all its timers.
0x0DThe address of the miniport blockThe address of NDIS_MINIPORT_INTERRUPT0A 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.)
0x0EThe address of the miniport blockThe address of the miniport driver's timer queue (NDIS_MINIPORT_TIMER)0A 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.)
0x0FThe address of the miniport blockThe reset statusAddressingReset (BOOLEAN) A miniport driver called NdisMResetComplete without any pending reset request.
0x10The address of the miniport blockThe address of NDIS_MINIPORT_INTERRUPT0After resuming from a low-power state, a miniport driver failed its initialization without deregistering its interrupt.
0x11The address of the miniport blockThe address of the miniport driver's timer queue (NDIS_MINIPORT_TIMER)0After resuming from a low-power state, a miniport driver failed its initialization without successfully canceling all its timers.
0x12The address of the miniport blockThe address of the packet descriptor that the driver usesThe 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.
0x13The address of the miniport blockThe address of the packet descriptor that the driver usesThe 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.
0x14The current IRQL value00An NDIS driver called NdisWaitEvent at IRQL > PASSIVE_LEVEL. The function must be called at IRQL = PASSIVE_LEVEL.
0x15The address of the miniport block00An NDIS 6 miniport driver was calling an NDIS 5 API. An NDIS 6 miniport driver cannot call NdisMQueryInformationComplete or NdisMSetInformationComplete.
0x16The address of the protocol blockThe address of the context area that is allocated by the protocol driverThe address of the open block NDIS encountered an invalid handle in a binding operation.

A protocol driver’s ProtocolBindAdapterEx function returned NDIS_STATUS_SUCCESS, either directly or asynchronously through NdisCompleteBindAdapterEx. However, the binding context information contains an invalid handle to a block that indicates the open state of the miniport adapter. In this case, the open handle is not NULL, but it cannot be referenced.



0x17The address of the interface provider block00The NDIS driver was attempting to deregister as a network interface provider while an interface was still registered.

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 the !ndiskd.miniport debugger extension 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 the !ndiskd.pkt debugger extension 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).


Send feedback on this topic
Built on November 19, 2009
© 2009 Microsoft Corporation. All rights reserved.   Terms of Use | Trademarks | Privacy Statement
Page view tracker
Rate the Lightweight library
x
Lightweight builds on ScriptFree (loband) by adding features you've requested: a SearchBox and default code language selection.
Do you like the SearchBox?
Do you like the tabbed code blocks?
How useful is this topic?
Tell us more.
Thanks
x
You're helping to improve MSDN Online.
Feedback
Switch View
Classic
Lightweight Beta
ScriptFree
Switch View