!ndiskd.netadapter
The !ndiskd.netadapter extension displays information about NDIS miniports, or network adapters, that are active on the system. If you run this command with no parameters, !ndiskd will display a list of all network adapters.
!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]
Parameters
-handle
Handle of an NDIS miniport.
-basic
Displays summary information about the miniport.
-diag
Displays auto-diagnostic alerts (if any).
-state
Displays the miniport's current state.
-bindings
Displays miniport bindings.
-ports
Shows a list of NDIS ports.
-offloads
Shows task offload state and capabilities.
-filterdb
Shows the current packet filter.
-timers
Shows timer objects allocated by the miniport.
-rst
Shows Receive-Side Throttling state.
-pm
Shows power management state and capabilities.
-ss
Shows Selective Suspend state.
-aoac
Shows AOAC (Connected Standby) state.
-wol
Shows Wake-on-LAN (WoL) configuration.
-protocoloffloads
Shows active power management protocol offloads.
-rss
Shows Receive Side Scaling parameters.
-hw
Displays hardware resources.
-device
Shows information about the underlying NT device object.
-wmi
Shows WMI GUIDs registered to the adapter.
-customwmi
Shows custom WMI GUIDs registered by the miniport.
-ndiswmi
Shows NDIS-provided WMI GUIDs.
-ref
Shows a breakdown of references on the miniport.
-log
Displays a PnP and Power event log.
-grovel
Forces a search for miniport blocks in memory.
-findname
Filters miniports by name prefix.
-rcvfilter
Shows receive filtering capabilities.
-nicswitch
Shows NIC switch capabilities.
-rcvqueues
Shows receive queues.
-nicswitches
Shows NIC switches.
-iov
Shows SR-IOV (Single Root I/O Virtualization) capabilities.
-vfs
Shows SR-IOV VFs (Virtual Filters).
-vports
Shows Vports (Virtual ports).
-ifrtrace
Shows the in-flight recorder's trace.
-ip
Shows IP addresses on the network's interface.
DLL
Ndiskd.dll
Examples
By running !ndiskd.netadapter with no parameters, you can get a list of all network adapters on the system along with their associated miniport drivers. In this example output, look for the Microsoft Kernel Debug Network Adapter, whose handle is ffffdf80140c71a0. For more information about what the Kernel Debug Network Adapter is, see Kernel debugging over the network on the NDIS blog.
3: kd> !ndiskd.netadapter
Driver NetAdapter Name
ffffdf8015a98380 ffffdf8015aa11a0 Microsoft ISATAP Adapter #2
ffffdf801418d650 ffffdf80140c71a0 Microsoft Kernel Debug Network Adapter
By clicking on the handle for the miniport driver or entering the !ndiskd.netadapter -handle, you can now see all of NDIS's state on that device. This can be helpful very as a starting place for troubleshooting a network driver or for figuring out where an issue is in the network stack. For example, you can see the Datapath state for the driver and see whether it is connected or not.
At the bottom of the report for this net adapter, there are many other links you can click on to explore further information, such as any pending OIDs and the state of task offloads. These links correspond to many of the parameters for !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
As example of using !ndiskd.netadapter as a starting place for further debugging, click on the "Driver handlers" link at the bottom of the report to see a list of all registered driver callback handlers for this net adapter's miniport driver. In the following example, clicking the link causes !ndiskd to run the !ndiskd.minidriver extension with the handle of this net adapter's miniport driver. The miniport driver is the kdnic 4.2 and its handle is 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
You can now click the "bp" link to the right of each handler to set a breakpoint on that handler to debug a particular problem. For example, if there is a hang in the datapath, you can investigate the driver's SendNetBufferListsHandler or ReturnNetBufferListsHandler.
See also
Windows Vista and Later Networking Reference