Extensiones NDIS (Ndiskd.dll)
En esta sección se describen los comandos disponibles en !ndiskd, una extensión del depurador que es útil para depurar controladores NDIS (especificación de interfaz de dispositivo de red). Estos comandos permiten a los desarrolladores de controladores de red ver una imagen más amplia de la pila de redes de Windows y cómo interactúan sus controladores con él. Con !ndiskd, puede ver el estado de todos los adaptadores de red (!ndiskd.netadapter), un diagrama visual de la pila de red del equipo (!ndiskd.netreport), un registro de tráfico en los adaptadores de red(!ndiskd.nbllog) o una lista de todas las solicitudes OID pendientes (!ndiskd.oid).
Los comandos se pueden encontrar en Ndiskd.dll. Para cargar los símbolos, escriba .reload /f ndis.sys en la ventana de comandos del depurador. Para confirmar que los símbolos se han cargado correctamente, use la extensión !lmi ndis y busque la frase "Símbolos cargados correctamente" hacia la parte inferior. La salida debería similar al siguiente ejemplo:
0: kd> !lmi ndis
Loaded Module Info: [ndis]
Module: ndis
Base Address: fffff80174570000
Image Name: ndis.sys
Machine Type: 34404 (X64)
Time Stamp: 938f9f4e (This is a reproducible build file hash, not a true timestamp)
Size: 16f000
CheckSum: 167a05
Characteristics: 22
Debug Data Dirs: Type Size VA Pointer
CODEVIEW 21, d4060, d2c60 RSDS - GUID: {9CC82DBE-96A0-773D-29E0-62B698C4C3A8}
Age: 1, Pdb: ndis.pdb
POGO 988, d4084, d2c84 [Data not mapped]
REPRO 24, d4a0c, d360c Reproducible build[Data not mapped]
Image Type: MEMORY - Image read successfully from loaded memory.
Symbol Type: PDB - Symbols loaded successfully from symbol server.
C:\ProgramData\Dbg\sym\ndis.pdb\9CC82DBE96A0773D29E062B698C4C3A81\ndis.pdb
Load Report: public symbols , not source indexed
C:\ProgramData\Dbg\sym\ndis.pdb\9CC82DBE96A0773D29E062B698C4C3A81\ndis.pdb
!ndiskd Hyperlinks
Muchos de los comandos de extensión de !ndiskd le presentan hipervínculos en los resultados que muestran en la ventana del depurador. El texto de estos hipervínculos se ha dejado en los ejemplos proporcionados para ilustrar el formato exacto de lo que verá al ejecutar el comando en la máquina de desbugee. Algunos de los ejemplos también hacen referencia explícitamente a hacer clic en estos vínculos para que pueda comprender los flujos de uso típicos, aunque los ejemplos también proporcionan los formularios de línea de comandos alternativos de cada comando.
Parámetros comunes
Todos los comandos !ndiskd admiten los siguientes parámetros genéricos.
-verboso
Muestra otros detalles.
-lacónico
Suprime algunas salidas reutilizables.
-estático
Suprime algunos resultados interactivos.
-dml 0|1
Controla si la salida de DML (lenguaje de marcado del depurador) está habilitada.
-unicode 0|1
Controla si se permite la salida de caracteres Unicode.
-sangría N
Usa N espacios por nivel de sangría.
-fuerza
Invalida algunas comprobaciones de seguridad en la integridad de los datos remotos.
-tracedata
Muestra mensajes de seguimiento detallados para depurar !ndiskd mismo.
Adaptador net, controlador NDIS y comandos generales
Los siguientes comandos muestran información sobre los adaptadores de red, los controladores de red y los comandos generales de la máquina asociados a la pila de red (como rcvqueues, abre, filtra, OID y bloqueos RW).
- !ndiskd.netadapter
- !ndiskd.minidriver
- !ndiskd.rcvqueue
- !ndiskd.protocol
- !ndiskd.mopen
- !ndiskd.filter
- !ndiskd.filterdriver
- !ndiskd.oid
- !ndiskd.ndisrwlock
- !ndiskd.netreport
comandos NET_BUFFER_LIST y NET_BUFFER
Los siguientes comandos muestran información relacionada con las estructuras de NET_BUFFER_LIST y NET_BUFFER.
Comandos netAdapterCx
Los siguientes comandos muestran información relacionada con la extensión de clase WDF del adaptador de red NetAdapterCx y sus estructuras asociadas, NET_RING_BUFFER y NET_PACKET.
- !ndiskd.cxadapter
- !ndiskd.netqueue
- !ndiskd.netrb
- !ndiskd.netpacket
- !ndiskd.netfragment
- !ndiskd.nrc
- !ndiskd.netring
Comandos de interfaz de red
Los siguientes comandos muestran información relacionada con las interfaces de red.
Comandos de NDIS_PACKET
Los siguientes comandos muestran información sobre las estructuras de NDIS_PACKET . Estas extensiones son para controladores NDIS 5.x heredados. La estructura NDIS_PACKET y su arquitectura asociada han quedado en desuso.
Comandos de CoNDIS
Los siguientes comandos muestran información sobre las conexiones NDIS orientadas a conexiones.
Comandos de depuración de NDIS
Los siguientes comandos muestran información relacionada con NDIS refcounts, registros de eventos, seguimientos de pila y seguimientos de depuración.
Comandos WDI
Los siguientes comandos muestran información sobre los controladores de miniport WDI.
Comandos de información NDIS y !ndiskd
Los siguientes comandos muestran información sobre NDIS.sys y ndiskd.dll.
Comandos varios
Temas relacionados
Para obtener más información sobre cómo diseñar controladores NDIS para Windows Vista y versiones posteriores, consulte la Guía de diseño de controladores de red.
Para obtener más información sobre la referencia de controladores NDIS para Windows Vista y versiones posteriores, vea Referencia de redes de Windows Vista y versiones posteriores.
Para obtener una demostración del uso de los comandos del depurador !ndiskd para depurar la pila de red, consulte el vídeo Depuración del canal de pila de red 9.