Controllo bug 0xC9: DRIVER_VERIFIER_IOMANAGER_VIOLATION
Il controllo DRIVER_VERIFIER_IOMANAGER_VIOLATION bug ha un valore di 0x000000C9. Si tratta del codice di controllo del bug per tutte le violazioni di verifica di I/O 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_IOMANAGER_VIOLATION
Quando il verificatore driver è attivo e la verifica di I/O è selezionata, varie violazioni di I/O causeranno l'emissione di questo controllo di bug. Il parametro 1 identifica il tipo di violazione.
Parametro 1 | Parametro 2 | Parametro 3 | Parametro 4 | Causa di errore |
---|---|---|---|---|
0x01 |
Indirizzo di IRP liberato |
0 |
0 |
Il driver ha tentato di liberare un oggetto il cui tipo non è IO_TYPE_IRP. |
0x02 |
Indirizzo di IRP liberato |
0 |
0 |
Il driver ha tentato di liberare un'IRP ancora associata a un thread. |
0x03 |
Indirizzo dell'IRP inviato |
0 |
0 |
Il driver ha passato IoCallDriver a un tipo IRP non uguale a IRP_TYPE. |
0x04 |
Indirizzo dell'oggetto dispositivo |
0 |
0 |
Il driver ha passato IoCallDriver a un oggetto dispositivo non valido. |
0x05 |
Indirizzo dell'oggetto dispositivo associato al driver incriminato |
IRQL prima di IoCallDriver |
IRQL dopo IoCallDriver |
IrQL è cambiato durante una chiamata alla routine di invio del driver. |
0x06 |
Stato di IRP |
Indirizzo di IRP completato |
0 |
Il driver denominato IoCompleteRequest con stato contrassegnato come in sospeso (o uguale a -1). |
0x07 |
Indirizzo della routine di annullamento |
Indirizzo di IRP completato |
0 |
Il driver denominato IoCompleteRequest mentre la routine annulla è ancora impostata. |
0x08 |
Indirizzo dell'oggetto dispositivo |
Codice della funzione principale IRP |
Codice di stato eccezione |
Il driver ha passato IoBuildAsynchronousFsdRequest un buffer non valido. |
0x09 |
Indirizzo dell'oggetto dispositivo |
Codice di controllo I/O |
Codice di stato eccezione |
Il driver ha passato IoBuildDeviceIoControlRequest un buffer non valido. |
0x10 |
IrQL corrente |
Riservato |
Riservato |
IoCallDriver è stato chiamato sopra DISPATCH_LEVEL. |
0x11 |
Indirizzo di routine di invio di I/O del driver veloce |
IRQL prima di chiamare la routine di invio del driver |
IrQL corrente |
IoCallDriver è stato chiamato sopra DISPATCH_LEVEL. |
0x12 |
Indirizzo di routine di invio driver |
IRQL prima di chiamare la routine di invio del driver |
IrQL corrente |
IoCallDriver è stato chiamato sopra DISPATCH_LEVEL. |
0x0A |
Indirizzo dell'oggetto dispositivo |
0 |
0 |
Il driver ha passato IoInitializeTimer a un oggetto dispositivo con un timer già inizializzato. |
0x0C |
Indirizzo del blocco di stato di I/O |
0 |
0 |
Il driver ha passato un blocco di stato di I/O a un'IRP, ma questo blocco viene allocato in uno stack che ha già rimosso quel punto. |
0x0d |
Indirizzo dell'oggetto evento utente |
0 |
0 |
Il driver ha passato un evento utente a un'istanza di IRP, ma questo evento viene allocato in uno stack che ha già rimosso tale punto. |
0x0E |
IrQL corrente |
Indirizzo di IRP |
0 |
Il driver denominato IoCompleteRequest con DISPATCH_LEVEL IRQL > . |
0x0F |
Indirizzo dell'oggetto dispositivo a cui viene inviato il protocollo IRP |
Puntatore all'IRP |
Puntatore all'oggetto file |
Il driver ha inviato una richiesta di creazione con un oggetto file chiuso o che ne ha annullato l'apertura. |
Oltre agli errori indicati nella tabella precedente, esistono diversi errori di verifica di I/O che causano l'interruzione del sistema da parte di Driver Verifier, ma che non sono effettivamente controlli di bug.
Questi errori causano la visualizzazione dei messaggi nella schermata blu, in un file di dump di arresto anomalo del sistema e in un debugger del kernel. Questi messaggi verranno visualizzati in modo diverso in ognuna di queste posizioni. Quando si verificano questi errori, il codice di controllo dei bug esadecimale 0xC9 e la stringa di controllo dei bug DRIVER_VERIFIER_IOMANAGER_VIOLATION non vengono visualizzati nella schermata blu o nel debugger, anche se verranno visualizzati in un file di dump di arresto anomalo del sistema.
Nella schermata blu verranno visualizzati i dati seguenti:
Messaggio ERRORE DI VERIFICA DEL SISTEMA I/O.
Messaggio ERRORE WDM DRIVERXXX, dove XXX è un codice esadecimale che rappresenta l'errore specifico. Per un elenco dei codici di errore di I/O e dei relativi significati, vedere la tabella seguente.
Nome del driver che ha causato l'errore.
In genere, l'indirizzo nel codice del driver in cui è stato rilevato l'errore (parametro 2).
Se è stato abilitato un dump di arresto anomalo in modalità kernel, nel file di dump dell'arresto anomalo del sistema verranno visualizzate le informazioni seguenti:
Messaggio BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION).
Codice di errore di I/O esadecimale. Per un elenco dei codici di errore di I/O e dei relativi significati, vedere la tabella seguente.
In genere, l'indirizzo nel codice del driver in cui è stato rilevato l'errore (parametro 2).
Se un debugger del kernel è collegato al sistema che ha causato questa violazione, le informazioni seguenti verranno inviate al debugger:
Messaggio ERRORE DEL DRIVER WDM, insieme a una valutazione della gravità dell'errore.
Nome del driver che ha causato l'errore.
Stringa descrittiva che spiega la causa dell'errore. Spesso vengono passate informazioni aggiuntive, ad esempio un puntatore all'IRP o un puntatore all'oggetto dispositivo o informazioni IRQL. Vedere la tabella seguente per un elenco di queste stringhe descrittive e le informazioni aggiuntive specificate.
Query per un'ulteriore azione. Le risposte possibili sono b (break), i (ignore), z (zap), r (remove) o d (disable). Indicare al sistema operativo di continuare consente di vedere cosa accadrebbe "verso il basso" se questo errore non si fosse verificato. Naturalmente, questo spesso causerà ulteriori controlli di bug. L'opzione "zap" rimuoverà effettivamente il punto di interruzione che ha causato l'errore da individuare.
Nota Nessun altro controllo di bug può essere ignorato in questo modo. Solo questo tipo di errori di verifica di I/O può essere ignorato e anche questi errori possono essere ignorati solo se è collegato un debugger del kernel.
Nella tabella seguente sono elencati gli errori di verifica di I/O che possono essere visualizzati.
Codice di errore di I/O | Gravità | Causa dell'errore |
---|---|---|
0x200 |
Sconosciuto |
Questo codice copre tutti gli errori di verifica I/O sconosciuti. |
0x201 |
Errore irreversibile |
Un dispositivo si sta eliminando mentre è presente un altro dispositivo sotto di esso nello stack di driver. Questo può essere dovuto al fatto che il chiamante ha dimenticato di chiamare IoDetachDevice per primo o che il driver inferiore potrebbe aver eliminato in modo non corretto. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. |
0x202 |
Errore irreversibile |
Un driver ha tentato di scollegarsi da un oggetto dispositivo che non è collegato a nulla. Ciò può verificarsi se lo scollegamento è stato chiamato due volte nello stesso oggetto dispositivo. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo dell'oggetto dispositivo. |
0x203 |
Errore irreversibile |
Un driver ha chiamato IoCallDriver senza impostare la routine di annullamento in IRP su NULL. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x204 |
Errore irreversibile |
Il chiamante ha passato NULL come oggetto dispositivo. Questo è fatale. Param 2 - Riservato Param 3 - Riservato |
0x205 |
Errore irreversibile |
Il chiamante sta inoltrando un IRP attualmente in coda sotto di esso. Il codice che gestisce i runtime di integrazione che restituiscono STATUS_PENDING in questo driver sembra essere interrotto. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x206 |
Errore irreversibile |
Il chiamante ha inoltrato in modo non corretto un IRP (campo di controllo non azzerato). Il driver deve usare IoCopyCurrentIrpStackLocationToNext o IoSkipCurrentIrpStackLocation. Param 2 - Riservato Param 3 - Riservato |
0x207 |
Errore irreversibile |
Il chiamante ha copiato manualmente lo stack e ha copiato inavvertitamente la routine di completamento del livello superiore. Il driver deve usare IoCopyCurrentIrpStackLocationToNext. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x208 |
Errore irreversibile |
Questo IRP sta per esaurire le posizioni dello stack. Qualcuno potrebbe aver inoltrato questo IRP da un altro stack. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x209 |
Errore irreversibile |
Il chiamante sta completando un IRP attualmente in coda sotto di esso. Il codice che gestisce i runtime di integrazione che restituiscono STATUS_PENDING in questo driver sembra essere interrotto. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x20A |
Errore irreversibile |
Il chiamante di IoFreeIrp libera un'IRP ancora in uso. Param 2 - Riservato Param 3 - Riservato |
0x20B |
Errore irreversibile |
Il chiamante di IoFreeIrp libera un'IRP ancora in uso. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x20C |
Errore irreversibile |
Il chiamante di IoFreeIrp libera un IRP ancora in coda su un thread. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x20D |
Errore irreversibile |
Il chiamante di IoInitializeIrp ha passato un IRP allocato con IoAllocateIrp. Questo è illegale e non necessario e ha causato una perdita di quota. Controllare la documentazione relativa a IoReuseIrp se l'IRP viene riciclato . Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x20E |
Errore non irreversibile |
Uno stato di IRP PNP non è valido. Qualsiasi IRP PNP deve avere lo stato inizializzato per STATUS_NOT_SUPPORTED. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x20F |
Errore non irreversibile |
Uno stato di Power IRP non è valido. Qualsiasi IRP di Power deve avere lo stato inizializzato per STATUS_NOT_SUPPORTED. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x210 |
Errore non irreversibile |
Uno stato di IRP WMI non è valido. Qualsiasi IRP WMI deve avere lo stato inizializzato per STATUS_NOT_SUPPORTED. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x211 |
Errore non irreversibile |
Il chiamante ha inoltrato un IRP mentre ignora un oggetto dispositivo nello stack. Il chiamante sta probabilmente inviando irP al PDO anziché al dispositivo restituito da IoAttachDeviceToDeviceToDeviceStack. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x212 |
Errore non irreversibile |
Il chiamante ha spazzatura o non ha copiato correttamente lo stack di IRP. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x213 |
Errore non irreversibile |
Il chiamante ha modificato il campo di stato di un IRP che non riconosce. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x214 |
Errore non irreversibile |
Il chiamante ha modificato il campo delle informazioni di un IRP che non riconosce. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x215 |
Errore non irreversibile |
Lo stato di IRP di STATUS_NOT_SUPPORTED non riuscito per IRP_MJ_PNP viene passato allo stack non riuscito. I provider di integrazione PNP non riusciti devono essere completati. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x216 |
Errore non irreversibile |
Lo stato IRP_MJ_PNP impostato in precedenza è stato convertito in STATUS_NOT_SUPPORTED. Questo stato di errore è riservato per l'uso da parte del sistema operativo. I driver non possono avere esito negativo in un IRP PnP con questo valore. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x217 |
Errore non irreversibile |
Il driver non ha gestito un IRP necessario. Il driver deve aggiornare lo stato dell'IRP per indicare se è stato gestito o meno. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x218 |
Errore non irreversibile |
Il driver ha risposto a un IRP riservato ad altri oggetti dispositivo altrove nello stack. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x219 |
Errore non irreversibile |
Lo stato di IRP non STATUS_NOT_SUPPORTED riuscito per IRP_MJ_POWER viene passato allo stack non riuscito. È necessario completare i runtime di integrazione power non riusciti. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x21A |
Errore non irreversibile |
Lo stato IRP_MJ_POWER impostato in precedenza è stato convertito in STATUS_NOT_SUPPORTED. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x21B |
Errore non irreversibile |
Un driver ha restituito uno stato sospetto. Questo problema è probabilmente dovuto a un bug di variabile non inizializzato nel driver. Param 3 - Indirizzo IRP. |
0x21C |
Avviso |
Il chiamante ha copiato lo stack IRP ma non ha impostato una routine di completamento. Questo è inefficiente: usare invece IoSkipCurrentIrpStackLocation . Param 2 - Riservato Param 3 - Riservato |
0x21D |
Errore irreversibile |
Un gestore di dispatch IRP non è stato scollegato correttamente dallo stack sottostante al momento della ricezione di una rimozione di IRP. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x21E |
Errore irreversibile |
Un gestore di invio IRP non ha eliminato correttamente l'oggetto dispositivo dopo la ricezione di un IRP rimosso. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x21F |
Errore non irreversibile |
Un driver non ha compilato una routine dispatch per una funzione principale IRP richiesta. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x220 |
Errore non irreversibile |
IRP_MJ_SYSTEM_CONTROL è stato completato da un utente diverso da ProviderId. Questo IRP dovrebbe essere stato completato in precedenza o dovrebbe essere stato passato. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - ProviderId. |
0x221 |
Errore irreversibile |
Un gestore di invio IRP per un PDO ha eliminato l'oggetto dispositivo, ma l'hardware non è stato segnalato come mancante in una query sulle relazioni tra bus. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x222 |
Errore irreversibile |
Il gestore di invio IRP di un filtro bus si è scollegato quando riceve un IRP rimosso quando il PDO è ancora attivo. I filtri del bus devono essere puliti nei callback FastIoDetach . Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x223 |
Errore irreversibile |
Un gestore di invio IRP per un filtro bus ha eliminato l'oggetto dispositivo, ma il PDO è ancora presente. I filtri del bus devono essere puliti nei callback FastIoDetach . Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x224 |
Errore irreversibile |
Un gestore di invio IRP ha restituito uno stato incoerente con il campo IoStatus.Status di IRP . Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Codice di stato previsto. |
0x225 |
Errore non irreversibile |
Un gestore di invio IRP ha restituito uno stato non valido (0xFFFFFFFF). Questo problema è probabilmente dovuto a una variabile dello stack non inizializzata. Per eseguire il debug di questo errore, usare il comando ln (List Nearest Symbols) con l'indirizzo specificato. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Codice di stato. |
0x226 |
Errore irreversibile |
Un gestore di invio IRP è stato restituito senza passare o completare l'IRP oppure qualcuno ha dimenticato di restituire STATUS_PENDING. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x227 |
Errore irreversibile |
Una routine di completamento di IRP è in codice di paging. Questo non è mai consentito. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x228 |
Errore non irreversibile |
La routine di completamento di un driver non ha contrassegnato l'IRP in sospeso se il campo PendingReturned è stato impostato nell'IRP passato. Ciò può causare il blocco di Windows, soprattutto se viene restituito un errore dallo stack. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x229 |
Errore irreversibile |
Una routine di annullamento è stata impostata per un IRP attualmente in fase di elaborazione da parte dei driver più bassi nello stack, probabilmente stomping della routine di annullamento. Param 2 - Riservato. Param 3 - Riservato. |
0x22A |
Errore non irreversibile |
L'oggetto dispositivo fisico (PDO) non ha risposto a un IRP richiesto. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x22B |
Errore non irreversibile |
L'oggetto dispositivo fisico (PDO) ha dimenticato di compilare l'elenco delle relazioni del dispositivo con il PDO per la query TargetDeviceRelation . Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x22C |
Errore irreversibile |
Il codice che implementa la query TargetDeviceRelation non ha chiamato ObReferenceObject nel PDO. Param 2 - Riservato. Param 3 - Riservato. |
0x22D |
Errore non irreversibile |
Il chiamante ha completato un IRP_MJ_PNP non ha capito invece di passarlo verso il basso. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x22E |
Errore non irreversibile |
Il chiamante ha completato un IRP_MJ_PNP riuscito anziché passarlo. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x22F |
Errore non irreversibile |
Il chiamante ha completato un IRP_MJ_PNP non toccato (anziché passare l'IRP verso il basso) o non PDO ha avuto esito negativo sull'IRP usando il valore illegale di STATUS_NOT_SUPPORTED. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x230 |
Errore non irreversibile |
Il chiamante ha completato un IRP_MJ_POWER non ha capito invece di passarlo. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x231 |
Errore irreversibile |
Il chiamante ha completato un IRP_MJ_POWER riuscito anziché passarlo. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x232 |
Errore non irreversibile |
Il chiamante ha completato un IRP_MJ_POWER non toccato (invece di passare l'IRP down) o non PDO ha avuto esito negativo usando il valore illegale di STATUS_NOT_SUPPORTED. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x233 |
Errore non irreversibile |
Il campo della versione della struttura delle funzionalità di query in una funzionalità di query IRP non è stato inizializzato correttamente. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x234 |
Errore non irreversibile |
Il campo dimensioni della struttura delle funzionalità di query in una funzionalità di query IRP non è stato inizializzato correttamente. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x235 |
Errore non irreversibile |
Il campo dell'indirizzo della struttura delle funzionalità di query in una funzionalità di query IRP non è stato inizializzato correttamente in -1. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x236 |
Errore non irreversibile |
Il campo Numero interfaccia utente della struttura delle funzionalità di query in una funzionalità di query IRP non è stato inizializzato correttamente in -1. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x237 |
Errore irreversibile |
Un driver ha inviato un'IRP limitata solo per l'uso del sistema. Param 2 - Riservato. Param 3 - Riservato. |
0x238 |
Avviso |
Il chiamante di IoInitializeIrp ha passato un'IRP allocata con IoAllocateIrp. Ciò è illegale, non necessario e influisce negativamente sulle prestazioni in uso normale. Se questa IRP viene riciclata, vedere IoReuseIrp in Windows Driver Kit. Param 2 - Riservato. Param 3 - Riservato. |
0x239 |
Avviso |
Il chiamante di IoCompleteRequest sta completando un'IRP che non è mai stata inoltrata tramite una chiamata a IoCallDriver o PoCallDriver. Potrebbe trattarsi di un bug. Param 2 - Riservato. Param 3 - Riservato. |
0x23A |
Errore irreversibile |
Un driver ha inoltrato un'IRP a un irQL illegale per questo codice principale. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x23B |
Errore non irreversibile |
Il chiamante ha modificato il campo di stato di un'istanza di IRP non compreso. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
Nella tabella seguente sono elencati altri errori di verifica di I/O che possono essere visualizzati. Questi errori vengono visualizzati quando viene attivata la verifica di I/O avanzata . Per altre informazioni, vedere Verifica di I/O avanzata.
Codice errore di I/O | Gravità | Causa di errore |
---|---|---|
0x23C |
Errore irreversibile |
Un driver ha completato un'IRP senza impostare la routine annulla in IRP su NULL. Param 2 - Riservato. Param 3 - Riservato. |
0x23D |
Errore non irreversibile |
Un driver ha restituito STATUS_PENDING ma non ha contrassegnato l'IRP in sospeso tramite una chiamata a IoMarkIrpPending. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Codice di stato. |
0x23E |
Errore non irreversibile |
Un driver ha contrassegnato un'IRP in sospeso, ma non ha restituito STATUS_PENDING. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Codice di stato. |
0x23F |
Errore irreversibile |
Un driver non ha ereditato il bit di DO_POWER_PAGABLE dallo stack a cui è collegato. Param 2 - Riservato. Param 3 - Riservato. |
0x240 |
Errore irreversibile |
Un driver sta tentando di eliminare un oggetto dispositivo che è già stato eliminato tramite una chiamata precedente a IoDeleteDevice. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 2 - Riservato. Param 3 - Riservato. |
0x241 |
Errore irreversibile |
Un driver ha scollegato l'oggetto dispositivo durante una rimozione a sorpresa di IRP. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x242 |
Errore irreversibile |
Un driver ha eliminato l'oggetto dispositivo durante una rimozione a sorpresa di IRP. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x243 |
Errore irreversibile |
Un driver non è riuscito a cancellare il flag di DO_DEVICE_INITIALIZING alla fine di AddDevice. Param 2 - Riservato. Param 3 - Riservato. Param 4 - |
0x244 |
Errore irreversibile |
Un driver non ha copiato il DO_BUFFERED_IO o il flag DO_DIRECT_IO dall'oggetto dispositivo a cui è collegato. Param 2 - Riservato. Param 3 - Riservato. |
0x245 |
Errore irreversibile |
Un driver ha impostato sia il DO_BUFFERED_IO che i flag di DO_DIRECT_IO. Questi flag si escludono a vicenda. Param 2 - Riservato. Param 3 - Riservato. |
0x246 |
Errore irreversibile |
Un driver non è riuscito a copiare il campo DeviceType dall'oggetto dispositivo a cui è collegato. Param 2 - Riservato. Param 3 - Riservato. |
0x247 |
Errore irreversibile Param 2 - Riservato. Param 3 - Riservato. |
Un driver non è riuscito a un IRP che non può essere legalmente non riuscito. |
0x248 |
Errore irreversibile |
Un driver ha aggiunto un oggetto dispositivo che non è un PDO a una query di relazioni tra dispositivi. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x249 |
Errore non irreversibile |
Un driver ha enumerato due PDO figlio che hanno restituito id dispositivo identici. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Primo indirizzo dell'oggetto dispositivo. Param 4 - Secondo indirizzo dell'oggetto dispositivo. |
0x24A |
Errore irreversibile |
Un driver ha erroneamente chiamato una funzione di I/O di file con IRQL non uguale a PASSIVE_LEVEL. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Riservato. Param 4 - Riservato. |
0x24B |
Errore irreversibile |
Un driver ha completato una richiesta di IRP_MN_QUERY_DEVICE_RELATIONS di tipo TargetDeviceRelation in modo corretto, ma non ha compilato correttamente la richiesta o ha inoltrato l'IRP allo stack hardware sottostante. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo dell'oggetto dispositivo. |
0x24C |
Errore non irreversibile |
Un driver ha restituito STATUS_PENDING ma non ha contrassegnato l'IRP in sospeso da una chiamata a IoMarkIrpPending. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Codice di stato. |
0x24D |
Errore irreversibile |
Un driver ha passato un oggetto dispositivo non valido a una funzione che richiede un PDO. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Indirizzo dell'oggetto dispositivo. |
0x300 |
Errore non irreversibile |
Un driver ha restituito uno stato sospetto. Questo problema è probabilmente dovuto a un bug di variabile non inizializzato nel driver. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Codice di stato sospetto. |
0x301 |
Errore non irreversibile |
Un driver ha inoltrato un IRP al > DISPATCH_LEVEL IRQL. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Parametro 4 - Valore IRQL non corretto |
0x302 |
Errore non irreversibile |
Un driver ha inoltrato un IRP in IRQL > = APC_LEVEL. Per completare questa richiesta, Gestione I/O dovrà accodare un APC. L'APC non sarà in grado di eseguire perché il chiamante è già a livello APC, quindi è probabile che il chiamante sia deadlock. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. Param 4 - Valore IRQL non corretto. |
0x306 |
Errore non irreversibile |
Il driver sta completando una richiesta di IRP_MJ_PNP (principale) e IRP_MN_REMOVE_DEVICE (secondaria) con un codice di stato di errore. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x307 |
Errore non irreversibile |
Il driver ha inviato una richiesta di I/O con un evento già segnalato e ha ricevuto una risposta STATUS_PENDING. Ciò può comportare la rimozione prima del completamento dell'I/O. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x310 |
Errore non irreversibile |
Il driver sta reinizializzando un IRP ancora in uso. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x311 |
Errore non irreversibile |
Il driver sta reinizializzando un IRP creato con IoMakeAssociatedIrp, IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest, IoBuildDeviceIoControlRequest. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
0x312 |
Errore non irreversibile |
Il chiamante ha fornito il campo IRP Status Information con un valore maggiore della sezione di output del buffer di sistema. Param 2 : indirizzo nel codice del driver in cui è stato rilevato l'errore. Param 3 - Indirizzo IRP. |
Causa
Per una descrizione della causa, vedere la descrizione di ogni codice nella sezione Parametri.
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. Per altre informazioni, vedere "Come controllare Driver Verifier" in Driver Verifier. È possibile prendere in considerazione l'aggiornamento o la rimozione del driver che ha causato anche questo problema.
Se si è lo sviluppatore 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 e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per