Windows 蓝屏代码 0x7C:BUGCODE_NDIS_DRIVER

BUGCODE_NDIS_DRIVER 错误检查的值为 0x0000007C。
此错误检查表明操作系统在网络驱动程序中检测到错误。

BUGCODE_NDIS_DRIVER 参数

参数 1 表示违规类型。
其他参数的含义取决于参数 1 的值。
如果参数的值为“0”,则表示未使用它。

Parameter 1参数 1 值和错误原因参数 2参数 3参数 4
0x01NDIS_BUGCHECK_ALLOCATE_SHARED_MEM_HIGH_IRQL<br>一个名为 NdisMAllocateSharedMemory 的驱动程序,其 IRQL 提高。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。请求共享内存的长度当前IRQL
0x02NDIS_BUGCHECK_SHARED_MEM_CORRUPTION<br>在调用 NdisMAllocateSharedMemory 期间,NDIS 检测到先前分配的共享内存页已损坏。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。损坏的共享内存页NDIS_WRAPPER_CONTEXTE 的地址,它跟踪驱动程序的共享内存分配
0x03NDIS_BUGCHECK_FREE_INVALID_SHARED_MEM<br>一个名为 NdisMFreeSharedMemory (Async) 的微型端口驱动程序,其共享内存地址已被释放。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。分配此共享内存的页面共享内存的虚拟地址
0x04NDIS_BUGCHECK_UNLOAD_DRIVER_INVALID_PARAMETER<br>使用不在 NDIS 注册的驱动程序列表中的驱动程序调用 AddDevice。<br>仅在特殊检测的 NDIS 上启用。NDIS_M_DRIVER_BLOCK的地址DRIVER_OBJECT的地址0
0x05NDIS_BUGCHECK_RECVD_PACKET_IN_USE_BAD_STACK_LOCATION<br>以太网驱动程序指示它使用协议栈当前正在使用的数据包描述符接收数据包。<br>通过检查堆栈数据包位置捕获。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。驱动程序使用的数据包描述符的地址。使用此地址运行 !ndiskd.pkt 以获取更多信息。包含此数据包描述符的数据包数组的地址
0x06NDIS_BUGCHECK_RECVD_PACKET_IN_USE_BAD_REF_COUNT<br>以太网驱动程序指示它使用协议堆栈当前正在使用的数据包描述符接收数据包。<br>通过检查数据包引用计数来捕获。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。驱动程序使用的数据包描述符的地址。使用此地址运行 !ndiskd.pkt 以获取更多信息。包含此数据包描述符的数据包数组的地址
0x07FDDI 驱动程序指示它通过使用协议栈当前正在使用的数据包描述符接收到一个数据包。<br>通过检查引用计数捕获。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。驱动程序使用的数据包描述符的地址。使用此地址运行 !ndiskd.pkt 以获取更多信息。包含此数据包描述符的数据包数组的地址
0x08NDIS_BUGCHECK_HALT_WITHOUT_INTERRUPT_DEREGISTER<br>微型端口驱动程序在暂停过程中未注销其中断。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。NDIS_MINIPORT_INTERRUPT 的地址0
0x09NDIS_BUGCHECK_HALT_WITHOUT_CANCEL_TIMER<br>微型端口驱动程序在没有成功取消其所有计时器的情况下停止。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。微型端口驱动程序的计时器队列的地址 (NDIS_MINIPORT_TIMER)0
0x0ANDIS_BUGCHECK_DRIVER_UNLOAD_UNEXPECTED<br>微型端口驱动程序过早卸载。NDIS_M_DRIVER_BLOCK的地址DRIVER_OBJECT的地址微型端口驱动程序的引用计数
0x0BNDIS_BUGCHECK_INIT_FAILED_WITHOUT_INTERRUPT_DEREGISTER<br>微型端口驱动程序在没有取消注册中断的情况下初始化失败。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。NDIS_MINIPORT_INTERRUPT0
0x0CNDIS_BUGCHECK_INIT_FAILED_WITHOUT_CANCEL_TIMER的地址<br>微型端口驱动程序在没有成功取消其所有计时器的情况下初始化失败。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。微型端口驱动程序的计时器队列的地址 (NDIS_MINIPORT_TIMER)0
0x0DNDIS_BUGCHECK_HALT_INIT_WITHOUT_INTERRUPT_DEREGISTER<br>微型端口驱动程序在暂停过程中未注销其中断。<br>在微型端口驱动程序从其初始化处理程序返回成功后,从初始化例程调用暂停。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。NDIS_MINIPORT_INTERRUPT0的地址
0x0ENDIS_BUGCHECK_HALT_INIT_WITHOUT_CANCEL_TIMER<br>微型端口驱动程序在没有成功取消其所有计时器的情况下停止。<br>在微型端口驱动程序从其初始化处理程序返回成功后,从初始化例程调用暂停。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。微型端口驱动程序的计时器队列的地址 (NDIS_MINIPORT_TIMER)0
0x0FNDIS_BUGCHECK_RESET_COMPLETE_UNEXPECTED<br>微型端口驱动程序称为 NdisMResetComplete,没有任何挂起的重置请求。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。复位状态AddressingReset (BOOLEAN)
0x10NDIS_BUGCHECK_PM_INIT_FAILED_NO_INT_DEREGISTER<br>从低功耗状态恢复后,微型端口驱动程序在没有取消注册中断的情况下初始化失败。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。NDIS_MINIPORT_INTERRUPT 的地址0
0x11NDIS_BUGCHECK_PM_INIT_FAILED_NO_CANCEL_TIMER<br>从低功耗状态恢复后,微型端口驱动程序在没有成功取消其所有计时器的情况下初始化失败。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。微型端口驱动程序的计时器队列的地址 (NDIS_MINIPORT_TIMER)0
0x12NDIS_BUGCHECK_NFILTER_RECVD_PACKET_BAD_REF_COUNT<br>微型端口驱动程序指示它使用协议堆栈当前正在使用的数据包描述符接收到数据包。<br>通过检查数据包引用计数来捕获。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。驱动程序使用的数据包描述符的地址。使用此地址运行 !ndiskd.pkt 以获取更多信息。包含此数据包描述符的数据包数组的地址
0x13NDIS_BUGCHECK_TFILTER_RECVD_PACKET_BAD_REF_COUNT<br>令牌环微型端口驱动程序指示它使用协议堆栈当前正在使用的数据包描述符接收到数据包。<br>通过检查数据包引用计数来捕获。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。驱动程序使用的数据包描述符的地址。使用此地址运行 !ndiskd.pkt 以获取更多信息。包含该分组描述符分组数组的地址
0x14NDIS_BUGCHECK_WAIT_EVENT_HIGH_IRQL<br>的NDIS驱动程序称为NdisWaitEvent在一个非法IRQL实际IRQL00
0x15NDIS_BUGCHECK_INVALID_NDIS5_CALL<br>称为 API 的微型端口驱动程序为旧驱动程序保留。驱动程序应该只调用 NDIS 6.x API。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。00
0x16NDIS_BUGCHECK_INVALID_OPEN_IN_BIND_CONTEXT<br>协议驱动程序在绑定期间未正确打开适配器。特定协议的地址。使用此地址运行 !ndiskd.protocol 以获取更多信息。协议驱动程序分配的上下文区域的地址。<br>投射到 ndis!NDIS_BIND_CONTEXT。打开句柄的地址。使用此地址运行 !ndiskd.mopen 以获取更多信息。
0x17NDIS_BUGCHECK_IFPROVIDER_DEREGISTER_UNEXPECTED<br>一个名为 NdisIfDeregisterProvider 的接口提供程序,而无需先删除其所有接口。接口提供程序句柄的地址。使用此地址运行 !ndiskd.ifprovider 以获取更多信息。00
0x1BNDIS_BUGCHECK_IF_STACK_TABLE_LOOP<br>驱动程序试图将接口添加到ifStackTable ,但这样做会导致循环。ifStackTable 不能有循环。运行 !ndiskd.ifstacktable 以查看当前表(在调用 NdisIfAddIfStackEntry 之前)。被添加到表中的 HigherLayerIfIndex 被添加到表中的 LowerLayerIfIndex0
0x1CNDIS_BUGCHECK_MINIPORT_FAILED_OID_WHICH_MUST_SUCCEED<br>微型端口驱动程序失败了不能失败的 OID 请求。这样做会泄漏内存或者其他资源。特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。失败的 OID。使用 !ndiskd.help 查找此 OID 的名称。完成 OID 请求的失败状态代码 (NDIS_STATUS_XXX)
0x1DNDIS_BUGCHECK_OID_REQUEST_INVALID_BUFFER<br>微型端口驱动程序或者过滤器驱动程序非法完成了 OID 请求。检查 BytesWritten 是否不大于缓冲区的整个长度。特定微型端口适配器或者过滤器模块块的地址。使用此地址运行 !ndiskd.netadapter 或者 !ndiskd.filter 以获取更多信息。非法完成的 NDIS_OID_REQUEST 的地址。使用 !ndiskd.oid 检查它。0
0x1ENDIS_BUGCHECK_REFCOUNT_IMBALANCE <br>NDIS 在内部引用计数中检测到错误。这可能是由引用计数下溢(取消引用多于引用)或者标签不匹配引起的。0内部手柄。使用 !ndiskd.ndisref 或者强制转换为 ndis!NDIS_REFCOUNT_BLOCK。当前 reftag 值
0x1FNDIS_BUGCHECK_ILLEGAL_MINIPORT_STATE_TRANSITION<br>微型端口驱动程序非法完成了状态转换。什么失败了。可能的值:NDIS_BUGCHECK_ILLEGAL_MINIPORT_STATE_TRANSITION_PAUSE_COMPLETE<br>微型端口称为 NdisMPauseComplete,但没有挂起的暂停操作。NDIS_BUGCHECK_ILLEGAL_MINIPORT_STATE_TRANSITION_RESTART_COMPLETE<br>微型端口称为 NdisMRestartComplete,但没有挂起的重启操作。
0x20特定微型端口适配器块的地址。使用此地址运行 !ndiskd.netadapter 以获取更多信息。0NDIS_BUGCHECK_STATUS_INDICATION_INVALID_BUFFER<br>微型端口驱动程序或者过滤器驱动程序指示非法 NDIS_STATUS_INDICATION。状态指示的类型。使用此代码运行 !ndiskd.help 以获取更多信息。
0x21指示此非法状态指示的驱动程序实例的句柄。使用此句柄运行 !ndiskd.netadapter 或者 !ndiskd.filter 以获取更多信息。状态指示有效载荷的地址。它的解释取决于状态指示的类型。NDIS_BUGCHECK_INVALID_OBJECT_HEADER<br>驱动程序创建了无效的 NDIS_OBJECT_HEADER。指示非法状态指示的驱动程序句柄。使用此句柄运行 !ndiskd.minidriver 或者 !ndiskd.filterdriver 以获取更多信息。
0x22标头格式错误的对象。它的解释取决于被调用的 API。例如,如果驱动程序调用 NdisAllocateCloneOidRequest,则将对象强制转换为 ndis!NDIS_OID_REQUEST。0NDIS_BUGCHECK_ILLEGAL_NET_PNP_EVENT<br>微型端口驱动程序或者过滤器驱动程序指示非法 NET_PNP_EVENT_NOTIFICATION。指示非法状态指示的驱动程序句柄。使用此句柄运行 !ndiskd.minidriver 或者 !ndiskd.filterdriver 以获取更多信息。
0x23投射到 NET_PNP_EVENT_NOTIFICATION0NDIS_BUGCHECK_PD_ERROR<br>在 Packet Direct 数据路径中检测到错误。错误检查的子类型。可能的值:
0x24NDIS_BUGCHECK_PD_ERROR_EC_THREAD_MISMATCH<br>在错误的线程上调用了 API。NDIS_BUGCHECK_PD_ERROR_ILLEGAL_ARM_BY_CLIENT <br>PD 客户端在非法状态下尝试装备提供程序。NDIS_BUGCHECK_PD_ERROR_ILLEGAL_ARM_NOTIFICATION <br>PD 提供程序在未设防时非法触发排放通知。NDIS_BUGCHECK_PD_ERROR_ILLEGAL_ARM_NOTIFICATION_VIA_ISR <br>PD 提供程序在未设防时非法触发 ISR 耗尽通知。
0x25NDIS_BUGCHECK_PD_ERROR_ILLEGAL_THUNK_BY_LWF<br>过滤器驱动程序试图干扰 Packet Direct 数据路径。NDIS_BUGCHECK_PD_ERROR_ILLEGAL_BM_GROUP_REQUEST <br>PD 提供程序非法尝试将自身从缓冲区管理器组中删除。NDIS_BUGCHECK_PD_ERROR_ILLEGAL_PD_BUFFER_SETUP <br>PD 缓冲区设置请求格式错误。参数 3 的值取决于参数 2 的值。此列表中的每个数字对应于参数 2 中的相同数字。
0x26Cast to NDIS_PD_EC <br>Cast to NDIS_PD_QUEUE_TRACKER <br>Cast to NDIS_PD_QUEUE_TRACKER <br>Cast to NDIS_PD_QUEUE_TRACKER<br>特定过滤器模块的句柄。使用此句柄运行 !ndiskd.filter 以获取更多信息。<br>缓冲区管理器组(如果已知)<br>源 PD_MEMORY_HANDLE 或者 PD_BUFFER参数 4 的值取决于参数 2 的值。此列表中的每个数字对应于参数 2 中的相同数字。预期的ETHREAD PD 客户端的句柄 PD 提供者的句柄。<br>使用此句柄运行 !ndiskd.netadapter 以获取更多信息。<br>PD 提供程序的句柄。使用此句柄运行 !ndiskd.netadapter 以获取更多信息。<br>PD 提供程序的句柄。使用此句柄运行 !ndiskd.netadapter 以获取更多信息。<br>如果参数 3 为 0,则这是提供程序句柄。<br>如果参数 3 非零,则 PD 客户端尚未释放所有分配,这是 PD 客户端句柄。目标 PD_BUFFER
0x27NDIS_BUGCHECK_UNEXPECTED_FAILURE<br>内部操作意外失败。这很可能是 NDIS.SYS 本身的错误。失败的操作。可能的值:<br>0x01 : NDIS_BUGCHECK_UNEXPECTED_FAILURE_KEWAITFORSINGLEOBJECT<br>对 KeWaitForSingleObject 的调用失败。失败状态代码0

备注

BUGCODE_NDIS_DRIVER 错误检查表明网络驱动程序中的问题。
通常,该问题是由 NDIS 微型端口驱动程序引起的。
我们可以使用 !ndiskd.netadapter 获取 NDIS 微型端口驱动程序的完整列表。

我们可以使用 !ndiskd.netreport 获得网络堆栈的大图概览。

详细步骤查看我们的教程 在windows 中使用WinDBG 调试dmp文件

欢迎来到之路教程(on itroad-com)

Cause

参数 1 表示 BUGCODE_NDIS_DRIVER 错误检查的具体原因。

日期:2020-09-17 00:16:03 来源:oir作者:oir