BUGCODE_NDIS_DRIVER

Code: 0x7c (124)

As HRESULT:As NTSTATUS:

Parameters

ParameterDescription
0x01

NDIS_BUGCHECK_ALLOCATE_SHARED_MEM_HIGH_IRQL

A driver called NdisMAllocateSharedMemory at a raised IRQL.

0x02

NDIS_BUGCHECK_SHARED_MEM_CORRUPTION

During a call to NdisMAllocateSharedMemory, NDIS detected that a previously-allocated shared memory page had been corrupted.

0x03

NDIS_BUGCHECK_FREE_INVALID_SHARED_MEM

A miniport driver called NdisMFreeSharedMemory (Async) with a shared memory address that had already been freed.

0x04

NDIS_BUGCHECK_UNLOAD_DRIVER_INVALID_PARAMETER

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

NDIS_BUGCHECK_RECVD_PACKET_IN_USE_BAD_STACK_LOCATION

An Ethernet driver indicated that it received a packet using a packet descriptor that was currently in use by the protocol stack.

Caught by checking stack packet location.

0x06

NDIS_BUGCHECK_RECVD_PACKET_IN_USE_BAD_REF_COUNT

An Ethernet driver indicated that it received a packet using a packet descriptor that was currently in use by the protocol stack.

Caught by checking packet reference count.

0x07

An FDDI driver indicated that it received a packet by using a packet descriptor that was currently in use by the protocol stack.

Caught by checking reference count.

0x08

NDIS_BUGCHECK_HALT_WITHOUT_INTERRUPT_DEREGISTER

A miniport driver did not deregister its interrupt during the halt process.

0x09

NDIS_BUGCHECK_HALT_WITHOUT_CANCEL_TIMER

A miniport driver stopped without successfully canceling all its timers.

0x0A

NDIS_BUGCHECK_DRIVER_UNLOAD_UNEXPECTED

A miniport driver is getting unloaded prematurely.

0x0B

NDIS_BUGCHECK_INIT_FAILED_WITHOUT_INTERRUPT_DEREGISTER

A miniport driver failed its initialization without deregistering its interrupt.

0x0C

NDIS_BUGCHECK_INIT_FAILED_WITHOUT_CANCEL_TIMER

A miniport driver failed its initialization without successfully canceling all its timers.

0x0D

NDIS_BUGCHECK_HALT_INIT_WITHOUT_INTERRUPT_DEREGISTER

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

NDIS_BUGCHECK_HALT_INIT_WITHOUT_CANCEL_TIMER

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

NDIS_BUGCHECK_RESET_COMPLETE_UNEXPECTED

A miniport driver called NdisMResetComplete without any pending reset request.

0x10

NDIS_BUGCHECK_PM_INIT_FAILED_NO_INT_DEREGISTER

After resuming from a low-power state, a miniport driver failed its initialization without deregistering its interrupt.

0x11

NDIS_BUGCHECK_PM_INIT_FAILED_NO_CANCEL_TIMER

After resuming from a low-power state, a miniport driver failed its initialization without successfully canceling all its timers.

0x12

NDIS_BUGCHECK_NFILTER_RECVD_PACKET_BAD_REF_COUNT

A miniport driver indicated that it received a packet using a packet descriptor that was currently in use by the protocol stack.

Caught by checking packet reference count.

0x13

NDIS_BUGCHECK_TFILTER_RECVD_PACKET_BAD_REF_COUNT

A Token-Ring miniport driver indicated that it received a packet using a packet descriptor that was currently in use by the protocol stack.

Caught by checking packet reference count.

0x14

NDIS_BUGCHECK_WAIT_EVENT_HIGH_IRQL

An NDIS driver called NdisWaitEvent at an illegal IRQL

0x15

NDIS_BUGCHECK_INVALID_NDIS5_CALL

A miniport driver called an API that is reserved for older drivers. The driver should only call NDIS 6.x APIs.

0x16

NDIS_BUGCHECK_INVALID_OPEN_IN_BIND_CONTEXT

A protocol driver improperly opened an adapter during binding.

0x17

NDIS_BUGCHECK_IFPROVIDER_DEREGISTER_UNEXPECTED

An Interface Provider called NdisIfDeregisterProvider without first removing all its Interfaces.

0x1B

NDIS_BUGCHECK_IF_STACK_TABLE_LOOP

A driver attempted to add an Interface to the ifStackTable, but doing so would cause a cycle. The ifStackTable must not have cycles. Run !ndiskd.ifstacktable to see the current table (prior to this call to NdisIfAddIfStackEntry).

0x1C

NDIS_BUGCHECK_MINIPORT_FAILED_OID_WHICH_MUST_SUCCEED

A miniport driver failed an OID request that must not fail. Doing so would leak memory or other resources.

0x1D

NDIS_BUGCHECK_OID_REQUEST_INVALID_BUFFER

A miniport driver or filter driver has completed an OID request illegally. Check that BytesWritten is not greater than the entire length of the buffer.

0x1E

NDIS_BUGCHECK_REFCOUNT_IMBALANCE

NDIS has detected an error in an internal refcount. This can be caused by a refcount underflow (more dereferences than references), or by a tag mismatch.

0x1F

NDIS_BUGCHECK_ILLEGAL_MINIPORT_STATE_TRANSITION

A miniport driver completed a state transition illegally.

0x20

NDIS_BUGCHECK_STATUS_INDICATION_INVALID_BUFFER

A miniport driver or filter driver indicated an illegal NDIS_STATUS_INDICATION.

0x21

NDIS_BUGCHECK_INVALID_OBJECT_HEADER

A driver created an invalid NDIS_OBJECT_HEADER.

0x22

NDIS_BUGCHECK_ILLEGAL_NET_PNP_EVENT

A miniport driver or filter driver indicated an illegal NET_PNP_EVENT_NOTIFICATION.

0x23

NDIS_BUGCHECK_PD_ERROR

An error was detected in the Packet Direct datapath.

0x24

NDIS_BUGCHECK_UNEXPECTED_FAILURE

An internal operation failed unexpectedly. This is likely to be a bug in NDIS.SYS itself.

0x25

NDIS_BUGCHECK_WATCHDOG

An attempt to manage the network stack has taken too long. When NDIS calls out into other drivers, NDIS starts a watchdog timer to ensure the call completes promptly. If the call takes too long, NDIS injects a bugcheck.

This can be caused by a simple deadlock. Look with "!stacks 2 ndis" or similar to see if any threads look suspicious. Pay special attention to the PrimaryThread from the NDIS_WATCHDOG_TRIAGE_BLOCK.

This can be caused by lost NBLs, in which case !ndiskd.pendingnbls may help. Check for OIDs that are stuck using !ndiskd.oid.

0x26

NDIS_BUGCHECK_INVALID_OID_COMPLETION

A miniport driver attempted to complete an OID request that is not currently pending on that miniport driver. This can be caused by the driver trying to complete the same request more than one time.

0x27

NDIS_BUGCHECK_LEAKED_NBL

A driver has leaked a NET_BUFFER_LIST structure. Check with !ndiskd.pendingnbls to see any NBLs that are still pending on this driver.

Description

The BUGCODE_NDIS_DRIVER bug check has a value of 0x0000007C. This bug check indicates that the operating system detected an error in a networking driver.

Important

This article is for programmers. If you're a customer who has received a blue screen error code while using your computer, see Troubleshoot blue screen errors.

Cause

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

Remarks

The BUGCODE_NDIS_DRIVER bugcheck indendifies problems in network drivers. Often, the problem is caused by a NDIS miniport driver. You can get a complete list of NDIS miniport drivers by using !ndiskd.netadapter. You can get a bigger picture overview of the network stack with !ndiskd.netreport.

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).

Article text from the Windows driver documentation (opens in a new tab), by Microsoft, under the CC BY 4.0 (opens in a new tab) licence.

Associated Modules

ModuleCodeFound inDescription
EventCreate.exe0x7c78.11011%1
KernelBase.dll0x7c78.1The system call level is not correct.
kernel32.dll0x7c78.11011The system call level is not correct.
nslookup.exe0x7c78.11011, type = %1
sc.exe0x7c78.11011DESCRIPTION: Changes the required privileges setting of a service. The privilege settings take effect when the service process starts due to the first service in the process being started. At that time, the Service Control Manager (SCM) computes the union of all privileges required by all services that will be hosted in the same process and then creates the process with those privileges. An absence of this setting is taken to imply that the service requires all the privileges that the security subsystem allows for the process running in the service's configured account. USAGE: sc privs [service name] [privileges] OPTIONS: privileges = [E.g., SeBackupPrivilege/SeRestorePrivilege]
webservices.dll0x7c78.11011The HTTP response indicated an error, but the message did not contain a fault.
win32k.sys0x7c78.1SizeWE
win32kbase.sys0x7c1011SizeWE
8 entries