Bug Check 0xD2: BUGCODE_ID_DRIVER

The BUGCODE_ID_DRIVER bug check has a value of 0x000000D2. This indicates that a problem occurred with an NDIS 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.

BUGCODE_ID_DRIVER Parameters

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Message and Cause

Address of the miniport block

Number of bytes requested

0

1

Allocating shared memory at raised IRQL. A driver called NdisMAllocateSharedMemory with IRQL >= DISPATCH_LEVEL.

Address of the miniport block

The Status value submitted to NdisMResetComplete

The AddressingReset value submitted to NdisMResetComplete

0

Completing reset when one is not pending. A driver called NdisMResetComplete, but no reset was pending.

Address of the miniport block

Memory page containing address being freed

Address of shared memory signature

Virtual address being freed

Freeing shared memory not allocated. A driver called NdisMFreeSharedMemory or NdisMFreeSharedMemoryAsync with an address that is not located in NDIS shared memory.

Address of the miniport block

Address of the packet that is incorrectly included in the packet array

Address of the packet array

Number of packets in the array

Indicating packet not owned by it. The miniport's packet array is corrupt.

Address of the MiniBlock

Address of the driver object

0

0

NdisAddDevice: AddDevice called with a MiniBlock that is not on the NdisMiniDriverList.

Address of the MiniBlock

The MiniBlock's reference count

0

0

NdisMUnload: MiniBlock is getting unloaded but it is still on NdisMiniDriverList.

Address of the miniport block

Memory page

Wrapper context

Address of shared memory signature

Overwrote past allocated shared memory. The address being written to is not located in NDIS shared memory.

In the following instances of this bug check, the meaning of the parameters depends on the message and on the value of Parameter 4.

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Message and Cause

Address of the miniport block

Address of the miniport interrupt

Address of the miniport timer queue

1

Unloading without deregistering interrupt. A miniport driver failed its initialization without deregistering its interrupt.

Address of the miniport block

Address of the miniport timer queue

Address of the miniport interrupt

2

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

Address of the miniport block

Address of the miniport interrupt

Address of the miniport timer queue

1

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

Address of the miniport block

Address of the miniport timer queue

Address of the miniport interrupt

2

Unloading without deregistering timer. A miniport driver halted without successfully canceling all its timers.

Remarks

This bug check code only occurs on Windows 2000 and Windows XP. In Windows Server 2003 and later, the corresponding code is bug check 0x7C (BUGCODE_NDIS_DRIVER).

On the checked build of Windows, only the Allocating Shared Memory at Raised IRQL and Completing Reset When One is Not Pending instances of this bug check can occur. All the other instances of bug check 0xD2 are replaced with ASSERTs. See Breaking Into the Debugger for details.

Note

Checked builds were available on older versions of Windows, before Windows 10 version 1803. Use tools such as Driver Verifier and GFlags to check driver code in later versions of Windows.