0x7C de Verificação de Bugs: BUGCODE_NDIS_DRIVER
O bug BUGCODE_NDIS_DRIVER marcar tem um valor de 0x0000007C. Esse bug marcar indica que o sistema operacional detectou um erro em um driver de rede.
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 BUGCODE_NDIS_DRIVER
O parâmetro 1 indica o tipo de violação. O significado dos outros parâmetros depende do valor do Parâmetro 1. Se o valor de um Parâmetro for "0", isso significa que ele não é usado.
Parâmetro 1 | Valor do parâmetro 1 e causa do erro | Parâmetro 2 | Parâmetro 3 | Parâmetro 4 |
---|---|---|---|---|
0x01 |
NDIS_BUGCHECK_ALLOCATE_SHARED_MEM_HIGH_IRQL Um driver chamado NdisMAllocateSharedMemory em um IRQL gerado. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O comprimento da memória compartilhada solicitada |
O IRQL atual |
0x02 |
NDIS_BUGCHECK_SHARED_MEM_CORRUPTION Durante uma chamada para NdisMAllocateSharedMemory, o NDIS detectou que uma página de memória compartilhada alocada anteriormente havia sido corrompida. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
A página de memória compartilhada que foi corrompida |
O endereço de uma NDIS_WRAPPER_CONTEXTE que controla as alocações de memória compartilhada pelo driver |
0x03 |
NDIS_BUGCHECK_FREE_INVALID_SHARED_MEM Um driver de miniporto chamado NdisMFreeSharedMemory (Async) com um endereço de memória compartilhado que já havia sido liberado. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
A página da qual essa memória compartilhada foi alocada |
O endereço virtual da memória compartilhada |
0x04 |
NDIS_BUGCHECK_UNLOAD_DRIVER_INVALID_PARAMETER AddDevice foi chamado com um driver que não está na lista de drivers registrados com NDIS. Habilitado somente no NDIS instrumentado especial. |
O endereço do NDIS_M_DRIVER_BLOCK |
O endereço do DRIVER_OBJECT |
0 |
0x05 |
NDIS_BUGCHECK_RECVD_PACKET_IN_USE_BAD_STACK_LOCATION Um driver Ethernet indicou que recebeu um pacote usando um descritor de pacote que estava atualmente em uso pela pilha de protocolos. Capturado verificando o local do pacote da pilha. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do descritor de pacote usado pelo driver. Execute !ndiskd.pkt com este endereço para obter mais informações. |
O endereço da matriz de pacotes que continha esse descritor de pacote |
0x06 |
NDIS_BUGCHECK_RECVD_PACKET_IN_USE_BAD_REF_COUNT Um driver Ethernet indicou que recebeu um pacote usando um descritor de pacote que estava atualmente em uso pela pilha de protocolos. Capturado verificando a contagem de referência de pacotes. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do descritor de pacote usado pelo driver. Execute !ndiskd.pkt com este endereço para obter mais informações. |
O endereço da matriz de pacotes que continha esse descritor de pacote |
0x07 |
Um driver FDDI indicou que recebeu um pacote usando um descritor de pacote que estava atualmente em uso pela pilha de protocolos. Capturada verificando a contagem de referências. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do descritor de pacote usado pelo driver. Execute !ndiskd.pkt com este endereço para obter mais informações. |
O endereço da matriz de pacotes que continha esse descritor de pacote |
0x08 |
NDIS_BUGCHECK_HALT_WITHOUT_INTERRUPT_DEREGISTER Um driver de miniporto não registrou a interrupção durante o processo de parada. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do NDIS_MINIPORT_INTERRUPT |
0 |
0x09 |
NDIS_BUGCHECK_HALT_WITHOUT_CANCEL_TIMER Um driver de miniporta parou sem cancelar com êxito todos os seus temporizadores. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço da fila do temporizador do driver de miniporta (NDIS_MINIPORT_TIMER) |
0 |
0x0A |
NDIS_BUGCHECK_DRIVER_UNLOAD_UNEXPECTED Um driver de miniporta está sendo descarregado prematuramente. |
O endereço do NDIS_M_DRIVER_BLOCK |
O endereço do DRIVER_OBJECT |
A contagem de referência para o driver de miniporto |
0x0B |
NDIS_BUGCHECK_INIT_FAILED_WITHOUT_INTERRUPT_DEREGISTER Um driver de miniporto falhou na inicialização sem cancelar a interrupção. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do NDIS_MINIPORT_INTERRUPT |
0 |
0x0C |
NDIS_BUGCHECK_INIT_FAILED_WITHOUT_CANCEL_TIMER Um driver de miniporta falhou na inicialização sem cancelar com êxito todos os seus temporizadores. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço da fila do temporizador do driver de miniporta (NDIS_MINIPORT_TIMER) |
0 |
0x0D |
NDIS_BUGCHECK_HALT_INIT_WITHOUT_INTERRUPT_DEREGISTER Um driver de miniporto não registrou a interrupção durante o processo de parada. A parada foi chamada da rotina de inicialização depois que o driver de miniporto retornou êxito de seu manipulador de inicialização. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do NDIS_MINIPORT_INTERRUPT |
0 |
0x0E |
NDIS_BUGCHECK_HALT_INIT_WITHOUT_CANCEL_TIMER Um driver de miniporta parou sem cancelar com êxito todos os seus temporizadores. A parada foi chamada da rotina de inicialização depois que o driver de miniporto retornou êxito de seu manipulador de inicialização. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço da fila do temporizador do driver de miniporta (NDIS_MINIPORT_TIMER) |
0 |
0x0F |
NDIS_BUGCHECK_RESET_COMPLETE_UNEXPECTED Um driver de miniporto chamado NdisMResetComplete sem nenhuma solicitação de redefinição pendente. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O status de redefinição |
AddressingReset (BOOLEAN) |
0x10 |
NDIS_BUGCHECK_PM_INIT_FAILED_NO_INT_DEREGISTER Depois de retomar de um estado de baixa potência, um driver de miniporto falhou em sua inicialização sem cancelar a interrupção. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do NDIS_MINIPORT_INTERRUPT |
0 |
0x11 |
NDIS_BUGCHECK_PM_INIT_FAILED_NO_CANCEL_TIMER Depois de retomar de um estado de baixa potência, um driver de miniporto falhou em sua inicialização sem cancelar com êxito todos os seus temporizadores. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço da fila do temporizador do driver de miniporta (NDIS_MINIPORT_TIMER) |
0 |
0x12 |
NDIS_BUGCHECK_NFILTER_RECVD_PACKET_BAD_REF_COUNT Um driver de miniporta indicou que recebeu um pacote usando um descritor de pacote que estava atualmente em uso pela pilha de protocolos. Capturado verificando a contagem de referência de pacotes. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do descritor de pacote usado pelo driver. Execute !ndiskd.pkt com este endereço para obter mais informações. |
O endereço da matriz de pacotes que continha esse descritor de pacote |
0x13 |
NDIS_BUGCHECK_TFILTER_RECVD_PACKET_BAD_REF_COUNT Um driver de miniporta Token-Ring indicou que recebeu um pacote usando um descritor de pacote que estava atualmente em uso pela pilha de protocolos. Capturado verificando a contagem de referência de pacotes. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O endereço do descritor de pacote usado pelo driver. Execute !ndiskd.pkt com este endereço para obter mais informações. |
O endereço da matriz de pacotes que continha esse descritor de pacote |
0x14 |
NDIS_BUGCHECK_WAIT_EVENT_HIGH_IRQL Um driver NDIS chamado NdisWaitEvent em um IRQL ilegal |
O IRQL real |
0 |
0 |
0x15 |
NDIS_BUGCHECK_INVALID_NDIS5_CALL Um driver de miniporta chamado API que é reservada para drivers mais antigos. O driver só deve chamar APIs NDIS 6.x. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
0 |
0 |
0x16 |
NDIS_BUGCHECK_INVALID_OPEN_IN_BIND_CONTEXT Um driver de protocolo abriu incorretamente um adaptador durante a associação. |
O endereço do protocolo específico. Execute !ndiskd.protocol com este endereço para obter mais informações. |
O endereço da área de contexto alocada pelo driver de protocolo. Convertido em ndis! NDIS_BIND_CONTEXT. |
O endereço do identificador aberto. Execute !ndiskd.mopen com este endereço para obter mais informações. |
0x17 |
NDIS_BUGCHECK_IFPROVIDER_DEREGISTER_UNEXPECTED Um provedor de interface chamado NdisIfDeregisterProvider sem remover primeiro todas as interfaces. |
O endereço do identificador do provedor de interface. Execute !ndiskd.ifprovider com esse endereço para obter mais informações. |
0 |
0 |
0x1B |
NDIS_BUGCHECK_IF_STACK_TABLE_LOOP Um driver tentou adicionar uma Interface ao ifStackTable, mas isso causaria um ciclo. O ifStackTable não deve ter ciclos. Execute !ndiskd.ifstacktable para ver a tabela atual (antes dessa chamada para NdisIfAddIfStackEntry). |
O HigherLayerIfIndex que está sendo adicionado à tabela |
O LowerLayerIfIndex que está sendo adicionado à tabela |
0 |
0x1C |
NDIS_BUGCHECK_MINIPORT_FAILED_OID_WHICH_MUST_SUCCEED Um driver de miniporta falhou em uma solicitação OID que não deve falhar. Isso vazaria memória ou outros recursos. |
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
O OID que falhou. Use !ndiskd.help para localizar o nome desse OID. |
O código de status de falha (NDIS_STATUS_XXX) com o qual a solicitação OID foi concluída |
0x1D |
NDIS_BUGCHECK_OID_REQUEST_INVALID_BUFFER Um driver de miniporta ou driver de filtro concluiu uma solicitação OID ilegalmente. Verifique se BytesWritten não é maior que todo o comprimento do buffer. |
O endereço do adaptador de miniporta específico ou bloco de módulo de filtro. Execute !ndiskd.netadapter ou !ndiskd.filter com esse endereço para obter mais informações. |
O endereço do NDIS_OID_REQUEST que foi concluído ilegalmente. Inspecione-o com !ndiskd.oid. |
0 |
0x1E |
NDIS_BUGCHECK_REFCOUNT_IMBALANCE O NDIS detectou um erro em um refcount interno. Isso pode ser causado por um fluxo inferior de refcount (mais desreferências do que referências) ou por uma incompatibilidade de marca. |
0 |
Identificador interno. Use !ndiskd.ndisref ou converta em ndis! NDIS_REFCOUNT_BLOCK. |
O valor de reftag atual |
0x1F |
NDIS_BUGCHECK_ILLEGAL_MINIPORT_STATE_TRANSITION Um driver de miniporta concluiu uma transição de estado ilegalmente. |
O que falhou. Valores possíveis:
|
O endereço do bloco de adaptador de miniporta específico. Execute !ndiskd.netadapter com este endereço para obter mais informações. |
0 |
0x20 |
NDIS_BUGCHECK_STATUS_INDICATION_INVALID_BUFFER Um driver de miniporta ou driver de filtro indicou um NDIS_STATUS_INDICATION inválido. |
O tipo da indicação status. Execute !ndiskd.help com este código para obter mais informações. |
O identificador da instância de driver que indicou essa indicação de status inválida. Execute !ndiskd.netadapter ou !ndiskd.filter com esse identificador para obter mais informações. |
O endereço do conteúdo da indicação status. Sua interpretação depende do tipo de indicação status. |
0x21 |
NDIS_BUGCHECK_INVALID_OBJECT_HEADER Um driver criou uma NDIS_OBJECT_HEADER inválida. |
O identificador do motorista que indicou a indicação de status ilegal. Execute !ndiskd.minidriver ou !ndiskd.filterdriver com esse identificador para obter mais informações. |
O objeto com o cabeçalho malformado. Sua interpretação depende da API que está sendo chamada. Por exemplo, se o driver chamado NdisAllocateCloneOidRequest, converta o objeto em ndis! NDIS_OID_REQUEST. |
0 |
0x22 |
NDIS_BUGCHECK_ILLEGAL_NET_PNP_EVENT Um driver de miniporta ou driver de filtro indicou uma NET_PNP_EVENT_NOTIFICATION ilegal. |
O identificador do motorista que indicou a indicação de status ilegal. Execute !ndiskd.minidriver ou !ndiskd.filterdriver com esse identificador para obter mais informações. |
Converter em NET_PNP_EVENT_NOTIFICATION |
0 |
0x23 |
NDIS_BUGCHECK_PD_ERROR Um erro foi detectado no caminho de dados do Packet Direct. |
O subtipo da verificação de bugs. Valores possíveis:
|
O valor do Parâmetro 3 depende do valor do Parâmetro 2. Cada número nessa lista corresponde ao mesmo número no Parâmetro 2.
|
O valor do Parâmetro 4 depende do valor do Parâmetro 2. Cada número nessa lista corresponde ao mesmo número no Parâmetro 2.
|
0x24 |
NDIS_BUGCHECK_UNEXPECTED_FAILURE Uma operação interna falhou inesperadamente. É provável que isso seja um bug no próprio NDIS.SYS. |
A operação que falhou. Valores possíveis: 0x01: NDIS_BUGCHECK_UNEXPECTED_FAILURE_KEWAITFORSINGLEOBJECT Falha em uma chamada para KeWaitForSingleObject. |
O código de status de falha |
0 |
0x25 |
NDIS_BUGCHECK_WATCHDOG Uma tentativa de gerenciar a pilha de rede demorou muito. Quando o NDIS chama outros drivers, o NDIS inicia um temporizador de watchdog para garantir que a chamada seja concluída imediatamente. Se a chamada demorar muito, o NDIS injetará uma verificação de bugs. Isso pode ser causado por um simples deadlock. Procure com "!stacks 2 ndis" ou semelhante para ver se algum thread parece suspeito. Preste atenção especial ao PrimaryThread do NDIS_WATCHDOG_TRIAGE_BLOCK. Isso pode ser causado por NBLs perdidas, caso em que !ndiskd.pendingnbls pode ajudar. Verifique se há OIDs que estão presos usando !ndiskd.oid. |
A operação que demorou muito. Valores possíveis:
|
Convertido em ndis! NDIS_WATCHDOG_TRIAGE_BLOCK. Campos úteis:
|
O valor do Parâmetro 4 depende do valor do Parâmetro 2. Cada número nessa lista corresponde ao mesmo valor hexadecimal no Parâmetro 2.
|
0x26 |
NDIS_BUGCHECK_INVALID_OID_COMPLETION Um driver de miniporta tentou concluir uma solicitação OID que não está pendente no momento nesse driver de miniporta. Isso pode ser causado pelo driver que tenta concluir a mesma solicitação mais de uma vez. |
O identificador do driver de miniporta que causou a verificação de bugs. Execute !ndiskd.minidriver com esse identificador para obter mais informações. |
A solicitação OID do NDIS que o driver de miniporto estava tentando concluir. Você pode tentar executar !ndiskd.oid com essa solicitação, mas a memória pode não ser válida neste momento. |
0 |
0x27 |
NDIS_BUGCHECK_LEAKED_NBL Um driver vazou uma estrutura NET_BUFFER_LIST . Verifique com !ndiskd.pendingnbls para ver as NBLs que ainda estão pendentes neste driver. |
Onde o vazamento foi detectado. Valores possíveis:
|
0 |
0 |
Causa
O parâmetro 1 indica a causa específica do bug BUGCODE_NDIS_DRIVER marcar.
Comentários
A verificação de bugs BUGCODE_NDIS_DRIVER indeniza problemas em drivers de rede. Geralmente, o problema é causado por um driver de miniporto NDIS. Você pode obter uma lista completa de drivers de miniporto NDIS usando !ndiskd.netadapter. Você pode obter uma visão geral geral da pilha de rede com !ndiskd.netreport.
Esse bug marcar código ocorre somente no Microsoft Windows Server 2003 e versões posteriores do Windows. No Windows 2000 e no Windows XP, o código correspondente é marcar 0xD2 de bugs (BUGCODE_ID_DRIVER).