!wdfkd.wdfdevext
L’extension !wdfkd.wdfdevext affiche les informations associées au membre DeviceExtension d’une structure DEVICE_OBJECT du modèle de pilote Microsoft Windows (WDM).
!wdfkd.wdfdevext DeviceExtension
Paramètres
DeviceExtension
Pointeur vers une extension de périphérique.
DLL
Wdfkd.dll
Frameworks
KMDF 1, UMDF 1, UMDF 2
Informations supplémentaires
Pour plus d’informations, veuillez consulter la section Débogage de l’infrastructure du pilote Kernel-Mode.
Notes
Voici un exemple pour HdAudBus.sys, qui est un pilote KMDF. Utilisez !devnode pour trouver un nœud de périphérique ayant HdAudBus comme pilote de fonction. Prenez l’objet de périphérique physique (PDO) à partir de la sortie et passez-le à !devstack. Prenez l’adresse de l’extension de périphérique à partir de la sortie de !devstack et passez-la à !wdfdevext.
0: kd> !devnode 0 1 hdaudbus
Dumping IopRootDeviceNode (= 0xffffe000002cfd30)
DevNode 0xffffe000009b7a50 for PDO 0xffffe00000226880
InstancePath is "PCI\VEN_8086&DEV_293E&SUBSYS_2819103C&REV_02\3&33fd14ca&0&D8"
ServiceName is "HDAudBus"
...
0: kd> !devstack 0xffffe00000226880
!DevObj !DrvObj !DevExt ObjectName
ffffe00001351e20 \Driver\HDAudBus ffffe000009a3c00
> ffffe00000226880 \Driver\pci ffffe000002269d0 NTPNP_PCI0009
!DevNode ffffe000009b7a50 :
DeviceInst is "PCI\VEN_8086&DEV_293E&SUBSYS_2819103C&REV_02\3&33fd14ca&0&D8"
ServiceName is "HDAudBus"
0: kd> *
0: kd> !wdfdevext ffffe000009a3c00
Device context is 0xffffe000009a3c00
context: dt 0xffffe000009a3c00 HDAudBus!HDAudioDeviceExtension (size is 0xa8 bytes)
EvtCleanupCallback fffff80001f35950 HDAudBus!HdAudBusEvtDeviceCleanupCallback
!wdfdevice 0x00001fffff65c6e8
!wdfobject 0xffffe000009a3910
Voici un exemple pour Wudfrd.sys, qui est le pilote de fonction pour la partie en mode noyau d’une pile de pilotes UMDF 2. Utilisez !devnode pour trouver un nœud de périphérique ayant Wudfrd comme pilote de fonction. Prenez l’objet de périphérique physique (PDO) à partir de la sortie et passez-le à !devstack. Prenez l’adresse de l’extension de périphérique à partir de la sortie de !devstack et passez-la à !wdfdevext.
0: kd> !devnode 0 1 wudfrd
Dumping IopRootDeviceNode (= 0xffffe000002cfd30)
DevNode 0xffffe00000a1e530 for PDO 0xffffe00000b15b00
InstancePath is "ROOT\SAMPLE\0001"
ServiceName is "WUDFRd"
...
0: kd> !devstack 0xffffe00000b15b00
!DevObj !DrvObj !DevExt ObjectName
ffffe00000c11040 \Driver\WUDFRd ffffe00000c11190
> ffffe00000b15b00 \Driver\PnpManager 00000000 00000052
!DevNode ffffe00000a1e530 :
DeviceInst is "ROOT\SAMPLE\0001"
ServiceName is "WUDFRd"
0: kd> *
0: kd> !wdfdevext ffffe00000c11190
## Device context is 0xffffe00000c11190
## UMDF Device Instances for this Redirector extension
DriverManagerProcess: 0xffffe00003470500
ImageName Ver DevStack HostProcess DeviceID
MyUmdf2Driver.dll v2.0 0x000000a5a3ab5f70 0xffffe00000c32900 \Device\00000052