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.