Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
IRP-loggningsfunktionen i Drivrutinsverifieraren övervakar en drivrutins användning av IRP:er och registrerar IRP-användning. Den här posten lagras som WMI-information.
Windows Driver Kit (WDK) innehåller verktyget DC2WMIParser (dc2wmiparser.exe) som kan konvertera den här WMI-posten till en textfil.
Det här alternativet för drivrutinsverifierare är endast tillgängligt i Windows Server 2003 och senare.
WMI-posten
WMI-posten innehåller inte fler än tjugo IP-adresser för varje enhet. När den tjugoförste IRP-posten har registrerats ersätts den första IRP-posten. Så om posten listar tjugo IRP:er är dessa alltid de senaste tjugo, men det finns inget sätt att veta vilken av dessa som är den senaste.
Eftersom WMI-posten lagras i minnet raderas den när datorn startas om. Använd därför DC2WMIParser för att spara den här informationen i en fil.
Om du använder alternativet /t körs DC2WMIParser kontinuerligt under den angivna varaktigheten. I den här situationen kan posten innehålla fler än tjugo IRP:er per enhet (upp till tjugo IRP:er under varje samplingsperiod).
aktivera det här alternativet
Du kan aktivera IRP-loggningsfunktionen för en eller flera drivrutiner med hjälp av Driver Verifier Manager eller kommandoraden Verifier.exe.
Om du vill aktivera IRP-loggningsfunktionen måste du också aktivera I/O-verifiering.
På kommandoraden
På kommandoraden representeras IRP-loggningsalternativet av 0x400 (bit 10).
Om du vill aktivera IRP-loggning använder du ett flaggvärde på 0x410 eller lägger till 0x410 i flaggvärdet. Det här värdet aktiverar I/O-verifiering (0x10) och IRP-loggning (0x400). Till exempel:
verifier /flags 0x410 /driver MyDriver.sysFunktionen är aktiv efter nästa start.
I Windows Vista och senare versioner av Windows kan du också aktivera och inaktivera IRP-loggning utan att starta om datorn genom att lägga till parametern /volatile i kommandot. Till exempel:
verifier /volatile /flags 0x410 /adddriver MyDriver.sysDen här inställningen gäller omedelbart, men går förlorad när du stänger av eller startar om datorn. Mer information finns i Använda flyktiga inställningar.
Använda Drivrutinsverifieringshanteraren
- Starta hanteraren för drivrutinsverifierare. Skriv Verifier i ett kommandotolkfönster.
- Välj Skapa anpassade inställningar (för kodutvecklare) och klicka sedan på Nästa.
- Välj Välj enskilda inställningar i en fullständig lista.
- Välj (kontrollera) IRP-loggning och I/O-verifiering.
DC2WMIParser
DC2WMIParser är ett verktyg som samlar in WMI IRP-poster som skapats av drivrutinsverifieraren och konverterar loggen till en textfil.
Syntaxen för DC2WMIParser är följande:
dc2wmiparser [/f File] [/t Time]
Parametrarna har följande betydelser:
/fil
Anger den fullständiga sökvägen och filnamnet för loggfilen som ska skrivas. Relativa sökvägar kommer att tolkas i förhållande till den aktuella katalogen. Om detta utelämnas används filnamnet dc2verifier.act i den aktuella katalogen.
/tTid
Anger hur lång tid, i minuter, som DC2WMIParser ska fortsätta att köras. Om Tiden är lika med noll registrerar DC2WMIParser all WMI IRP-information som redan har lagrats av drivrutinsverifieraren och avslutar sedan. Om Tiden är inställd på ett positivt värde fortsätter DC2WMIParser att köras under den angivna tidsperioden och lagrar ny information när den tas emot. Standardvärdet är noll.
Format för DC2WMIParser-loggfiler
Filen som genereras av DC2WMIParser är en ASCII-textfil.
Den första raden i den här filen innehåller ett decimaltal som representerar antalet enheter som loggas i filen.
Efter den första raden är filen indelad i avsnitt. varje avsnitt beskriver en enhet.
För varje enhet är formatet:
På en enda rad: Enhetsnamnet.
På en enda rad: Ett decimaltal som anger hur många enhetstyper och funktioner som är riktade till den här enheten.
På en rad för varje enhetstyp och funktion: Tre hexadecimala tal, avgränsade med kommatecken. Dessa representerar enhetstypen och den högsta och lägsta funktion som registrerades i detta register.
I en grupp med rader för varje enhetstyp och funktion:
- En enda rad med ett decimaltal som anger antalet IOCTLs för den aktuella enhetstypen.
- En rad för varje IOCTL. Var och en av dessa rader innehåller sex hexadecimala tal avgränsade med kommatecken. Dessa anger enhetstyp, funktion, metod, åtkomst, längden på indatabufferten och längden på utdatabufferten.
Här är ett exempel på en DC2WMIParser-loggfil. I en faktisk fil kommer det inte att finnas några blanksteg, kommentarer eller tomma rader, men dessa har lagts till i det här exemplet för att göra det tydligare.
2 There are two devices described by this log file.
The first device begins here:
DP(1)0x7e00-0x21dbda400+3 Device name of the first device
2 Number of device type IOCTLs targeted at this device
7,12,12 First targeted device: device type 7, low function 12, high function 12
2d,420,420 Second targeted device: device type 2d, low function 420, high function 420
1 Number of IOCTLs for first targeted device (type 7)
7,12,0,0,90,0 Device type 7, function 12, method 0, access 0, inbuflen 90, outbuflen 0
1 Number of IOCTLs for second targeted device (type 2d)
2d,420,0,0,c,0 Device type 2d, function 420, method 0, access 0, inbuflen c, outbuflen 0
The second device begins here:
DP(1)0x7e00-0x21dbda400+2 Device name of the second device
2 Number of device type IOCTLs targeted at this device
7,12,12 First targeted device: device type 7, low function 12, high function 12
2d,420,420 Second targeted device: device type 2d, low function 420, high function 420
1 Number of IOCTLs for first targeted device (type 7)
7,12,0,0,90,0 Device type 7, function 12, method 0, access 0, inbuflen 90, outbuflen 0
1 Number of IOCTLs for second targeted device (type 2d)
2d,420,0,0,c,0 Device type 2d, function 420, method 0, access 0, inbuflen c, outbuflen 0