0xC9 de Verificação de Bugs: DRIVER_VERIFIER_IOMANAGER_VIOLATION
O bug DRIVER_VERIFIER_IOMANAGER_VIOLATION marcar tem um valor de 0x000000C9. Esse é o bug marcar código para todas as violações de Verificação de E/S do Verificador de Driver.
Importante
Este artigo é para programadores. Se você for um cliente que recebeu um código de erro de tela azul ao usar o computador, consulte Solucionar erros de tela azul.
Parâmetros de DRIVER_VERIFIER_IOMANAGER_VIOLATION
Quando o Verificador de Driver estiver ativo e a Verificação de E/S estiver selecionada, várias violações de E/S farão com que esse bug marcar seja emitido. O parâmetro 1 identifica o tipo de violação.
Parâmetro 1 | Parâmetro 2 | Parâmetro 3 | Parâmetro 4 | Causa do erro |
---|---|---|---|---|
0x01 |
Endereço do IRP que está sendo liberado |
0 |
0 |
O driver tentou liberar um objeto cujo tipo não é IO_TYPE_IRP. |
0x02 |
Endereço do IRP que está sendo liberado |
0 |
0 |
O driver tentou liberar um IRP que ainda está associado a um thread. |
0x03 |
Endereço do IRP que está sendo enviado |
0 |
0 |
O driver passou por IoCallDriver um Tipo IRP não igual a IRP_TYPE. |
0x04 |
Endereço do objeto do dispositivo |
0 |
0 |
O driver passou por IoCallDriver um objeto de dispositivo inválido. |
0x05 |
Endereço do objeto do dispositivo associado ao driver ofensivo |
IRQL antes de IoCallDriver |
IRQL após IoCallDriver |
O IRQL foi alterado durante uma chamada para a rotina de expedição do driver. |
0x06 |
STATUS IRP |
Endereço do IRP que está sendo concluído |
0 |
O driver chamado IoCompleteRequest com um status marcado como pendente (ou igual a -1). |
0x07 |
Endereço da rotina de cancelamento |
Endereço do IRP que está sendo concluído |
0 |
O driver chamado IoCompleteRequest enquanto sua rotina de cancelamento ainda estava definida. |
0x08 |
Endereço do objeto do dispositivo |
Código de função principal do IRP |
Código de status de exceção |
O driver passou por IoBuildAsynchronousFsdRequest um buffer inválido. |
0x09 |
Endereço do objeto do dispositivo |
Código de controle de E/S |
Código de status de exceção |
O driver passou por IoBuildDeviceIoControlRequest um buffer inválido. |
0x10 |
IRQL atual |
Reservado |
Reservado |
IoCallDriver foi chamado acima DISPATCH_LEVEL. |
0x11 |
Endereço de rotina de expedição de E/S rápida do driver |
IRQL antes de chamar a rotina de expedição do driver |
IRQL atual |
IoCallDriver foi chamado acima DISPATCH_LEVEL. |
0x12 |
Endereço de rotina de expedição do driver |
IRQL antes de chamar a rotina de expedição do driver |
IRQL atual |
IoCallDriver foi chamado acima DISPATCH_LEVEL. |
0x0A |
Endereço do objeto do dispositivo |
0 |
0 |
O driver passou a IoInitializeTimer um objeto de dispositivo com um temporizador já inicializado. |
0x0C |
Endereço do bloco de status de E/S |
0 |
0 |
O driver passou um bloco de E/S status para um IRP, mas esse bloco é alocado em uma pilha que já foi desenrolada após esse ponto. |
0x0D |
Endereço do objeto de evento do usuário |
0 |
0 |
O driver passou um evento de usuário para um IRP, mas esse evento é alocado em uma pilha que já foi desenrolada após esse ponto. |
0x0E |
IRQL atual |
Endereço do IRP |
0 |
O driver chamado IoCompleteRequest com IRQL > DISPATCH_LEVEL. |
0x0F |
Endereço do objeto de dispositivo para o qual o IRP está sendo enviado |
Ponteiro para o IRP |
Ponteiro para o objeto de arquivo |
O driver enviou uma solicitação de criação com um objeto de arquivo que foi fechado ou que teve sua abertura cancelada. |
Além dos erros mencionados na tabela anterior, há vários erros de Verificação de E/S que farão com que o Verificador de Driver interrompa o sistema, mas que não são, na verdade, verificações de bugs.
Esses erros fazem com que as mensagens sejam exibidas na tela azul, em um arquivo de despejo de memória e em um depurador de kernel. Essas mensagens aparecerão de forma diferente em cada um desses locais. Quando esses erros ocorrem, o bug hexadecimal marcar código 0xC9 e o bug marcar cadeia de caracteres DRIVER_VERIFIER_IOMANAGER_VIOLATION não aparecem na tela azul ou no depurador, embora eles apareçam em um arquivo de despejo de memória.
Na tela azul, os seguintes dados serão exibidos:
A mensagem ERRO DE VERIFICAÇÃO DO SISTEMA DE E/S.
A mensagem WDM DRIVER ERRORXXX, em que XXX é um código hexadecimal que representa o erro específico. (Consulte a tabela abaixo para obter uma lista dos códigos de erro de E/S e seus significados.)
O nome do driver que causou o erro.
Normalmente, o endereço no código do driver em que o erro foi detectado (Parâmetro 2).
Se um despejo de memória no modo kernel tiver sido habilitado, as seguintes informações aparecerão no arquivo de despejo de memória:
A mensagem BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION).
O código de erro de E/S hexadecimal. (Consulte a tabela abaixo para obter uma lista dos códigos de erro de E/S e seus significados.)
Normalmente, o endereço no código do driver em que o erro foi detectado (Parâmetro 2).
Se um depurador de kernel estiver anexado ao sistema que causou essa violação, as seguintes informações serão enviadas ao depurador:
A mensagem ERRO DE DRIVER do WDM, juntamente com uma avaliação da gravidade do erro.
O nome do driver que causou o erro.
Uma cadeia de caracteres descritiva que explica a causa desse erro. Muitas vezes, informações adicionais são passadas, como um ponteiro para o IRP ou um ponteiro para o objeto do dispositivo ou informações IRQL. (Consulte a tabela abaixo para obter uma lista dessas cadeias de caracteres descritivas e quais informações adicionais são especificadas.)
Uma consulta para outra ação. As respostas possíveis são b (break), i (ignore), z (zap), r (remove) ou d (disable). Instruir o sistema operacional a continuar permite que você veja o que aconteceria "abaixo da linha" se esse erro não tivesse ocorrido. É claro que isso geralmente levará a verificações de bugs adicionais. A opção "zap" realmente removerá o ponto de interrupção que causou a descoberta desse erro.
Nota Nenhuma outra verificação de bug pode ser ignorada dessa maneira. Somente esse tipo de erros de Verificação de E/S pode ser ignorado e até mesmo esses erros só poderão ser ignorados se um depurador de kernel estiver anexado.
A tabela a seguir lista os erros de Verificação de E/S que podem aparecer.
Código de erro de E/S | Severidade | Causa do erro |
---|---|---|
0x200 |
Unknown |
Esse código aborda todos os erros de Verificação de E/S desconhecidos. |
0x201 |
Erro fatal |
Um dispositivo está se excluindo enquanto há outro dispositivo abaixo dele na pilha de driver. Isso pode ocorrer porque o chamador esqueceu de chamar IoDetachDevice primeiro ou o driver inferior pode ter se excluído incorretamente. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. |
0x202 |
Erro fatal |
Um driver tentou desanexar de um objeto de dispositivo que não está anexado a nada. Isso poderá ocorrer se a desanexação tiver sido chamada duas vezes no mesmo objeto de dispositivo. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço do objeto do dispositivo. |
0x203 |
Erro fatal |
Um driver chamou IoCallDriver sem definir a rotina de cancelamento no IRP como NULL. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x204 |
Erro fatal |
O chamador passou NULL como um objeto de dispositivo. Isso é fatal. Parâmetro 2 – Reservado Parâmetro 3 – Reservado |
0x205 |
Erro fatal |
O chamador está encaminhando um IRP que está atualmente na fila abaixo dele. O código que manipula OS IRPs que retornam STATUS_PENDING neste driver parece estar quebrado. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x206 |
Erro fatal |
O chamador encaminhou incorretamente um IRP (campo de controle não zerado). O driver deve usar IoCopyCurrentIrpStackLocationToNext ou IoSkipCurrentIrpStackLocation. Parâmetro 2 – Reservado Parâmetro 3 – Reservado |
0x207 |
Erro fatal |
O chamador copiou manualmente a pilha e copiou inadvertidamente a rotina de conclusão da camada superior. O driver deve usar IoCopyCurrentIrpStackLocationToNext. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x208 |
Erro fatal |
Esse IRP está prestes a ficar sem locais de pilha. Alguém pode ter encaminhado esse IRP de outra pilha. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x209 |
Erro fatal |
O chamador está concluindo um IRP que está atualmente na fila abaixo dele. O código que manipula OS IRPs que retornam STATUS_PENDING neste driver parece estar quebrado. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x20A |
Erro fatal |
O chamador de IoFreeIrp está liberando um IRP que ainda está em uso. Parâmetro 2 – Reservado Parâmetro 3 – Reservado |
0x20B |
Erro fatal |
O chamador de IoFreeIrp está liberando um IRP que ainda está em uso. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x20C |
Erro fatal |
O chamador de IoFreeIrp está liberando um IRP que ainda está na fila em um thread. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x20D |
Erro fatal |
O chamador de IoInitializeIrp passou um IRP que foi alocado com IoAllocateIrp. Isso é ilegal e desnecessário, e causou um vazamento de cota. Verifique a documentação de IoReuseIrp se esse IRP está sendo reciclado. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x20E |
Erro não fatal |
Um IRP PNP tem uma status inválida. (Qualquer IRP PNP deve ter seu status inicializado para STATUS_NOT_SUPPORTED.) Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x20F |
Erro não fatal |
Um POWER IRP tem um status inválido. (Qualquer POWER IRP deve ter seu status inicializado para STATUS_NOT_SUPPORTED.) Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x210 |
Erro não fatal |
Um IRP WMI tem uma status inválida. (Qualquer IRP WMI deve ter seu status inicializado para STATUS_NOT_SUPPORTED.) Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x211 |
Erro não fatal |
O chamador encaminhou um IRP ao ignorar um objeto de dispositivo na pilha. O chamador provavelmente está enviando IRPs para o PDO em vez de para o dispositivo retornado por IoAttachDeviceToDeviceStack. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x212 |
Erro não fatal |
O chamador destruiu ou não copiou corretamente a pilha do IRP. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x213 |
Erro não fatal |
O chamador alterou o campo status de um IRP que ele não entende. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x214 |
Erro não fatal |
O chamador alterou o campo de informações de um IRP que não entende. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x215 |
Erro não fatal |
Um status IRP não STATUS_NOT_SUPPORTED não bem-sucedido para IRP_MJ_PNP está sendo passado para baixo. Os IRPs PNP com falha devem ser concluídos. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x216 |
Erro não fatal |
O IRP_MJ_PNP status definido anteriormente foi convertido em STATUS_NOT_SUPPORTED. Essa status de falha é reservada para uso pelo sistema operacional. Os drivers não podem falhar um IRP PnP com esse valor. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x217 |
Erro não fatal |
O driver não lidou com um IRP necessário. O driver deve atualizar o status do IRP para indicar se ele foi manipulado ou não. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x218 |
Erro não fatal |
O driver respondeu a um IRP reservado para outros objetos de dispositivo em outro lugar da pilha. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x219 |
Erro não fatal |
Um status IRP não STATUS_NOT_SUPPORTED não bem-sucedido para IRP_MJ_POWER está sendo passado para baixo. Os POWER IRPs com falha devem ser concluídos. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x21A |
Erro não fatal |
O IRP_MJ_POWER status definido anteriormente foi convertido em STATUS_NOT_SUPPORTED. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x21B |
Erro não fatal |
Um motorista retornou um status suspeito. Isso provavelmente ocorre devido a um bug de variável não inicializada no driver. Parâmetro 3 – Endereço IRP. |
0x21C |
Aviso |
O chamador copiou a pilha IRP, mas não definiu uma rotina de conclusão. Isso é ineficiente– use IoSkipCurrentIrpStackLocation . Parâmetro 2 – Reservado Parâmetro 3 – Reservado |
0x21D |
Erro fatal |
Um manipulador de expedição IRP não se desanexou corretamente da pilha abaixo dela ao receber um IRP de remoção. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. Param 4 – Endereço do objeto do dispositivo. |
0x21E |
Erro fatal |
Um manipulador de expedição IRP não excluiu corretamente seu objeto de dispositivo ao receber um IRP de remoção. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. Param 4 – Endereço do objeto do dispositivo. |
0x21F |
Erro não fatal |
Um driver não preencheu uma rotina de expedição para uma função principal de IRP necessária. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x220 |
Erro não fatal |
IRP_MJ_SYSTEM_CONTROL foi concluído por alguém diferente da ProviderId. Esse IRP deveria ter sido concluído anteriormente ou deveria ter sido passado para baixo. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. Param 4 – ProviderId. |
0x221 |
Erro fatal |
Um manipulador de expedição IRP para um PDO excluiu seu objeto de dispositivo, mas o hardware não foi relatado como ausente em uma consulta de relações de barramento. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. Param 4 – Endereço do objeto do dispositivo. |
0x222 |
Erro fatal |
O manipulador de expedição IRP de um Filtro de Barramento desanexou ao receber um IRP de remoção quando o PDO ainda estiver ativo. Os Filtros de Barramento devem limpo em retornos de chamada FastIoDetach. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. Param 4 – Endereço do objeto do dispositivo. |
0x223 |
Erro fatal |
Um manipulador de expedição IRP para um filtro de barramento excluiu seu objeto de dispositivo, mas o PDO ainda está presente. Os filtros de barramento devem limpo em retornos de chamada FastIoDetach. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. Param 4 – Endereço do objeto do dispositivo. |
0x224 |
Erro fatal |
Um manipulador de expedição IRP retornou um status inconsistente com o campo IoStatus.Status do IRP. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. Param 4 – código de status esperado. |
0x225 |
Erro não fatal |
Um manipulador de expedição IRP retornou uma status que é ilegal (0xFFFFFFFF). Isso provavelmente ocorre devido a uma variável de pilha não inicializada. Para depurar esse erro, use o comando ln (Listar Símbolos Mais Próximos) com o endereço especificado. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. Param 4 – Código de status. |
0x226 |
Erro fatal |
Um manipulador de expedição IRP retornou sem passar ou concluir esse IRP ou alguém esqueceu de retornar STATUS_PENDING. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x227 |
Erro fatal |
Uma rotina de conclusão do IRP está em código paginável. (Isso nunca é permitido.) Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x228 |
Erro não fatal |
A rotina de conclusão de um driver não marcou o IRP pendente se o campo PendingReturned foi definido no IRP passado para ele. Isso pode fazer com que o Windows seja travado, especialmente se um erro for retornado pela pilha. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x229 |
Erro fatal |
Uma rotina de cancelamento foi definida para um IRP que está sendo processado atualmente por drivers mais baixos na pilha, possivelmente pisando sua rotina de cancelamento. Param 2 – Reservado. Param 3 – Reservado. |
0x22A |
Erro não fatal |
O PDO (objeto de dispositivo físico) não respondeu a um IRP necessário. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x22B |
Erro não fatal |
O PDO (objeto de dispositivo físico) esqueceu de preencher a lista de relação do dispositivo com o PDO para a consulta TargetDeviceRelation . Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x22C |
Erro fatal |
O código que implementa a consulta TargetDeviceRelation não chamou ObReferenceObject no PDO. Param 2 – Reservado. Param 3 – Reservado. |
0x22D |
Erro não fatal |
O chamador concluiu um IRP_MJ_PNP não entendeu em vez de passá-lo para baixo. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x22E |
Erro não fatal |
O chamador concluiu uma IRP_MJ_PNP bem-sucedida em vez de passá-la para baixo. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x22F |
Erro não fatal |
O chamador concluiu uma IRP_MJ_PNP intocada (em vez de passar o IRP para baixo) ou não PDO falhou no IRP usando o valor ilegal de STATUS_NOT_SUPPORTED. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x230 |
Erro não fatal |
O chamador concluiu um IRP_MJ_POWER não entendeu em vez de passá-lo para baixo. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x231 |
Erro fatal |
O chamador concluiu uma IRP_MJ_POWER bem-sucedida em vez de passá-la para baixo. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x232 |
Erro não fatal |
O chamador concluiu uma IRP_MJ_POWER intocada (em vez de passar o IRP para baixo) ou não PDO falhou no IRP usando o valor ilegal de STATUS_NOT_SUPPORTED. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x233 |
Erro não fatal |
O campo de versão da estrutura de recursos de consulta em um IRP de recursos de consulta não foi inicializado corretamente. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x234 |
Erro não fatal |
O campo de tamanho da estrutura de recursos de consulta em um IRP de recursos de consulta não foi inicializado corretamente. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x235 |
Erro não fatal |
O campo de endereço da estrutura de recursos de consulta em um IRP de recursos de consulta não foi inicializado corretamente como -1. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x236 |
Erro não fatal |
O campo Número da interface do usuário da estrutura de recursos de consulta em um IRP de recursos de consulta não foi inicializado corretamente como -1. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x237 |
Erro fatal |
Um driver enviou um IRP restrito apenas para uso do sistema. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x238 |
Aviso |
O chamador de IoInitializeIrp passou um IRP que foi alocado com IoAllocateIrp. Isso é ilegal, desnecessário e afeta negativamente o desempenho no uso normal. Se esse IRP estiver sendo reciclado, consulte IoReuseIrp no Kit de Driver do Windows. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x239 |
Aviso |
O chamador de IoCompleteRequest está concluindo um IRP que nunca foi encaminhado por meio de uma chamada para IoCallDriver ou PoCallDriver. Isso pode ser um bug. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x23A |
Erro fatal |
Um driver encaminhou um IRP em um IRQL que é ilegal para esse código principal. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
0x23B |
Erro não fatal |
O chamador alterou o campo status de um IRP que ele não entende. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. |
A tabela a seguir lista erros adicionais de Verificação de E/S que podem aparecer. Esses erros aparecem quando a Verificação avançada de E/S é ativada. Para obter mais informações, consulte Verificação avançada de E/S.
Código de erro de E/S | Severidade | Causa do erro |
---|---|---|
0x23C |
Erro fatal |
Um driver concluiu um IRP sem definir a rotina de cancelamento no IRP como NULL. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x23D |
Erro não fatal |
Um driver retornou STATUS_PENDING, mas não marcou o IRP pendente por meio de uma chamada para IoMarkIrpPending. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – Código de status. |
0x23E |
Erro não fatal |
Um driver marcou um IRP pendente, mas não retornou STATUS_PENDING. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – Código de status. |
0x23F |
Erro fatal |
Um driver não herdou o DO_POWER_PAGABLE bit da pilha à qual ele se conectou. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x240 |
Erro fatal |
Um driver está tentando excluir um objeto de dispositivo que já foi excluído por meio de uma chamada anterior para IoDeleteDevice. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x241 |
Erro fatal |
Um driver desanexou seu objeto de dispositivo durante uma remoção surpresa do IRP. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – Endereço do objeto do dispositivo. |
0x242 |
Erro fatal |
Um driver excluiu seu objeto de dispositivo durante uma remoção surpresa do IRP. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – Endereço do objeto do dispositivo. |
0x243 |
Erro fatal |
Um driver não conseguiu limpar o sinalizador de DO_DEVICE_INITIALIZING no final de AddDevice. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. Parâmetro 4 - |
0x244 |
Erro fatal |
Um driver não copiou o DO_BUFFERED_IO ou o sinalizador DO_DIRECT_IO do objeto de dispositivo ao qual ele está se conectando. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x245 |
Erro fatal |
Um driver definiu os sinalizadores DO_BUFFERED_IO e DO_DIRECT_IO. Esses sinalizadores são mutuamente exclusivos. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x246 |
Erro fatal |
Um driver falhou ao copiar o campo DeviceType do objeto de dispositivo ao qual ele está se conectando. Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
0x247 |
Erro fatal Parâmetro 2 - Reservado. Parâmetro 3 - Reservado. |
Um driver falhou em um IRP que não pode ser reprovado legalmente. |
0x248 |
Erro fatal |
Um driver adicionou um objeto de dispositivo que não é um PDO a uma consulta de relações de dispositivo. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – Endereço do objeto do dispositivo. |
0x249 |
Erro não fatal |
Um driver enumerou dois PDOs filho que retornaram IDs de dispositivo idênticas. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Primeiro endereço de objeto do dispositivo. Parâmetro 4 – Segundo endereço do objeto do dispositivo. |
0x24A |
Erro fatal |
Um driver chamou erroneamente uma função de E/S de arquivo com IRQL diferente de PASSIVE_LEVEL. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 - Reservado. Parâmetro 4 - Reservado. |
0x24B |
Erro fatal |
Um driver concluiu uma solicitação IRP_MN_QUERY_DEVICE_RELATIONS do tipo TargetDeviceRelation como bem-sucedida, mas não preencheu corretamente a solicitação ou encaminhou o IRP para a pilha de hardware subjacente. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço do objeto do dispositivo. |
0x24C |
Erro não fatal |
Um driver retornou STATUS_PENDING mas não marcou o IRP pendente por uma chamada para IoMarkIrpPending. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – Código de status. |
0x24D |
Erro fatal |
Um driver passou um objeto de dispositivo inválido para uma função que requer um PDO. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – Endereço do objeto do dispositivo. |
0x300 |
Erro não fatal |
Um motorista retornou um status suspeito. Isso provavelmente ocorre devido a um bug de variável não inicializada no driver. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Param 4 – Código de status suspeito. |
0x301 |
Erro não fatal |
Um driver encaminhou um IRP no IRQL > DISPATCH_LEVEL. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – Valor IRQL incorreto |
0x302 |
Erro não fatal |
Um driver encaminhou um IRP no IRQL > = APC_LEVEL. O Gerenciador de E/S precisará enfileirar um APC para concluir essa solicitação. O APC não poderá ser executado porque o chamador já está no nível de APC, portanto, é provável que o chamador deadlock. Parâmetro 2 – o endereço no código do driver em que o erro foi detectado. Parâmetro 3 – Endereço IRP. Parâmetro 4 – valor IRQL incorreto. |
0x306 |
Erro não fatal |
O driver está concluindo uma solicitação de IRP_MJ_PNP (principal) e IRP_MN_REMOVE_DEVICE (secundária) com uma falha status código. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x307 |
Erro não fatal |
O driver emitiu uma solicitação de E/S com um evento que já foi sinalizado e recebeu uma resposta STATUS_PENDING. Isso pode resultar em desenrolamento antes que a E/S seja concluída. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x310 |
Erro não fatal |
O driver está reinicializando um IRP que ainda está em uso. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x311 |
Erro não fatal |
O driver está reinicializando um IRP criado com IoMakeAssociatedIrp, IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest, IoBuildDeviceIoControlRequest. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
0x312 |
Erro não fatal |
O chamador forneceu ao campo Informações de Status do IRP um valor maior que a seção de saída do buffer do sistema. Param 2 – o endereço no código do driver em que o erro foi detectado. Param 3 – endereço IRP. |
Causa
Consulte a descrição de cada código na seção Parâmetros para obter uma descrição da causa.
Resolução
Esse bug marcar só pode ocorrer quando o Verificador de Driver foi instruído a monitorar um ou mais drivers. Se você não pretende usar o Verificador de Driver, desative-o. Para obter mais informações, confira "Como controlar o Verificador de Driver" no Verificador de Driver. Você também pode considerar atualizar ou remover o driver que causou esse problema.
Se você for o desenvolvedor do driver, use as informações obtidas por meio desse bug marcar para corrigir os bugs em seu código.
Para obter detalhes completos sobre o Verificador de Driver, consulte Verificador de Driver.
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de