다음을 통해 공유


!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 포트 목록을 표시합니다.

-오프 로드
작업 오프로드 상태 및 기능을 표시합니다.

-filterdb
현재 패킷 필터를 표시합니다.

-타이머
미니포트에서 할당한 타이머 개체를 표시합니다.

-Rst
수신측 제한 상태를 표시합니다.

-오후
전원 관리 상태 및 기능을 표시합니다.

-Ss
선택적 일시 중단 상태를 표시합니다.

-aoac
AOAC(커넥트 대기) 상태를 표시합니다.

-Wol
WoL(Wake-on-LAN) 구성을 표시합니다.

-protocoloffloads
활성 전원 관리 프로토콜 오프로드를 표시합니다.

-Rss
수신측 배율 매개 변수를 표시합니다.

-Hw
하드웨어 리소스를 표시합니다.

-장치
기본 NT 디바이스 개체에 대한 정보를 표시합니다.

-Wmi
어댑터에 등록된 WMI GUID를 표시합니다.

-customwmi
미니포트에 의해 등록된 사용자 지정 WMI GUID를 표시합니다.

-ndiswmi
NDIS 제공 WMI GUID를 표시합니다.

-Ref
미니포트에 대한 참조 분석을 보여 줍니다.

-로그
PnP 및 Power 이벤트 로그를 표시합니다.

-grovel
메모리의 미니포트 블록을 강제로 검색합니다.

-Findname
이름 접두사를 사용하여 미니포트를 필터링합니다.

-rcvfilter
수신 필터링 기능을 표시합니다.

-nicswitch
NIC 스위치 기능을 표시합니다.

-rcvqueues
수신 큐를 표시합니다.

-nicswitches
NIC 스위치를 표시합니다.

-Iov
SR-IOV(단일 루트 I/O 가상화) 기능을 표시합니다.

-Vfs
SR-IOV VF(가상 필터)를 표시합니다.

-vports
Vport(가상 포트)를 표시합니다.

-ifrtrace
기내 레코더의 추적을 표시합니다.

-Ip
네트워크 인터페이스의 IP 주소를 표시합니다.

DLL

Ndiskd.dll

예제

매개 변수 없이 !ndiskd.netadapter를 실행하면 연결된 미니포트 드라이버와 함께 시스템의 모든 네트워크 어댑터 목록을 가져올 수 있습니다. 이 예제 출력에서는 핸들이 ffffdf80140c71a0인 Microsoft 커널 디버그 네트워크 어댑터를 찾습니다. 커널 디버그 네트워크 어댑터에 대한 자세한 내용은 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의 모든 상태를 볼 수 있습니다. 이는 네트워크 드라이버 문제를 해결하거나 네트워크 스택에서 문제가 있는 위치를 파악하기 위한 시작 위치로 매우 유용할 수 있습니다. 예를 들어 드라이버의 Datapath 상태를 확인하고 연결되었는지 여부를 확인할 수 있습니다.

이 Net 어댑터에 대한 보고서의 맨 아래에는 보류 중인 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를 사용하는 예제로, 보고서 맨 아래에 있는 "드라이버 처리기" 링크를 클릭하여 이 Net 어댑터의 미니포트 드라이버에 등록된 모든 드라이버 콜백 처리기 목록을 확인합니다. 다음 예제에서 링크를 클릭하면 !ndiskd가 이 net 어댑터의 미니포트 드라이버 핸들을 사용하여 !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를 조사할 수 있습니다.

참고 항목

네트워크 드라이버 디자인 가이드

Windows Vista 및 이후 네트워킹 참조

네트워크 스택 디버깅

NDIS 확장(Ndiskd.dll)

!ndiskd.help

네트워크를 통해 커널 디버깅

!ndiskd.minidriver