Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Waarschuwing
UMDF 2 is de nieuwste versie van UMDF en vervangt UMDF 1. Alle nieuwe UMDF-stuurprogramma's moeten worden geschreven met UMDF 2. Er worden geen nieuwe functies toegevoegd aan UMDF 1 en er is beperkte ondersteuning voor UMDF 1 op nieuwere versies van Windows 10. Universele Windows-stuurprogramma's moeten UMDF 2 gebruiken.
De gearchiveerde UMDF 1-voorbeelden vindt u in de Windows 11 versie 22H2 - update van stuurprogrammavoorbeelden van mei 2022.
Zie Aan de slag met UMDF-voor meer informatie.
In dit onderwerp wordt beschreven hoe u de extensies voor het Wudfext.dll foutopsporingsprogramma kunt gebruiken om informatie weer te geven over objecten die worden gebruikt door een stuurprogramma van User-Mode Driver Framework (UMDF) versie 1.
Vanaf UMDF versie 2 moet u in plaats daarvan de extensies voor het Wdfkd.dll foutopsporingsprogramma gebruiken. Zie Windows Driver Framework Extensions (Wdfkd.dll)voor meer informatie.
U kunt de volgende stappen uitvoeren om informatie over UMDF versie 1-objecten weer te geven:
Gebruik een van de volgende UMDF-foutopsporingsprogramma-extensies om apparaatstacks weer te geven die zich in het hostproces bevinden:
!wudfext.umdevstacks
!wudfext.umdevstack zoals wordt weergegeven in het volgende voorbeeld:
!wudfext.umdevstack <dev-stack-addr>
De informatie bevat stuurprogrammaobjecten en apparaatobjecten voor elk stuurprogramma. Momenteel staat UMDF slechts één apparaatstack toe in een hostproces, zodat er geen verschil is tussen de uitvoer van deze twee extensies.
Bekijk de volledige objectstructuur met behulp van de UMDF-debuggerextensie !wudfext.wudfobject, zoals in het volgende voorbeeld:
!wudfext.wudfobject <IWDFDriver*> 1
Gebruik de extensie !wudfext.wudfdevice UMDF-foutopsporingsprogramma, zoals wordt weergegeven in het volgende voorbeeld om de status Plug and Play (PnP) en energiebeheer van het apparaat te bepalen:
!wudfext.wudfdevice <IWDFDevice*>
Voer de volgende stappen uit om de wachtrijen te bepalen die aan het apparaat zijn gekoppeld:
Gebruik de !wudfext.wudfdevicequeues UMDF-foutopsporingsprogramma-extensie om de wachtrijen weer te geven die aan het apparaat zijn gekoppeld. Deze extensie toont wachtrijeigenschappen, status van wachtrij en aanvragen die eigendom zijn van de bestuurder.
Gebruik de UMDF-foutopsporingsprogramma-extensie !wudfext.wudfqueue, zoals in het volgende voorbeeld, om informatie over elke wachtrij te verkrijgen.
!wudfext.wudfqueue <IWDFIoQueue*>
Gebruik de extensie !wudfext.wudfrequest UMDF-foutopsporingsprogramma om informatie over een bepaalde aanvraag te verkrijgen. Deze informatie omvat het onderliggende I/O-aanvraagpakket (IRP) in de gebruikersmodus. Vanuit de IRP-gegevens in de gebruikersmodus kunt u bepalen waar de aanvraag momenteel wordt verwerkt in de stack. U kunt ook de extensie !wudfext.umirp UMDF-foutopsporingsprogramma gebruiken om deze IRP-informatie over de gebruikersmodus te verkrijgen.
Bepaal alle I/O-doelen op:
Gebruik de !wudfext.wudfobject UMDF-debugger-extensie om de onderliggende objecten van het apparaatobject weer te geven. I/O-doelobjecten zijn subobjecten van het apparaatobject.
Gebruik de UMDF-debuggerextensie !wudfext.wudfiotarget, zoals getoond in het volgende voorbeeld, om informatie over elk I/O-doelobject weer te geven.
!wudfext.wudfiotarget <IWDFTarget*>
Deze extensie toont de status van het doel en de lijst met verzonden aanvragen.
Er is momenteel geen UMDF-foutopsporingsprogramma-extensie waarmee u alle I/O-doelen kunt weergeven.
Gebruik de volgende UMDF-foutopsporingsprogramma-extensies om informatie over bestandsobjecten weer te geven:
!wudfext.wudfrequest of !wudfext.umirp
Gebruik de !wudfext.wudfrequest extensie of de !wudfext.umirp UMDF-debuggerextensie om bestanden weer te geven die kindobjecten van apparaatobjecten zijn.!wudfext.wudffile
Gebruik de UMDF-debuggerextensie !wudfext.wudffile zoals in het volgende voorbeeld om informatie over een frameworkbestand te bekijken.!wudfext.wudffile <IWDFFile*>
!wudfext.umfile
Gebruik de extensie !wudfext.umfile UMDF-foutopsporingsprogramma, zoals wordt weergegeven in het volgende voorbeeld om informatie weer te geven over een UMDF intra-stack-bestand (dat wil gezegd, een bestandsobject dat een stuurprogramma in de stack heeft gemaakt in plaats van een bestandsobject dat is gemaakt door een toepassing of door een stuurprogramma in een andere stack):!wudfext.umfile <addr>
In sommige gevallen is er mogelijk geen corresponderend frameworkbestand en kan IRP-informatie in de gebruikersmodus een UMDF intra-stack-bestand bevatten.
Informatie die wordt weergegeven door !wudfext.umfile omvat elk IRP dat in de wachtrij wordt geplaatst naar het UMDF intra-stack-bestand. Alleen door stuurprogramma's gemaakte bestanden houden IRP's in de gebruikersmodus bij die naar die bestanden in de wachtrij worden gezet. Voor bestanden die door de toepassing zijn gemaakt, houdt het I/O-beheerprogramma in de kernelmodus bij.
!wudfext.umdevstacks en !wudfext.umdevstack
Gebruik de uitvoer van de !wudfext.umdevstacks en !wudfext.umdevstack UMDF-foutopsporingsprogramma-extensies om openstaande UMDF intra-stackbestanden weer te geven die overeenkomen met door het stuurprogramma gemaakte bestanden.