Verifica di I/O avanzata
Questa funzionalità è disponibile solo in Windows XP e versioni successive del sistema operativo Windows.
In Windows 7 e versioni successive del sistema operativo Windows, la verifica di I/O avanzata viene attivata automaticamente quando si seleziona Verifica I/O. Non è disponibile o necessario selezionarlo come opzione separata.
Quando viene attivata la verifica di I/O avanzata, Driver Verifier monitora le chiamate di diverse routine di I/O Manager ed esegue test di stress di PnP IRP, power IRP e WMI IRP.
In Windows Vista e Windows XP la verifica di I/O avanzata viene attivata indipendentemente dalla verifica di I/O, ma selezionando entrambe le opzioni è disponibile un test più completo dei metodi di interfaccia di I/O in un driver.
Funzionalità della verifica di I/O avanzata
Driver Verifier aggiunge i controlli seguenti quando si attiva la verifica di I/O avanzata.
Monitora tutti i runtime di integrazione per assicurarsi che il driver restituisca STATUS_PENDING se e solo se ha chiamato IoMarkIrpPending.
Monitora l'uso di IoDeleteDevice per verificare che il driver non elimini più lo stesso dispositivo più che una volta e per rilevare lo scollegamento e l'eliminazione inappropriati degli oggetti dispositivo.
Verifica che il driver riapplica correttamente tutte le chiamate IoSkipCurrentIrpStackLocation.
Nuovi stress e test includono:
Scrivendo l'ordine dei dispositivi enumerati, per assicurarsi che i driver Plug and Play (PnP) non facciano ipotesi sull'ordine di avvio del dispositivo.
Regolando lo stato di PnP e Power IRP al termine, per intercettare i driver che restituiscono uno stato non corretto dalle routine di invio.
Invio di falsi runtime di integrazione di Power per testare i bug del percorso del codice del driver.
Invio di IRP WMI falsi per verificare la disponibilità di bug del percorso del codice driver.
Inserimento di un filtro falso in ogni stack WDM.
Visualizzazione di errori di verifica di I/O avanzati
Gli errori del driver rilevati dalla verifica di I/O avanzata vengono visualizzati nello stesso modo di quelli rilevati dalla verifica di I/O di livello 2.
Nella schermata blu questi errori vengono annotati dal messaggio ERRORE DI VERIFICA SISTEMA I/O e dalla stringa WDM DRIVER ERROR XXX, dove XXX è un codice di errore di I/O.
In un file di dump di arresto anomalo del sistema, questi errori vengono segnalati dal messaggio BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION) insieme al codice di errore di I/O. In questo caso, il codice di errore di I/O viene visualizzato come primo parametro del controllo dei bug 0xC9.
In un debugger del kernel (KD o WinDbg), questi errori vengono annotati dal messaggio WDM DRIVER ERROR e da una stringa di testo descrittiva. Quando il debugger del kernel è attivo, è possibile ignorare gli errori di livello 2 e riprendere l'operazione di sistema. Questo non è possibile con altri controlli di bug.
La schermata blu, il file di dump di arresto anomalo del sistema e il debugger del kernel visualizzano anche informazioni aggiuntive. Per una descrizione completa di tutti i messaggi di errore del livello di verifica I/O 2, vedere Controllo dei bug 0xC9.
Attivazione di questa opzione
È possibile attivare la funzionalità di verifica di I/O avanzata per uno o più driver usando Gestione verifica driver o la riga di comando Verifier.exe. Per informazioni dettagliate, vedere Selezione delle opzioni di verifica driver.
Nota In Windows 7 e versioni successive del sistema operativo Windows, la verifica di I/O avanzata viene attivata automaticamente quando si seleziona Verifica I/O. Non è disponibile o necessario selezionarlo come opzione separata.
Dalla riga di comando
Nella riga di comando, l'opzione Verifica di I/O avanzata è rappresentata da Bit 6 (0x40).The Enhanced I/O Verification option is represented by Bit 6 (0x40). Per attivare la verifica di I/O avanzata, usare un valore flag di 0x40 o aggiungere 0x40 al valore del flag. Ad esempio:
verifier /flags 0x40 /driver MyDriver.sys
La funzionalità sarà attiva dopo l'avvio successivo.
In Windows Vista e versioni successive di Windows è anche possibile attivare e disattivare la verifica di I/O avanzata senza riavviare il computer aggiungendo il parametro /volatile al comando. Ad esempio:
verifier /volatile /flags 0x40 /adddriver MyDriver.sys
Questa impostazione è effettiva immediatamente, ma viene persa quando si arresta o si riavvia il computer. Per informazioni dettagliate, vedere Uso delle impostazioni volatili.
Uso di Gestione verifica driver
- Avviare Gestione verifica driver. Digitare Verifier in una finestra del prompt dei comandi.
- Selezionare Crea impostazioni personalizzate (per sviluppatori di codice) e quindi fare clic su Avanti.
- Selezionare Seleziona singole impostazioni da un elenco completo.
- Selezionare (controllo) Verifica di I/O avanzata.
La funzionalità di verifica DMA è inclusa anche nelle impostazioni standard. Per usare questa funzionalità, in Gestione driver verifier fare clic su Crea impostazioni standard.