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.
De WDK bevat drie hulpprogramma's die u kunt gebruiken om een WPD-stuurprogramma te testen en fouten op te sporen. Deze hulpprogramma's worden beschreven in de volgende tabel.
Tool: Beschrijving
WpdInfo.exe: met dit hulpprogramma kunt u een apparaat openen of sluiten, objecten op een apparaat maken of verwijderen, ondersteunde opdrachten weergeven, opdrachten uitgeven, gebeurtenissen weergeven, leesbare eigenschapswaarden ophalen en schrijfbare eigenschapswaarden instellen.
WpdDeviceInspector.exe: genereert een HTML-rapport dat de mogelijkheden en inhoud van het apparaat beschrijft.
WpdMon.exe: traceert berichten en opdrachten die worden doorgegeven tussen een WPD-stuurprogramma en het besturingssysteem of een WPD-toepassing.
Zie WPD Driver Development Tools in de WDK-documentatie voor meer informatie over deze hulpprogramma's en het gebruik ervan.
De sensorleesbeurtenis bijhouden met behulp van WpdInfo.exe
Voordat u WpdInfo.exe start, werkt u het bestand WpdInfo.Properties bij met ingangen die de PROPERTYKEY's voor de SENSOR_READING en SENSOR_UPDATE_INTERVAL eigenschappen toewijzen aan de bijbehorende beschrijvende tekenreeksen.
{a7ef4367-6550-4055-b66f-be6fdacf4e9f}.2, SENSOR_READING, VT_UI8
{a7ef4367-6550-4055-b66f-be6fdacf4e9f}.3, SENSOR_UPDATE_INTERVAL, VT_UI4
Het bestand WpdInfo.Properties bevindt zich in dezelfde map als WpdInfo.exe. Als dit bestand niet bestaat, voert u WpdInfo.exe één keer uit om het te genereren.
Wanneer u WpdInfo.exestart, wordt u gevraagd een draagbaar apparaat te selecteren in de lijst met geïnstalleerde WPD-apparaten. Nadat u het sensorapparaat hebt gekozen, registreert het hulpprogramma gebeurtenissen in het onderste deelvenster van het venster.
Wanneer de sensorleesgebeurtenis in het vorige voorbeeld werd geactiveerd, was de volgende informatie waar:
- De sensorleeseigenschap, SENSOR_READING, was 2170720417. Deze waarde geeft een sensor-id aan van 2 (die overeenkomt met de sensirontemperatuur- en vochtigheidssensor), een telling van 1 element, een grootte van 7 bytes per element, een temperatuur van 72,0 graden fahrenheit en een relatieve vochtigheid van 41,7%.
- De intervaleigenschap, SENSOR_UPDATE_INTERVAL, is ingesteld op 2000.
De eigenschap Interval bijwerken met behulp van WpdInfo.exe
Nadat u het Parallax BS2 Sensor-apparaat hebt geselecteerd, kunt u het hulpprogramma gebruiken om de intervaleigenschap, SENSOR_UPDATE_ INTERVAL, te wijzigen van de standaardwaarde van 2000 ms naar een andere waarde, tussen 2 en 60 seconden.
- Voor de eerste stap moet u het functionele object TempHumidity selecteren in het opsommingsvenster om alle eigenschapswaarden voor dat object weer te geven. U kunt dit object vinden als het directe onderliggende element van het APPARAAT-object in het linker paneel.
- Vervolgens klikt u op SENSOR_UPDATE_INTERVAL, waarmee het dialoogvenster Bewerken wordt geopend, waarin u de nieuwe waarde kunt typen als VT_UI4 type.
Het toegestane waardenbereik ligt tussen 02000 en 60000, inclusief. Klik op OK-en de waarde van de nieuwe intervaleigenschap wordt naar het apparaat verzonden. Bekijk het deelvenster Gebeurtenissen en u kunt de gebeurtenissen zien die binnenkomen met de nieuwe update-intervalwaarde in de gebeurtenisparameters.
Fouten opsporen in het stuurprogramma met Visual Studio 8
WPD-stuurprogramma's zijn gebaseerd op het WDF UMDF-platform (Windows Driver Frameworks). UMDF-stuurprogramma's bieden meer stabiliteit en beveiliging, evenals vergelijkbare prestaties, dan kernelmodusstuurprogramma's. En UMDF-stuurprogramma's maken het gebruik van foutopsporingsprogramma's in de gebruikersmodus mogelijk, zoals Visual Studio 8. Het opsporen van fouten in een stuurprogramma in de gebruikersmodus is meestal sneller dan foutopsporing in de kernelmodus, omdat een fout alleen van invloed is op het huidige proces in plaats van de hele computer.
Nadat het stuurprogramma is geïnstalleerd, kunt u een foutopsporingsproject maken in Visual Studio 8 door de volgende stappen uit te voeren:
- Open Visual Studio 8 met verhoogde bevoegdheden (Uitvoeren als-beheerder) en navigeer naar het bestand < Nieuw > Project vanuit het bestaande codepad. Opmerking U moet Visual Studio 8 met verhoogde bevoegdheden openen omdat voor het LocalService-account deze bevoegdheden zijn vereist. Het WUDFHost-proces wordt uitgevoerd binnen het LocalService-account. Met Visual Studio 8 kunt u fouten opsporen in het stuurprogrammaproject.
- Volg de stappen in de Welkom bij de wizard Project maken op basis van bestaande codebestanden. Zorg ervoor dat u de taal, de locatie van de bronbestanden van het stuurprogramma, een projectnaam, enzovoort opgeeft.
- Open het zojuist gemaakte project.
- Selecteer in het menu Foutopsporing/koppelen aan procesWudfHost.exe in de lijst Beschikbare processen die wordt weergegeven in het dialoogvenster Bijvoegen aan proces. Als er meer dan één exemplaar van het WudfHost.exe proces is, selecteert u het exemplaar dat het DLL-bestand van het stuurprogramma heeft geladen.
- Nadat u de vorige stappen hebt voltooid, kunt u onderbrekingspunten instellen in de broncode en fouten opsporen in uw stuurprogramma.
Tips voor het debuggen van WPD-stuurprogramma-initialisatiecode
Initialisatiecode voor een WPD-stuurprogramma, bijvoorbeeld de code die is gevonden in WpdBaseDriver::Initialiseer in de twee WPD-voorbeeldstuurprogramma's die zijn verpakt met de WDK, wordt uitgevoerd wanneer uw stuurprogramma is geïnstalleerd Om fouten in deze initialisatiecode op te sporen, moet u de WDFVerifier- hulpprogramma gebruiken dat is opgenomen in de Windows Driver Kit. Met dit hulpprogramma kan het foutopsporingsprogramma in de gebruikersmodus automatisch worden gestart bij het opstarten van het hostproces of bij het laden van stuurprogramma's.