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 di 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 IRP WMI.

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 è possibile eseguire un test più completo dei metodi di interfaccia di I/O in un driver.

Funzionalità della verifica di I/O avanzata

Verifica driver aggiunge i controlli seguenti quando si attiva la verifica di I/O avanzata.

  • Monitora tutti gli indirizzi IP 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 lo stesso dispositivo più che una volta e per rilevare la rimozione e l'eliminazione inappropriata degli oggetti dispositivo.

  • Verifica che il driver si rimuove correttamente tutte le chiamate IoSkipCurrentIrpStackLocation .

Nuovi stress e test includono:

  • Scrambling dell'ordine dei dispositivi enumerati, per assicurarsi che i driver Plug and Play (PnP) non facciano ipotesi sull'ordine di avvio del dispositivo.

  • Modifica dello stato di PnP e Power IRP al termine, per rilevare i driver che restituiscono uno stato non corretto dalle routine di invio.

  • Invio di falsi IRP di Power per testare i bug del percorso del codice del driver.

  • Invio di irP WMI falsi per testare i 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 livello 2.

Nella schermata blu, questi errori vengono annotati dal messaggio ERRORE DI VERIFICA DEL SISTEMA IO e dalla stringa WDM DRIVER ERROR XXX, dove XXX è un codice di errore di I/O.

In un file di dump di arresto anomalo, questi errori vengono annotati 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 di 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. Questa operazione non è possibile con altri controlli di bug.

La schermata blu, il file di dump di arresto anomalo e il debugger del kernel visualizzano anche informazioni aggiuntive. Per una descrizione completa di tutti i messaggi di errore di I/O Livello 2, vedere Verifica 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 di I/O. Non è disponibile o necessario selezionarlo come opzione separata.

  • Nella riga di comando

    Nella riga di comando l'opzione Verifica di I/O avanzata è rappresentata da 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 è efficace 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

    1. Avviare Gestione verifica driver. Digitare Verifica in una finestra del prompt dei comandi.
    2. Selezionare Crea impostazioni personalizzate (per sviluppatori di codice) e quindi fare clic su Avanti.
    3. Selezionare Seleziona singole impostazioni da un elenco completo.
    4. Selezionare (check) Verifica di I/O avanzata.

    La funzionalità di verifica DMA è inclusa anche nelle impostazioni standard. Per usare questa funzionalità, in Gestione verifica driver fare clic su Crea impostazioni standard.