Controllo bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION
Il controllo DRIVER_VERIFIER_DETECTED_VIOLATION bug ha un valore di 0x000000C4. Si tratta del codice di controllo generale dei bug per gli errori irreversibili rilevati dal verificatore driver. Per altre informazioni, vedere Gestione di un controllo bug quando è abilitato il verifica driver.
Importante
Questo articolo è destinato ai programmatori. Se si è un cliente che ha ricevuto un codice di errore dello schermo blu durante l'uso del computer, vedere Risolvere gli errori dello schermo blu.
parametri DRIVER_VERIFIER_DETECTED_VIOLATION
Il parametro 1 identifica il tipo di violazione. Il significato dei parametri rimanenti varia con il valore di Parametro 1. I valori dei parametri sono descritti nella tabella seguente.
Nota Se si verificano problemi durante la visualizzazione di tutte le 5 colonne di questa tabella, provare quanto segue:
- Espandere la finestra del browser in dimensioni complete.
- Posizionare il cursore nella tabella e usare i tasti di direzione per scorrere a sinistra e destra.
0x00 a 0x70
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0x00 | IrQL corrente | Tipo di pool | Numero di byte | Il driver ha richiesto un'allocazione del pool di byte zero. |
0x01 | IrQL corrente | Tipo di pool | Dimensioni dell'allocazione, in byte | Il driver ha tentato di allocare memoria paginata con irQL > APC_LEVEL. |
0x02 | IrQL corrente | Tipo di pool | Dimensioni dell'allocazione, in byte | Il driver ha tentato di allocare memoria non di pagina con irQL > DISPATCH_LEVEL. |
0x03 | Il chiamante sta tentando di allocare più di una pagina di deve avere esito positivo, ma una pagina è il massimo consentito da questa API. | |||
0x10 | Indirizzo non valido | 0 | 0 | Il driver ha tentato di liberare un indirizzo che non è stato restituito da una chiamata allocata. |
0x11 | IrQL corrente | Tipo di pool | Indirizzo del pool | Il driver ha tentato di liberare il pool con irQL > APC_LEVEL. |
0x12 | IrQL corrente | Tipo di pool | Indirizzo del pool | Il driver ha tentato di liberare il pool non a pagina con irQL > DISPATCH_LEVEL. |
0x13 o 0x14 | Riservato | Puntatore all'intestazione del pool | Contenuto dell'intestazione del pool | Il driver ha tentato di liberare il pool di memoria che è già stato liberato. |
0x15 | Voce timer | Tipo di pool | Indirizzo del pool liberato | Il pool del chiamante sta tentando di liberare contiene un timer attivo. |
0x16 | Riservato | Indirizzo del pool | 0 | Il driver ha tentato di liberare il pool in un indirizzo non valido o il driver ha passato parametri non validi a una routine di memoria. |
0X17 | Voce risorsa | Tipo di pool | Indirizzo del pool liberato | Il pool del chiamante sta tentando di liberare contiene un'ERESOURCE attiva. |
0x30 | IrQL corrente | Richiesta irQL | 0 | Il driver ha passato un parametro non valido a KeRaiseIrql. Il parametro è stato un valore inferiore al irQL corrente o un valore superiore a HIGH_LEVEL. Questo può essere il risultato dell'uso di un parametro non inizializzato. |
0x31 | IrQL corrente | Richiesta irQL | 0: Nuovo IRQL non è valido 1: Nuovo IRQL non è valido all'interno di una routine DPC | Il driver ha passato un parametro non valido a KeLowerIrql. Il parametro è stato un valore superiore a quello corrente di IRQL o un valore superiore a HIGH_LEVEL. Questo può essere il risultato dell'uso di un parametro non inizializzato. |
0x32 | IrQL corrente | Indirizzo di blocco spin | 0 | Il driver denominato KeReleaseSpinLock in un irQL diverso da DISPATCH_LEVEL. Questo può essere dovuto a un doppio rilascio di un blocco di rotazione. |
0x33 | IrQL corrente | Indirizzo mutex veloce | 0 | Il driver ha tentato di acquisire il mutex veloce con irQL > APC_LEVEL. |
0x34 | IrQL corrente | Numero di disabilitazione del thread APC | Indirizzo mutex veloce | Il driver ha tentato di rilasciare il mutex veloce in un IRQL diverso da APC_LEVEL. |
0x35 | IrQL corrente | Indirizzo di blocco spin | Old IRQL | Il kernel ha rilasciato un blocco spin con IRQL non uguale a DISPATCH_LEVEL. |
0x36 | IrQL corrente | Numero di blocco spin | Old IRQL | Il kernel ha rilasciato un blocco spin in coda con IRQL non uguale a DISPATCH_LEVEL. |
0x37 | IrQL corrente | Numero di disabilitazione del thread APC | Risorsa | Il driver ha tentato di acquisire una risorsa, ma le API non sono disabilitate. |
0x38 | IrQL corrente | Numero di disabilitazione del thread APC | Risorsa | Il driver ha provato a rilasciare una risorsa, ma le API non sono disabilitate. |
0x39 | IrQL corrente | Numero di disabilitazione del thread APC | Mutex | Il driver ha cercato di acquisire un mutex "unsafe" con IRQL non uguale a APC_LEVEL all'ingresso. |
0x3A | IrQL corrente | Numero di disabilitazione del thread APC | Mutex | Il driver ha tentato di rilasciare un mutex "unsafe" con IRQL non uguale a APC_LEVEL alla voce. |
0x3B | IrQL corrente | Oggetto da attendere | Parametro timeout | La routine KeWaitXxx viene chiamata in DISPATCH_LEVEL o superiore. |
0x3C | Handle passato alla routine | Tipo oggetto | 0 | Il driver denominato ObReferenceObjectByHandle con un handle non valido. |
0x3D | 0 | 0 | Indirizzo della risorsa non valida | Il driver ha passato una risorsa non valida (non idonea) a ExAcquireResourceExclusive. |
0x3E | 0 | 0 | 0 | Il driver denominato KeLeaveCriticalRegion per un thread non attualmente presente in un'area critica. |
0x3F | Indirizzo dell'oggetto | Nuovo numero di riferimenti all'oggetto. -1: caso di dereferenza 1: caso di riferimento | 0 | Il driver ha applicato ObReferenceObject a un oggetto con un numero di riferimenti pari a zero o il driver applicato ObDereferenceObject a un oggetto con un numero di riferimenti pari a zero. |
0x40 | IrQL corrente | Indirizzo di blocco spin | 0 | Il driver chiamato KeAcquireSpinLockAtDpcLevel con IRQL < DISPATCH_LEVEL. |
0x41 | IrQL corrente | Indirizzo di blocco spin | 0 | Il driver denominato KeReleaseSpinLockFromDpcLevel con irQL < DISPATCH_LEVEL. |
0x42 | IrQL corrente | Indirizzo di blocco spin | 0 | Il driver denominato KeAcquireSpinLock con irQL > DISPATCH_LEVEL. |
0x51 | Indirizzo di base dell'allocazione | Indirizzo del riferimento oltre l'allocazione | Numero di byte addebitati | Il driver ha tentato di liberare memoria dopo aver scritto la fine dell'allocazione. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento pool di Driver Verifier è attiva. |
0x52 | Indirizzo di base dell'allocazione | Voce hash | Numero di byte addebitati | Il driver ha tentato di liberare memoria dopo aver scritto la fine dell'allocazione. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento pool di Driver Verifier è attiva. |
0x53 | Indirizzo di base dell'allocazione | Intestazione | Riservato | Il driver ha tentato di liberare memoria dopo aver scritto la fine dell'allocazione. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento pool di Driver Verifier è attiva. |
0x54 | Indirizzo di base dell'allocazione | Riservato | Dimensioni hash del pool | Il driver ha tentato di liberare memoria dopo aver scritto la fine dell'allocazione. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento pool di Driver Verifier è attiva. |
0x59 | Indirizzo di base dell'allocazione | Listindex | Riservato | Il driver ha tentato di liberare memoria dopo aver scritto la fine dell'allocazione. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento pool di Driver Verifier è attiva. |
0x60 | Byte allocati dal pool con pagine | Byte allocati dal pool non con pagine | Numero totale di allocazioni non liberate | Il driver si scarica senza prima liberare le allocazioni del pool. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento pool di Driver Verifier è attiva. |
0x61 | Byte allocati dal pool con pagine | Byte allocati dal pool non con pagine | Numero totale di allocazioni non liberate | Un thread driver sta tentando di allocare la memoria del pool mentre il driver sta scaricando. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento pool di Driver Verifier è attiva. |
0x62 | Nome del driver | Riservato | Numero totale di allocazioni che non sono state liberate, inclusi pool impaginati e non di pagina | Il driver si scarica senza prima liberare le allocazioni del pool. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento pool di Driver Verifier è attiva. Digitare !verifier 3 drivername.sys per informazioni sulle allocazioni che sono state perse che hanno causato il controllo di bug. |
0x6F | Indirizzo MDL | Pagina fisica bloccata | Pagina fisica più alta nel sistema | MmProbeAndLockPages chiamato nelle pagine non nel database PFN. Questo è in genere un driver che chiama questa routine per bloccare la propria RAM dualport privata. Non solo questo non è necessario, può anche danneggiare la memoria nei computer con RAM fisica non non contigua. |
0x70 a 0x91
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0x70 | IrQL corrente | Indirizzo MDL | Modalità di accesso | Il driver denominato MmProbeAndLockPages con DISPATCH_LEVEL IRQL > . |
0x71 | IrQL corrente | Indirizzo MDL | Indirizzo del processo | Il driver denominato MmProbeAndLockProcessPages con irQL > DISPATCH_LEVEL. |
0x72 | IrQL corrente | Indirizzo MDL | Indirizzo del processo | Il driver denominato MmProbeAndLockSelectedPages con DISPATCH_LEVEL IRQL > . |
0x73 | IrQL corrente | In Windows a 32 bit: Basso 32 bit dell'indirizzo fisico In Windows a 64 bit: l'indirizzo fisico a 64 bit | Numero di byte | Il driver denominato MmMapIoSpace con irQL > DISPATCH_LEVEL. |
0x74 | IrQL corrente | Indirizzo MDL | Modalità di accesso | Il driver denominato MmMapLockedPages in modalità kernel con DISPATCH_LEVEL IRQL > . |
0x75 | IrQL corrente | Indirizzo MDL | Modalità di accesso | Il driver denominato MmMapLockedPages in modalità utente con APC_LEVEL IRQL > . |
0x76 | IrQL corrente | Indirizzo MDL | Modalità di accesso | Il driver denominato MmMapLockedPagesSpecifyCache in modalità kernel con IRQL > DISPATCH_LEVEL. |
0x77 | IrQL corrente | Indirizzo MDL | Modalità di accesso | Il driver denominato MmMapLockedPagesSpecifyCache in modalità utente con IRQL > APC_LEVEL. |
0x78 | IrQL corrente | Indirizzo MDL | 0 | Il driver denominato MmUnlockPages con irQL > DISPATCH_LEVEL. |
0x79 | IrQL corrente | Indirizzo virtuale non eseguito il mapping | Indirizzo MDL | Il driver denominato MmUnmapLockedPages in modalità kernel con DISPATCH_LEVEL IRQL > . |
0x7A | IrQL corrente | Indirizzo virtuale non eseguito il mapping | Indirizzo MDL | Il driver denominato MmUnmapLockedPages in modalità utente con APC_LEVEL IRQL > . |
0x7B | IrQL corrente | Indirizzo virtuale non eseguito il mapping | Numero di byte | Il driver denominato MmUnmapIoSpace con irQL > APC_LEVEL. |
0x7C | Indirizzo MDL | Flag MDL | 0 | Il driver denominato MmUnlockPages e ha passato un MDL le cui pagine non sono mai state bloccate correttamente. |
0x7D | Indirizzo MDL | Flag MDL | 0 | Il driver denominato MmUnlockPages e ha passato un MDL le cui pagine provengono da un pool non di pagine. Questi non devono mai essere sbloccati. |
0x7E | IrQL corrente | DISPATCH_LEVEL | 0 | Il driver denominato MmAllocatePagesForMdl, MmAllocatePagesForMdlEx o MmFreePagesFromMdl con irQL > DISPATCH_LEVEL. |
0x7f | IrQL corrente | Indirizzo MDL | Flag MDL | Il driver denominato BuildMdlForNonPagedPool e ha passato un MDL le cui pagine provengono da un pool di pagine. |
0x80 | IrQL corrente | Indirizzo evento | 0 | Il driver denominato KeSetEvent con IRQL > DISPATCH_LEVEL. |
0x81 | Indirizzo MDL | Flag MDL | 0 | Driver denominato MmMapLockedPages. È consigliabile usare MmMapLockedPagesSpecifyCache con il parametro BugCheckOnFailure impostato su FALSE. |
0x82 | Indirizzo MDL | Flag MDL | 0 | Il driver denominato MmMapLockedPagesSpecifyCache con il parametro BugCheckOnFailure uguale a TRUE. Questo parametro deve essere impostato su FALSE. |
0x83 | Inizio dell'intervallo di indirizzi fisici da mappare | Numero di byte da mappare | Primo numero di frame di pagina non bloccato | Il driver denominato MmMapIoSpace senza aver bloccato le pagine MDL. Le pagine fisiche rappresentate dall'intervallo di indirizzi fisici mappati devono essere bloccate prima di effettuare questa chiamata. |
0x85 | Indirizzo MDL | Numero di pagine da mappare | Primo numero di frame di pagina non bloccato | Il driver denominato MmMapLockedPages senza aver bloccato le pagine MDL. |
0x89 | Indirizzo MDL | Puntatore alla pagina non memoria nel MDL | Numero di pagina non di memoria nel MDL | Un MDL non è contrassegnato come "I/O", ma contiene indirizzi di pagina non di memoria. |
0x91 | Riservato | Riservato | Riservato | Gli stack di cambio driver usano un metodo che non è supportato dal sistema operativo. L'unico modo supportato per estendere uno stack di modalità kernel consiste nell'usare KeExpandKernelStackAndCallout. |
0xA0 a 0x140
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0xa0 | Puntatore all'IRP che effettua la richiesta di lettura o scrittura | Oggetto Device del dispositivo inferiore | Numero del settore in cui è stato rilevato l'errore | È stato rilevato un errore di controllo della ridondanza ciclico (CRC) in un disco rigido. Un controllo di bug con questo parametro si verifica solo quando l'opzione Controllo integrità disco di Driver Verifier è attiva. |
0xA1 | Copia dell'IRP che effettua la richiesta di lettura o scrittura. L'IRP effettivo è stato completato. | Oggetto Device del dispositivo inferiore | Numero del settore in cui è stato rilevato l'errore | È stato rilevato un errore CRC in un settore (in modo asincrono). Un controllo di bug con questo parametro si verifica solo quando l'opzione Controllo integrità disco di Driver Verifier è attiva. |
0xA2 | IRP che effettua la richiesta di lettura o scrittura o una copia di questo IRP | Oggetto Device del dispositivo inferiore | Numero del settore in cui è stato rilevato l'errore | La copia checksum CRCDISK non corrisponde. Questo potrebbe essere un errore di paging. Un controllo di bug con questo parametro si verifica solo quando l'opzione Controllo integrità disco di Driver Verifier è attiva. |
0xB0 | Indirizzo MDL | Flag MDL | Flag MDL non corretti | Il driver denominato MmProbeAndLockPages per un MDL con flag non corretti. Ad esempio, il driver ha passato un MDL creato da MmBuildMdlForNonPagedPool a MmProbeAndLockPages. |
0xB1 | Indirizzo MDL | Flag MDL | Flag MDL non corretti | Il driver denominato MmProbeAndLockProcessPages per un MDL con flag non corretti. Ad esempio, il driver ha passato un MDL creato da MmBuildMdlForNonPagedPool a MmProbeAndLockProcessPages. |
0xB2 | Indirizzo MDL | Flag MDL | Flag MDL non corretti | Il driver denominato MmMapLockedPages per un MDL con flag non corretti. Ad esempio, il driver ha passato un MDL già mappato a un indirizzo di sistema o che non è stato bloccato in MmMapLockedPages. |
0xB3 | Indirizzo MDL | Flag MDL | Flag MDL mancanti (almeno uno previsto) | Il driver denominato MmMapLockedPages per un MDL con flag non corretti. Ad esempio, il driver ha passato un MDL che non è bloccato in MmMapLockedPages. |
0xB4 | Indirizzo MDL | Flag MDL | Flag MDL parziale imprevisto | Driver denominato MmUnlockPages per un MDL parziale. Un MDL parziale è uno creato da IoBuildPartialMdl. |
0xB5 | Indirizzo MDL | Flag MDL | Flag MDL parziale imprevisto | MmUnmapLockedPages chiamato su un MDL parziale (creato con IoBuildPartialMdl). |
0xB6 | Indirizzo MDL | Flag MDL | Flag MDL mancante | MmUnmapLockedPages chiamato su un MDL non mappato a un indirizzo di sistema. |
0xB7 | Numero di pagine fisiche danneggiate. | Prima pagina fisica danneggiata. | Ultima pagina fisica danneggiata. | Il BIOS di sistema ha danneggiato memoria fisica insufficiente durante una transizione di sospensione. |
0xB8 | Indirizzo MDL | Flag MDL | Riservato | Le pagine descritte dal linguaggio MDL sono ancora mappate. Il driver deve annullare il mapping delle pagine prima di chiamare IoFreeMdl. |
0xB9 | Indirizzo non mappato. | Indirizzo MDL. | Riservato | MmUnmapLockedPages chiamato con un indirizzo di spazio utente non valido. |
0xC0 | Indirizzo dell'IRP | 0 | Riservato | Il driver chiamato IoCallDriver con interrupt disabilitati. |
0xC1 | Indirizzo della routine dispatch del driver | Riservato | Riservato | È stata restituita una routine di invio del driver con interruzioni disabilitate. |
0xC2 | 0 | 0 | 0 | Il driver ha chiamato una routine di invio I/O veloce dopo l'interruzione è stata disabilitata. |
0xC3 | Indirizzo della routine di invio di I/O veloce del driver | Riservato | Riservato | Una routine di invio di I/O veloce del driver è stata restituita con interruzioni disabilitate. |
0xC5 | Indirizzo della routine dispatch del driver | Conteggio di disabilitazione del thread corrente | Il conteggio APC del thread viene disabilitato prima di chiamare la routine dispatch del driver | Una routine di invio del driver ha modificato il conteggio di disabilitazione APC del thread. Il conteggio delle disabilitazioni APC viene decrementato ogni volta che un driver chiama KeEnterCriticalRegion, FsRtlEnterFileSystem o acquisisce un mutex. Il conteggio delle disabilitazioni APC viene incrementato ogni volta che un driver chiama KeLeaveCriticalRegion, KeReleaseMutex o FsRtlExitFileSystem. Poiché queste chiamate devono essere sempre in coppia, il conteggio di disabilitazione APC deve essere zero ogni volta che un thread viene chiuso. Un valore negativo indica che un driver ha disabilitato le chiamate APC senza riabilitarle. Un valore positivo indica che il contrario è true. |
0xC6 | Indirizzo della routine di invio di I/O veloce del driver | Conteggio di disabilitazione del thread corrente | Il conteggio di disabilitazione del thread prima di chiamare la routine di invio del driver I/O veloce | Una routine di invio I/O veloce del driver ha modificato il conteggio di disabilitazione APC del thread. Il conteggio delle disabilitazioni APC viene decrementato ogni volta che un driver chiama KeEnterCriticalRegion, FsRtlEnterFileSystem o acquisisce un mutex. Il conteggio delle disabilitazioni APC viene incrementato ogni volta che un driver chiama KeLeaveCriticalRegion, KeReleaseMutex o FsRtlExitFileSystem. Poiché queste chiamate devono essere sempre in coppia, il conteggio di disabilitazione APC deve essere zero ogni volta che un thread viene chiuso. Un valore negativo indica che un driver ha disabilitato le chiamate APC senza riabilitarle. Un valore positivo indica che il contrario è true. |
0xCA | Indirizzo dell'elenco lookaside | Riservato | Riservato | Il driver ha tentato di inizializzare nuovamente un elenco lookaside. |
0xCB | Indirizzo dell'elenco lookaside | Riservato | Riservato | Il driver ha tentato di eliminare un elenco lookaside non inizializzato. |
0xCC | Indirizzo dell'elenco lookaside | Indirizzo iniziale dell'allocazione del pool | Dimensioni dell'allocazione del pool | Il driver ha tentato di liberare un'allocazione del pool che contiene un elenco lookaside attivo. |
0xCD | Indirizzo dell'elenco lookaside | Dimensione del blocco specificata dal chiamante | Dimensioni minime dei blocchi supportate | Il driver ha tentato di creare un elenco lookaside con dimensioni del blocco di allocazione troppo piccole. |
0xD0 | Indirizzo della struttura ERESOURCE | Riservato | Riservato | Il driver ha tentato di inizializzare nuovamente una struttura ERESOURCE. |
0xD1 | Indirizzo della struttura ERESOURCE | Riservato | Riservato | Il driver ha tentato di eliminare una struttura ERESOURCE non inizializzata. |
0xD2 | Indirizzo della struttura ERESOURCE | Indirizzo iniziale dell'allocazione del pool | Dimensioni dell'allocazione del pool | Il driver ha tentato di liberare un'allocazione del pool contenente una struttura ERESOURCE attiva. |
0xD5 | Indirizzo della struttura IO_REMOVE_LOCK creata dalla versione di compilazione controllata del driver | Tag IoReleaseRemoveLock corrente | Riservato | Il tag IoReleaseRemoveLock corrente non corrisponde al tag IoAcquireRemoveLock precedente. Se il driver che chiama IoReleaseRemoveLock non è in una compilazione selezionata, il parametro 2 è l'indirizzo della struttura shadow IO_REMOVE_LOCK creata da Driver Verifier per conto del driver. In questo caso, l'indirizzo della struttura IO_REMOVE_LOCK utilizzata dal driver non viene usato per niente, perché Driver Verifier sostituisce l'indirizzo di blocco per tutte le API di blocco rimosse. Un controllo di bug con questo parametro si verifica solo quando l'opzione Di verifica I/O di Driver Verifier è attiva. |
0xD6 | Indirizzo della struttura IO_REMOVE_LOCK creata dalla versione di compilazione controllata del driver | Tag che non corrisponde al tag IoAcquireRemoveLock precedente | Tag IoAcquireRemoveLock precedente | Il tag IoReleaseRemoveLockAndWait corrente non corrisponde al tag IoAcquireRemoveLock precedente. Se il driver che chiama IoReleaseRemoveLock non è una build controllata, il parametro 2 è l'indirizzo della struttura shadow IO_REMOVE_LOCK creata dal verificatore driver per conto del driver. In questo caso, l'indirizzo della struttura IO_REMOVE_LOCK utilizzata dal driver non viene usato per niente, perché Driver Verifier sostituisce l'indirizzo di blocco per tutte le API di blocco rimosse. Un controllo di bug con questo parametro si verifica solo quando l'opzione Di verifica I/O di Driver Verifier è attiva. |
0xD7 | Indirizzo della struttura rimuovi blocco della compilazione selezionata usata internamente dal verificatore driver | Indirizzo della struttura Remove Lock specificata dal driver | Riservato | Non è possibile inizializzare nuovamente un blocco remove, anche dopo che chiama IoReleaseRemoveLockAndWait, perché altri thread potrebbero comunque essere usati con tale blocco (chiamando IoAcquireRemoveLock). Il driver deve allocare il blocco rimuovi all'interno dell'estensione del dispositivo e inizializzarlo una sola volta. Il blocco verrà eliminato insieme all'estensione del dispositivo. |
0xDA | Indirizzo iniziale del driver | Indirizzo di callback WMI all'interno del driver | Riservato | È stato effettuato un tentativo di scaricare un driver che non ha annullato la registrazione della funzione di callback WMI. |
0xDB | Indirizzo dell'oggetto dispositivo | Riservato | Riservato | È stato effettuato un tentativo di eliminazione di un oggetto dispositivo che non è stato deregisterato da WMI. |
0xDC | Riservato | Riservato | Riservato | Un valore RegHandle non valido è stato specificato come parametro della funzione EtwUnregister. |
0xDD | Indirizzo della chiamata a EtwRegister | Indirizzo iniziale del driver di scarico | Per Windows 8 e versioni successive, questo parametro è il valore ETW RegHandle. | È stato effettuato un tentativo di scaricare un driver senza chiamare EtwUnregister. |
0xDF | Indirizzo dell'oggetto di sincronizzazione | 0 | 0 | L'oggetto di sincronizzazione si trova nello spazio degli indirizzi della sessione. Gli oggetti di sincronizzazione non sono consentiti nello spazio indirizzi sessione perché possono essere modificati da un'altra sessione o da thread di sistema senza spazio indirizzi virtuale sessione. |
0xE0 | Indirizzo in modalità utente usato come parametro | Dimensioni ,in byte, dell'intervallo di indirizzi usato come parametro | Riservato | Una chiamata è stata effettuata a una funzione kernel del sistema operativo che ha specificato un indirizzo in modalità utente come parametro. |
0xE1 | Indirizzo dell'oggetto di sincronizzazione | Riservato | Riservato | Un oggetto di sincronizzazione è stato trovato per avere un indirizzo non valido o paginabile. |
0xE2 | Indirizzo dell'IRP | Indirizzo in modalità utente presente in IRP | Riservato | È stato trovato un indirizzo IRP con Irp-RequestorMode> impostato su KernelMode per avere un indirizzo in modalità utente come uno dei relativi membri. |
0xE3 | Indirizzo della chiamata all'API | Indirizzo in modalità utente usato come parametro nell'API | Riservato | Un driver ha effettuato una chiamata a una routine zwxxx in modalità kernel con un indirizzo in modalità utente come parametro. |
0xE4 | Indirizzo della chiamata all'API | Indirizzo della struttura di UNICODE_STRING non formattata | Riservato | Un driver ha effettuato una chiamata a una routine ZwXxx in modalità kernel con una struttura di UNICODE_STRING non formattata come parametro. |
0xE5 | IrQL corrente | Riservato | Riservato | Una chiamata è stata effettuata a un'API kernel al irQL non corretto. |
0xE6 | Indirizzo all'interno del driver che effettua la chiamata API Zw | IrQL corrente | API kernel speciali. | L'API Zw del kernel non è stata chiamata in IRQL = PASSIVE_LEVEL e con API kernel speciali abilitate. |
0xEA | IrQL corrente | Numero di disabilitazione del thread del thread | Indirizzo del pushlock | Un driver ha tentato di acquisire un pushlock mentre le API sono abilitate. |
0xEB | IrQL corrente | Numero di disabilitazione del thread del thread | Indirizzo del pushlock | Un driver ha tentato di rilasciare un pushlock mentre le API sono abilitate. |
0xF0 | Indirizzo del buffer di destinazione | Indirizzo del buffer di origine | Numero di byte da copiare | Un driver denominato funzione memcpy con buffer di origine e destinazione sovrapposti. |
0xF5 | Indirizzo dell'handle NULL | Tipo oggetto | Riservato | Un driver ha passato un handle NULL a ObReferenceObjectByHandle. |
0xF6 | Gestire il valore a cui si fa riferimento | Indirizzo del processo corrente | Indirizzo all'interno del driver che esegue il riferimento non corretto | Un driver fa riferimento a un handle in modalità utente come modalità kernel. |
0xF7 | Handle value specificato dal chiamante | Tipo di oggetto specificato dal chiamante | AccessMode specificato dal chiamante | Un driver tenta un riferimento in modalità utente per un handle kernel nel contesto del processo di sistema. |
0xFA | Indirizzo di routine di completamento. | Valore IRQL prima di chiamare la routine di completamento | Valore IRQL corrente, dopo aver chiamato la routine di completamento | La routine di completamento di IRP restituita in un IRQL diverso dal IRQL la routine è stata chiamata in. |
0xFB | Indirizzo di routine di completamento | Numero di disabilitazione del thread corrente | Numero di disabilitazione del thread del thread prima di chiamare la routine di completamento di IRP | Il conteggio di disabilitazione del thread del thread è stato modificato dalla routine di completamento IRP del driver. Il conteggio di disabilitazione APC viene decrementato ogni volta che un driver chiama KeEnterCriticalRegion, FsRtlEnterFileSystem o acquisisce un mutex. Il conteggio di disabilitazione APC viene incrementato ogni volta che un driver chiama KeLeaveCriticalRegion, KeReleaseMutex o FsRtlExitFileSystem. Poiché queste chiamate devono essere sempre in coppie, il conteggio di disabilitazione APC deve essere zero ogni volta che un thread viene chiuso. Un valore negativo indica che un driver ha disabilitato le chiamate APC senza riattivarle. Un valore positivo indica che il contrario è true. |
0xFC | Indirizzo all'interno del driver che effettua la chiamata API non corretta. | Valore ApcContext specificato. | Riservato | Chiamata di ZwNotifyChangeKey (dalla modalità kernel) con valore ApcContext non supportato. |
0x105 a 0x140
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0x105 | Indirizzo dell'IRP | 0 | 0 | Il driver usa ExFreePool anziché IoFreeIrp per rilasciare l'IRP. |
0x10A | 0 | 0 | 0 | Il driver tenta di caricare la quota del pool nel processo di inattività. |
0x10B | 0 | 0 | 0 | Il driver tenta di caricare la quota del pool da una routine DPC. Non è corretto perché il contesto del processo corrente non è definito. |
0x110 | Indirizzo della routine del servizio di interruzione | Indirizzo del contesto esteso salvato prima dell'esecuzione dell'ISR | Indirizzo del contesto esteso salvato dopo l'esecuzione dell'ISR | La routine del servizio di interruzione (ISR) per il driver ha danneggiato il contesto del thread esteso. |
0x111 | Indirizzo della routine del servizio di interruzione | IRQL prima di eseguire ISR | IRQL dopo l'esecuzione di ISR | La routine del servizio di interruzione ha restituito un IRQL modificato. |
0x115 | Indirizzo del thread responsabile dell'arresto, che potrebbe essere deadlock. | 0 | 0 | Il verificatore driver ha rilevato che il sistema ha richiesto più di 20 minuti e l'arresto non è stato completato. |
0x11A | IrQL corrente | 0 | 0 | Il driver chiama KeEnterCriticalRegion all'APC_LEVEL IRQL > . |
0x11B | IrQL corrente | 0 | 0 | Il driver chiama KeLeaveCriticalRegion all'APC_LEVEL IRQL > . |
0x120 | Indirizzo del valore IRQL | Indirizzo dell'oggetto da attendere | Indirizzo del valore di Timeout | Il thread attende il DISPATCH_LEVEL IRQL > . I chiamanti di KeWaitForSingleObject o KeWaitForMultipleObjects devono essere eseguiti in IRQL <= DISPATCH_LEVEL. |
0x121 | Indirizzo del valore IRQL | Indirizzo dell'oggetto da attendere | Indirizzo del valore di timeout | Il thread attende irQL è uguale a DISPATCH_LEVEL e timeout è NULL. I chiamanti di KeWaitForSingleObject o KeWaitForMultipleObjects possono essere eseguiti in IRQL <= DISPATCH_LEVEL. Se viene fornito un puntatore NULL per Timeout, il thread chiamante rimane in uno stato di attesa fino a quando l'oggetto non viene segnalato. |
0x122 | Indirizzo del valore IRQL | Indirizzo dell'oggetto da attendere | Indirizzo del valore di timeout | Il thread attende DISPATCH_LEVEL e il valore di timeout non è uguale a zero (0). Se timeout != 0, i chiamanti di KeWaitForSingleObject o KeWaitForMultipleObjects devono essere eseguiti in IRQL <= APC_LEVEL. |
0x123 | Indirizzo dell'oggetto da attendere | 0 | 0 | Il chiamante di KeWaitForSingleObject o KeWaitForMultipleObjects ha specificato l'attesa come UserMode, ma l'oggetto si trova nello stack del kernel. |
0x130 | Indirizzo dell'elemento di lavoro | 0 | 0 | L'elemento di lavoro si trova nello spazio indirizzi della sessione. Gli elementi di lavoro non sono consentiti nello spazio indirizzi della sessione perché possono essere modificati da un'altra sessione o da thread di sistema che non dispongono di spazio indirizzi virtuali di sessione. |
0x131 | Indirizzo dell'elemento di lavoro | 0 | 0 | L'elemento di lavoro è in memoria pagable. Gli elementi di lavoro devono essere in memoria non modificabile perché il kernel li usa in DISPATCH_LEVEL. |
0x135 | Indirizzo di IRP | Numero di millisecondi consentiti tra la chiamata IoCancelIrp e il completamento per questo IRP | 0 | L'IRP annullato non è stato completato nel tempo previsto Il driver ha richiesto più tempo del previsto per completare l'IRP annullato. |
0x13A | Indirizzo del blocco del pool liberato | Valore non corretto | Indirizzo del valore non corretto | Il driver ha chiamato ExFreePool e Driver Verifier rileva un errore in uno dei valori interni usati per tenere traccia dell'utilizzo del pool. |
0x13B | Indirizzo del blocco del pool liberato | Indirizzo del valore non corretto | Indirizzo di un puntatore alla pagina di memoria non corretta | Il driver ha chiamato ExFreePool e Driver Verifier rileva un errore in uno dei valori interni usati per tenere traccia dell'utilizzo del pool. |
0x13C | Indirizzo del blocco del pool liberato | Valore non corretto | Indirizzo del valore non corretto | Il driver ha chiamato ExFreePool e Driver Verifier rileva un errore in uno dei valori interni usati per tenere traccia dell'utilizzo del pool. |
0x13D | Indirizzo del blocco del pool liberato | Indirizzo del valore non corretto | Valore corretto previsto | Il driver ha chiamato ExFreePool e Driver Verifier rileva un errore in uno dei valori interni usati per tenere traccia dell'utilizzo del pool. |
0x13E | Indirizzo del blocco del pool specificato dal chiamante | Indirizzo del blocco del pool rilevato da Driver Verifier | Puntatore all'indirizzo del blocco del pool rilevato da Driver Verifier | L'indirizzo del blocco del pool specificato dal chiamante di ExFreePool è diverso dall'indirizzo rilevato da Driver Verifier. |
0x13F | Indirizzo del blocco del pool liberato | Numero di byte liberati | Puntatore al numero di byte rilevati da Driver Verifier | Il numero di byte di memoria liberati nella chiamata a ExFreePool è diverso dal numero di byte rilevati da Driver Verifier. |
0x140 | IRQL corrente | Indirizzo MDL | Indirizzo virtuale associato a questo MDL | Un file MDL non bloccato è stato costruito dalla memoria di paging o tradable. |
0x141 | Indirizzo fisico massimo richiesto dal driver per l'allocazione | Numero di byte da allocare | 0 | Il driver richiede in modo esplicito la memoria fisica con 4 GB. |
da 0x1000 a 0x100B - Deadlock
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa dell'errore |
---|---|---|---|---|
0x1000 | Indirizzo della risorsa | Riservato | Riservato | Self-deadlock: il thread corrente ha cercato di acquisire in modo ricorsivo ed esclusivamente una risorsa di cui è proprietaria solo. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento deadlock di Driver Verifier è attiva. |
0x1001 | Indirizzo della risorsa che è stata la causa finale del deadlock | Riservato | Riservato | Deadlock: è stata rilevata una violazione della gerarchia di blocchi. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento deadlock di Driver Verifier è attiva. Usare l'estensione !deadlock per ulteriori informazioni. |
0x1002 | Indirizzo della risorsa | Riservato | Riservato | Risorsa non inizializzata: una risorsa è stata acquisita senza essere stata inizializzata prima. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento deadlock del driver è attiva. |
0x1003 | Indirizzo della risorsa che viene rilasciata deadlock | Indirizzo della risorsa che dovrebbe essere stata rilasciata prima | Riservato | Versione imprevista: una risorsa è stata rilasciata in un ordine non corretto. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento deadlock del driver è attiva. |
0x1004 | Indirizzo della risorsa | Indirizzo del thread che ha acquisito la risorsa | Indirizzo del thread corrente | Thread imprevisto: il thread errato rilascia una risorsa. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento deadlock del driver è attiva. |
0x1005 | Indirizzo della risorsa | Riservato | Riservato | Inizializzazione multipla: una risorsa viene inizializzata più volte. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento deadlock del driver è attiva. |
0x1007 | Indirizzo della risorsa | Riservato | Riservato | Risorsa non prevista: una risorsa viene rilasciata prima che sia stata acquisita. Un controllo di bug con questo parametro si verifica solo quando l'opzione Rilevamento deadlock del driver è attiva. |
0x1008 | Indirizzo di blocco | Riservato | Riservato | Il driver ha tentato di acquisire un blocco usando un'API che non corrisponde a questo tipo di blocco. |
0x1009 | Indirizzo di blocco | Riservato | Riservato | Il driver ha tentato di rilasciare un blocco usando un'API che non corrisponde a questo tipo di blocco. |
0x100A | Indirizzo del thread proprietario | Riservato | Il thread terminato possiede il blocco. | |
0x100B | Indirizzo di blocco | Indirizzo del thread proprietario | Riservato | Il blocco eliminato è ancora di proprietà di un thread. |
0x1010 | Oggetto Device a cui è stato rilasciato l'IRP di scrittura. | Indirizzo dell'IRP. | System-Space indirizzo virtuale per il buffer descritto dall'MDL. | Il contenuto del buffer MDL invariante per Write Irp è stato modificato. |
0x1011 | Oggetto Device a cui è stato rilasciato l'IRP di scrittura. | Indirizzo dell'IRP. | System-Space indirizzo virtuale per il buffer descritto dall'MDL. | Il contenuto del buffer MDL invariante per Read Irp è stato modificato durante l'invio o il buffer supportato da pagine fittizie. |
0x1012 | Puntatore alla stringa che descrive la violazione. | Dati coinvolti in questo danneggiamento (0 se non usato). | Dati coinvolti in questo danneggiamento (0 se non usato). | L'archiviazione dello stato dell'estensione del verificatore ha rilevato il danneggiamento. |
0x1013 | Puntatore all'oggetto driver. | Puntatore ai callback di I/O acquisiti. | Riservato (inutilizzato). | Il verificatore ha rilevato il danneggiamento interno nei callback di I/O originali acquisiti. |
0x2000 a 0x2005 - Problemi di integrità del codice
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0x2000 | Indirizzo nel codice del driver in cui è stato rilevato l'errore. | Tipo di pool. | Tag pool (se specificato). | Problema di integrità del codice: il chiamante ha specificato un tipo di pool eseguibile. (previsto: NonPagedPoolNx) |
0x2001 | Indirizzo nel codice del driver in cui è stato rilevato l'errore. | Protezione pagina (WIN32_PROTECTION_MASK). | 0 | Problema di integrità del codice: il chiamante ha specificato una protezione della pagina eseguibile. (Previsto: PAGE_EXECUTE cancellati* bit) |
0x2002 | Indirizzo nel codice del driver in cui è stato rilevato l'errore. | Priorità pagina (MM_PAGE_PRIORITY logicamente OR con MdlMapping*). | 0 | Problema di integrità del codice: il chiamante ha specificato un mapping MDL eseguibile. (previsto: MdlMappingNoExecute) |
0x2003 | Nome file immagine (stringa Unicode). | Indirizzo dell'intestazione della sezione. | Nome della sezione (stringa codificata UTF-8). | Problema di integrità del codice: l'immagine contiene una sezione eseguibile e scrivibile. |
0x2004 | Nome file immagine (stringa Unicode). | Indirizzo dell'intestazione della sezione. | Nome della sezione (stringa codificata UTF-8). | Problema di integrità del codice: l'immagine contiene una sezione non allineata alla pagina. |
0x2005 | Nome file immagine (stringa Unicode). | Directory IAT. | Nome della sezione (stringa con codifica UTF-8). | Problema di integrità del codice: l'immagine contiene un IAT che si trova in una sezione eseguibile. |
0xA001 a 0xA00D - Problemi del commutatore di macchine virtuali
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa dell'errore |
---|---|---|---|---|
0xA001 | Puntatore all'oggetto NetBufferList | Puntatore all'oggetto commutatore virtuale (se NON-NULL) | Riservato (inutilizzato) | Commutatore di macchina virtuale: è necessario impostare SourceHandle per il chiamante fornito da NetBufferList. Vedere la routine AllocateNetBufferListForwardingContext . |
0xA002 | Puntatore all'oggetto NetBufferList | Puntatore all'oggetto commutatore virtuale (se NON-NULL). | Riservato (inutilizzato) | Commutatore di macchina virtuale: il chiamante ha fornito il dettaglio dell'inoltro di NetBufferList non è zero. Vedere la routine AllocateNetBufferListForwardingContext . |
0xA003 | Puntatore all'oggetto NetBufferList | Puntatore all'oggetto commutatore virtuale (se NON-NULL). | Riservato (inutilizzato) | Commutatore di macchina virtuale: il chiamante ha fornito un NetBufferList con intestazione di pacchetto o contesto di routing NULL. Vedere Linee guida per la gestione dei pacchetti per il percorso dati extensible switch. |
0xA004 | ID della porta non valida | Indice della scheda di interfaccia di rete | Puntatore all'oggetto commutatore virtuale (se NON-NULL). | Commutatore di macchina virtuale: il chiamante ha specificato una combinazione di indice porta e scheda di interfaccia di rete non valida. Vedere Porte del commutatore estendibile Hyper-V e Stati della scheda di rete. |
0xA005 | Puntatore all'oggetto NetBufferList | Puntatore all'elenco Destinazione. | Puntatore all'oggetto commutatore virtuale (se NON-NULL). | Commutatore di macchina virtuale: il chiamante ha fornito una destinazione non valida. Vedere AddNetBufferListDestination e UpdateNetBufferListDestinations. |
0xA006 | Puntatore all'oggetto NetBufferList | Puntatore all'oggetto commutatore virtuale (se NON-NULL). | Riservato (inutilizzato) | Commutatore di macchina virtuale: il chiamante ha fornito una scheda di interfaccia di rete di origine non valida o un oggetto Port. Vedere Porte del commutatore estendibile Hyper-V e Stati della scheda di rete. |
0xA007 | Puntatore all'oggetto NetBufferList | Puntatore all'oggetto commutatore virtuale (se NON-NULL). | Riservato (inutilizzato) | Commutatore macchina virtuale: il chiamante ha fornito un elenco di destinazione non valido. Vedere AddNetBufferListDestination e UpdateNetBufferListDestinations. |
0xA008 | Oggetto NIC padre | Indice della scheda di interfaccia di rete | Puntatore all'oggetto commutatore virtuale (se NON-NULL). | Commutatore di macchina virtuale: tentativo di fare riferimento a una scheda di interfaccia di rete quando non è consentita. Vedere Porte del commutatore estendibile Hyper-V e Stati della scheda di rete. |
0xA009 | Riferimento alla porta | Puntatore all'oggetto commutatore virtuale (se NON-NULL) | Riservato (inutilizzato) | Commutatore macchina virtuale: tentare di fare riferimento a una porta quando non è consentito. Vedere Porte del commutatore estendibile Hyper-V e Stati della scheda di rete. |
0xA00A | Puntatore all'oggetto NetBufferList | Oggetto ContextTypeInfo | Riservato (inutilizzato) | Commutatore macchina virtuale: il contesto di errore è già impostato. Vedere SetNetBufferListSwitchContext. |
0xA00B | Puntatore all'oggetto NetBufferList | NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_* | Puntatore all'oggetto commutatore virtuale (se NON-NULL) | Commutatore macchina virtuale: direzione non valida fornita per NetBufferList eliminato. Vedere ReportFilteredNetBufferLists. |
0xA00C | Puntatore all'oggetto NetBufferList | Valore Send Flags | Puntatore all'oggetto commutatore virtuale (se NON-NULL) | Commutatore macchina virtuale: la catena NetBufferList ha più porte di origine quando è impostato NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE flag. Vedere Flag di invio e ricezione del commutatore estendibile Hyper-V. |
0xA00D | Puntatore all'oggetto NetBufferList | Puntatore al contesto del commutatore virtuale | Puntatore all'oggetto commutatore virtuale (se NON-NULL) | Commutatore macchina virtuale: uno o più NetBufferList nella catena hanno una destinazione non valida quando è impostato NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP flag. Vedere Flag di invio e ricezione del commutatore estendibile Hyper-V. |
0xA00E | Puntatore all'oggetto NetBufferLists. | Puntatore al contesto del commutatore virtuale. | Puntatore all'oggetto commutatore virtuale (se NON-NULL). | Commutatore macchina virtuale: tentativo di completare NetBufferList tramite WNV quando è impostato VMS_NBL_ROUTING_CONTEXT_FLAG_NO_WNV_PROCESSING flag. |
0x00020002 a 0x00020022 - Violazioni delle regole di conformità DDI
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa dell'errore |
---|---|---|---|---|
0x00020002 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlApcLte. La regola specifica che il driver deve chiamare ObGetObjectSecurity e ObReleaseObjectSecurity solo quando IRQL <= APC_LEVEL. |
0x00020003 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlDispatch. La regola IrqlDispatch specifica che il driver deve chiamare determinate routine solo quando IRQL = DISPATCH_LEVEL |
0x00020004 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlExAllocatePool. La regola IrqlExAllocatePool specifica che il driver chiama ExAllocatePoolWithTag e ExAllocatePoolWithTagPriority solo quando è in IRQL<=DISPATCH_LEVEL. |
0x00020005 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlExApcLte1. La regola IrqlExApcLte1 specifica che il driver chiama ExAcquireFastMutex e ExTryToAcquireFastMutex solo in IRQL <= APC_LEVEL. |
0x00020006 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlExApcLte2. La regola IrqlExApcLte2 specifica che il driver chiama determinate routine solo quando IRQL <= APC_LEVEL. |
0x00020007 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlExApcLte3. La regola IrqlExApcLte3 specifica che il driver deve chiamare determinate routine di supporto esecutivo solo quando IRQL <= APC_LEVEL. |
0x00020008 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlExPassive. La regola IrqlExPassive specifica che il driver deve chiamare determinate routine di supporto esecutivo solo quando IRQL = PASSIVE_LEVEL. |
0x00020009 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlIoApcLte. La regola IrqlIoApcLte specifica che il driver deve chiamare determinate routine di gestione I/O solo quando IRQL <= APC_LEVEL. |
0x0002000A | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlIoPassive1. La regola IrqlIoPassive1 specifica che il driver deve chiamare determinate routine di gestione I/O solo quando IRQL = PASSIVE_LEVEL. |
0x0002000B | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlIoPassive2. La regola IrqlIoPassive2 specifica che il driver deve chiamare determinate routine di gestione I/O solo quando IRQL = PASSIVE_LEVEL. |
0x0002000C | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlIoPassive3. La regola IrqlIoPassive3 specifica che il driver deve chiamare determinate routine di gestione I/O solo quando IRQL = PASSIVE_LEVEL. |
0x0002000D | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlIoPassive4. La regola IrqlIoPassive4 specifica che il driver deve chiamare determinate routine di gestione I/O solo quando IRQL = PASSIVE_LEVEL. |
0x0002000E | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlIoPassive5. La regola IrqlIoPassive5 specifica che il driver deve chiamare determinate routine di gestione I/O solo quando IRQL = PASSIVE_LEVEL. |
0x0002000F | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlKeApcLte1. La regola IrqlKeApcLte1 specifica che il driver deve chiamare determinate routine del kernel solo quando IRQL <= APC_LEVEL. |
0x00020010 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlKeApcLte2. La regola IrqlKeApcLte2 specifica che il driver deve chiamare determinate routine del kernel solo quando IRQL <= APC_LEVEL. |
0x00020011 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlKeDispatchLte. La regola IrqlKeDispatchLte specifica che il driver deve chiamare determinate routine del kernel solo quando IRQL <= DISPATCH_LEVEL. |
0x00020015 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlKeReleaseSpinLock. La regola IrqlKeReleaseSpinLock specifica che il driver deve chiamare KeReleaseSpinLock solo quando IRQL = DISPATCH_LEVEL. |
0x00020016 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlKeSetEvent. La regola IrqlKeSetEvent specifica che la routine KeSetEvent viene chiamata solo in IRQL <= DISPATCH_LEVEL quando Wait è impostata su FALSE e in IRQL <= APC_LEVEL quando Wait è impostato su TRUE. |
0x00020019 | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlMmApcLte. La regola IrqlMmApcLte specifica che il driver deve chiamare alcune routine di gestione memoria solo quando IRQL <= APC_LEVEL. |
0x0002001A | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlMmDispatch. La regola IrqlMmDispatch specifica che il driver deve chiamare MmFreeContiguousMemory solo quando IRQL = DISPATCH_LEVEL. |
0x0002001B | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlObPassive. La regola IrqlObPassive specifica che il driver deve chiamare ObReferenceObjectByHandle solo quando IRQL = PASSIVE_LEVEL. |
0x0002001C | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlPsPassive. La regola IrqlPsPassive specifica che il driver deve chiamare determinate routine di gestione dei processi e thread solo quando IRQL = PASSIVE_LEVEL. |
0x0002001D | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI IrqlReturn. |
0x0002001E | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlRtlPassive. La regola IrqlRtlPassive specifica che il driver deve chiamare RtlDeleteRegistryValue solo quando IRQL = PASSIVE_LEVEL. |
0x0002001F | Puntatore alla stringa che descrive la condizione della regola violata. | Puntatore facoltativo alle variabili di stato della regola. | Riservato | Il driver ha violato la regola di conformità DDI IrqlZwPassive. La regola IrqlZwPassive specifica che il driver deve chiamare ZwClose solo quando IRQL = PASSIVE_LEVEL. |
0x00020022 | Puntatore alla stringa che descrive la condizione della regola violata. | Riservato (inutilizzato) | Riservato (inutilizzato) | Il driver ha violato la regola di conformità DDI IrqlIoDispatch. |
0x00020023 | Puntatore alla stringa che descrive la condizione di regola violata. | Riservato (inutilizzato). | Riservato (inutilizzato). | Il driver ha violato la regola di conformità DDI IrqlIoRtlZwPassive. La regola IrqlIoRtlZwPassive specifica che il driver chiama le DDI elencate nella regola solo quando viene eseguito in IRQL = PASSIVE_LEVEL. |
0x00020024 | Puntatore alla stringa che descrive la condizione di regola violata. | Riservato (inutilizzato). | Riservato (inutilizzato). | Il driver ha violato la regola di conformità DDI IrqlNtifsApcPassive. La regola IrqlNtifsApcPassive specifica che il driver chiama le DDI elencate nella regola solo quando viene eseguito in IRQL = PASSIVE_LEVEL o in IRQL <= APC_LEVEL. |
0x00020025 | Puntatore alla stringa che descrive la condizione di regola violata. | Riservato (inutilizzato). | Riservato (inutilizzato). | Il driver ha violato la regola di conformità DDI interna microsoft IrqlKeMore. |
0x00040003 a 0x00043006 - Violazioni delle regole di conformità DDI
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0x00040003 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI CriticalRegions. |
0x00040006 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI QueuedSpinLock. |
0x00040007 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI QueuedSpinLockRelease. |
0x00040009 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI SpinLock. |
0x0004000A | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo) | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI SpinlockRelease. |
0x0004000E | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI GuardedRegions. |
0x0004100B | Puntatore alla stringa che descrive la condizione della regola violata. | Riservato (inutilizzato) | Riservato (inutilizzato) | Il driver ha violato la regola di conformità DDI RequestedPowerIrp. |
0x0004100F | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI IoSetCompletionExCompleteIrp. |
0x00043006 | Puntatore alla stringa che descrive la condizione della regola violata. | Riservato (inutilizzato) | Riservato (inutilizzato) | Il driver ha violato la regola di conformità DDI PnpRemove. |
0x00081001 a 0x00082005 - Violazioni delle regole di conformità del driver AVStream
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0x00081001 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsDeviceMutex. |
0x00081002 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsStreamPointerClone. |
0x00081003 | Puntatore alla stringa che descrive la condizione della regola violata. | Riservato (inutilizzato) | Riservato (inutilizzato) | Il driver ha violato la regola di conformità DDI KsStreamPointerLock. |
0x00081004 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsStreamPointerUnlock. |
0x00081005 | Puntatore alla stringa che descrive la condizione della regola violata. | Riservato (inutilizzato) | Riservato (inutilizzato) | Il driver ha violato la regola di conformità DDI KsCallbackReturn. |
0x00081006 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsIrqlDeviceCallbacks. |
0x00081007 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsIrqlFilterCallbacks. |
0x00081008 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsIrqlPinCallbacks. |
0x00081009 | Puntatore alla stringa che descrive la condizione della regola violata. | Riservato (inutilizzato) | Riservato (inutilizzato) | Il driver ha violato la regola di conformità DDI KsIrqlDDIs. |
0x0008100A | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsFilterMutex. |
0x0008100B | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsProcessingMutex. |
0x0008100C | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsInvalidStreamPointer. |
0x00082001 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsTimedPinSetDeviceState. |
0x00082002 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsTimedDeviceCallbacks. |
0x00082003 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsTimedFilterCallbacks. |
0x00082004 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsTimedPinCallbacks. |
0x00082005 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI KsTimedProcessingMutex. |
0x00091001 a 0x0009400C - Violazioni delle regole di conformità DDI DDI NDIS
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0x00091001 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI NdisOidComplete. |
0x00091002 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI NdisOidDoubleComplete. |
0x0009100E | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di conformità DDI NdisOidDoubleRequest. |
0x00092003 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI NdisTimedOidComplete. |
0x0009200D | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI NdisTimedDataSend. |
0x0009200F | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI NdisTimedDataHang. |
0x00092010 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI NdisFilterTimedPauseComplete. |
0x00092011 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI NdisFilterTimedDataSend. |
0x00092012 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI NdisFilterTimedDataReceive. |
0x00093004 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI WlanAssociation. |
0x00093005 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI WlanConnectionRoaming. |
0x00093006 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI WlanDisassociation. |
0x00093101 | Puntatore alla stringa che descrive la condizione di regola violata. | Riservato (inutilizzato) | Riservato (inutilizzato) | Il driver ha violato la regola di verifica NDIS/WIFI WlanAssert. |
0x00094007 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI WlanTimedAssociation. |
0x00094008 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI WlanTimedConnectionRoaming. |
0x00094009 | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento a !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI WlanTimedConnectRequest. |
0x0009400B | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento di !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI WlanTimedLinkQuality. |
0x0009400C | Puntatore alla stringa che descrive la condizione della regola violata. | Indirizzo dello stato della regola interna (secondo argomento a !ruleinfo). | Indirizzo degli stati supplementari (terzo argomento di !ruleinfo). | Il driver ha violato la regola di verifica NDIS/WIFI WlanTimedScan. |
Causa
Per una descrizione della causa, vedere la descrizione di ogni codice nella sezione Parametri. Per ottenere altre informazioni, usare l'estensione !analyze -v .
Risoluzione
Questo controllo di bug può verificarsi solo quando è stato richiesto di monitorare uno o più driver. Se non si intende usare Driver Verifier, è consigliabile disattivarlo. È anche possibile rimuovere il driver che ha causato questo problema.
Se si è il writer del driver, usare le informazioni ottenute tramite questo controllo di bug per correggere i bug nel codice.
Per informazioni dettagliate su Driver Verifier, vedere Driver Verifier.
Commenti
I codici _POOL_TYPE vengono enumerati in Ntddk.h. In particolare, 0 (zero) indica un pool non di paging e 1 (uno) indica il pool di paging.
(Windows 8 e versioni successive di Windows) Se il controllo della conformità DDI causa un controllo di bug, eseguire Static Driver Verifier nel codice sorgente del driver e specificare la regola di conformità DDI (identificata dal valore del parametro 1) che ha causato il controllo del bug. Static Driver Verifier consente di individuare la causa del problema nel codice sorgente.
Vedere anche
Gestione di un controllo di bug quando è abilitata la verifica del driver