!ndiskd.netadapter
!ndiskd.netadapter 扩展显示系统上处于活动状态的 NDIS 微型端口或网络适配器的相关信息。 如果在没有参数的情况下运行此命令,!ndiskd 将显示所有网络适配器的列表。
!ndiskd.netadapter [-handle <x>] [-basic] [-diag] [-state] [-bindings]
[-ports] [-offloads] [-filterdb] [-timers] [-rst]
[-pm] [-ss] [-aoac] [-wol] [-protocoloffloads]
[-rss] [-hw] [-device] [-wmi] [-customwmi]
[-ndiswmi] [-ref] [-log] [-grovel] [-findname <any>]
[-rcvfilter] [-nicswitch] [-rcvqueues] [-nicswitches] [-iov]
[-vfs] [-vports] [-iftrace] [-ip]
参数
-处理
NDIS 微型端口的句柄。
-基本
显示有关微型端口的摘要信息。
-diag
显示自动诊断警报(如果有)。
-州
显示微型端口的当前状态。
-绑定
显示微型端口绑定。
-港口
显示 NDIS 端口的列表。
-offloads
显示任务卸载状态和功能。
-filterdb
显示当前数据包筛选器。
-定时器
显示微型端口分配的计时器对象。
-rst
显示接收方限制状态。
-下午
显示电源管理状态和功能。
-ss
显示选择性暂停状态。
-aoac
显示 AOAC(连接待机)状态。
-wol
显示 LAN 唤醒(WoL)配置。
-protocoloffloads
显示主动电源管理协议卸载。
-rss
显示接收方缩放参数。
-硬件
显示硬件资源。
-装置
显示有关基础 NT 设备对象的信息。
-wmi
显示注册到适配器的 WMI GUID。
-customwmi
显示微型端口注册的自定义 WMI GUID。
-ndiswmi
显示 NDIS 提供的 WMI GUID。
-裁判
显示微型端口上的引用明细。
-日志
显示 PnP 和 Power 事件日志。
-卑躬屈膝
强制搜索内存中的微型端口块。
-findname
按名称前缀筛选微型端口。
-rcvfilter
显示接收筛选功能。
-nicswitch
显示 NIC 切换功能。
-rcvqueues
显示接收队列。
-nicswitches
显示 NIC 开关。
-iov
显示 SR-IOV(单根 I/O 虚拟化)功能。
-vfs
显示 SR-IOV VF(虚拟筛选器)。
-vports
显示 Vports(虚拟端口)。
-ifrtrace
显示正在进行的记录器的跟踪。
-ip
显示网络接口上的 IP 地址。
DLL
Ndiskd.dll
示例
通过不带参数地运行 !ndiskd.netadapter,可以获取系统上所有网络适配器及其关联的微型端口驱动程序的列表。 在此示例输出中,查找 Microsoft 内核调试网络适配器,其句柄为 ffffdf80140c71a0。 有关何谓“内核调试网络适配器”的详细信息,请参阅 NDIS 博客上的通过网络调试内核。
3: kd> !ndiskd.netadapter
Driver NetAdapter Name
ffffdf8015a98380 ffffdf8015aa11a0 Microsoft ISATAP Adapter #2
ffffdf801418d650 ffffdf80140c71a0 Microsoft Kernel Debug Network Adapter
通过单击微型端口驱动程序的句柄或输入 !ndiskd.netadapter -handle,现在可以在该设备上查看所有 NDIS 的状态。 这对于排除网络驱动程序故障或确定网络堆栈中的问题位置非常有帮助。 例如,可以看到驱动程序的数据路径状态,并查看它是否已连接。
在此网络适配器的报表底部,可以单击许多其他链接来浏览其他信息,例如任何挂起的 OID 和任务卸载状态。 这些链接对应于 !ndiskd.netadapter 的许多参数。
3: kd> !ndiskd.netadapter ffffdf80140c71a0
MINIPORT
Microsoft Kernel Debug Network Adapter
Ndis handle ffffdf80140c71a0
Ndis API version v6.20
Adapter context ffffdf80147d7230
Driver ffffdf801418d650 - kdnic v4.2
Network interface ffffdf80139b3a20
Media type 802.3
Physical medium NdisPhysicalMediumOther
Device instance ROOT\KDNIC\0000
Device object ffffdf80140c7050 More information
MAC address 18-03-73-c1-e8-72
STATE
Miniport Running
Device PnP Started Show state history
Datapath Normal
Interface Up
Media Connected
Power D0
References 0n10 Show detail
Total resets 0
Pending OID None
Flags NOT_BUS_MASTER, ALLOW_BUGCHECK_CALLBACK,
BUGCHECK_CALLBACK_REGISTERED, DEFAULT_PORT_ACTIVATED,
SUPPORTS_MEDIA_SENSE, DOES_NOT_DO_LOOPBACK,
MEDIA_CONNECTED
PnP flags VIRTUAL_DEVICE, HIDDEN, NO_HALT_ON_SUSPEND,
RECEIVED_START
BINDINGS
Protocol list Driver Open Context
MSLLDP ffffdf80120a5c10 ffffdf8015a749c0 ffffdf8015d325e0
TCPIP ffffdf80131cc010 ffffdf801494a650 ffffdf801494aa50
NDISUIO ffffdf8015a58140 ffffdf8015a78c10 ffffdf8015a77e00
TCPIP6 ffffdf80131c9c10 ffffdf80147875a0 ffffdf801494f010
(RASPPPOE) Not running
RSPNDR ffffdf80120a0c10 ffffdf8015a79c10 ffffdf8015a79010
LLTDIO ffffdf8015a5f9b0 ffffdf801406f010 ffffdf8015a786c0
(RDMANDK) ffffdf801406d8f0 Declined with NDIS_STATUS_NOT_RECOGNIZED
Filter list Driver Module Context
WFP 802.3 MAC Layer LightWeight Filter-0000
ffffdf80139a5a70 ffffdf801494c670 ffffdf801494a010
QoS Packet Scheduler-0000
ffffdf8014039d90 ffffdf801494dc70 ffffdf80147dc2b0
WFP Native MAC Layer LightWeight Filter-0000
ffffdf80139fcd70 ffffdf8014950c70 ffffdf8014950880
MORE INFORMATION
Driver handlers Task offloads
Power management PM protocol offloads
Pending OIDs Timers
Pending NBLs Receive side throttling
Wake-on-LAN (WoL) Packet filter
Receive queues Receive filtering
RSS NIC switch
Hardware resources Selective suspend
NDIS ports WMI guids
Diagnostic log
例如,使用 !ndiskd.netadapter 作为进一步调试的起始位置,请单击报告底部的“驱动程序处理程序”链接,以查看此网络适配器微型端口驱动程序的所有已注册驱动程序回调处理程序的列表。 在以下示例中,单击此链接会触发 !ndiskd 运行带有此网络适配器微型端口驱动程序句柄的 !ndiskd.minidriver 扩展。 微型端口驱动程序是 kdnic 4.2,其句柄为 ffffdf801418d650。
3: kd> !ndiskd.minidriver ffffdf801418d650 -handlers
HANDLERS
NDIS Handler Function pointer Symbol (if available)
InitializeHandlerEx fffff80f1fd78230 bp
SetOptionsHandler fffff80f1fd72800 bp
HaltHandlerEx fffff80f1fd78040 bp
ShutdownHandlerEx fffff80f1fd722c0 bp
CheckForHangHandlerEx fffff80f1fd72810 bp
ResetHandlerEx fffff80f1fd72f70 bp
PauseHandler fffff80f1fd78000 bp
RestartHandler fffff80f1fd78940 bp
OidRequestHandler fffff80f1fd71c90 bp
CancelOidRequestHandler fffff80f1fd722c0 bp
DirectOidRequestHandler [None]
CancelDirectOidRequestHandler [None]
DevicePnPEventNotifyHandler fffff80f1fd789a0 bp
SendNetBufferListsHandler fffff80f1fd71870 bp
ReturnNetBufferListsHandler fffff80f1fd71b50 bp
CancelSendHandler fffff80f1fd722c0 bp
现在可以单击每个处理程序右侧的“bp”链接,在该处理程序上设置断点以调试特定问题。 例如,如果数据路径中存在挂起,则可以调查驱动程序的 SendNetBufferListsHandler 或 ReturnNetBufferListsHandler。