Partilhar via


Verificação de bugs 0xC7: TIMER_OR_DPC_INVALID

A verificação de bug TIMER_OR_DPC_INVALID tem um valor de 0x000000C7. Isso é emitido se um temporizador do kernel ou chamada de procedimento diferido (DPC) for encontrado em algum lugar na memória onde não é permitido.

Importante

Este artigo é para programadores. Se for um cliente que recebeu um código de erro de ecrã azul enquanto utiliza o computador, consulte Resolução de problemas de erros de ecrã azul.

TIMER_OR_DPC_INVALID Parâmetros

Parâmetro 1 Parâmetro 2 Parâmetro 3 Parâmetro 4 Causa do erro

0x0

Endereço do objeto do temporizador

Início do intervalo de memória que está sendo verificado

Fim do intervalo de memória que está sendo verificado

O objeto temporizador foi encontrado em um bloco de memória onde um objeto temporizador não é permitido. .

0x1

Endereço do objeto DPC

Início do intervalo de memória que está sendo verificado

Fim do intervalo de memória que está sendo verificado

O objeto DPC foi encontrado em um bloco de memória onde um objeto DPC não é permitido.

0x2

Endereço da rotina do DPC

Início do intervalo de memória que está sendo verificado

Fim do intervalo de memória que está sendo verificado

A rotina DPC foi encontrada em um bloco de memória onde um objeto DPC não é permitido.

0x3

Endereço do objeto DPC

Número do processador

Número de processadores no sistema

O número do processador para o objeto DPC não está correto.

0x4

Endereço da rotina do DPC

A contagem de desativação do APC do thread antes que o kernel chame a rotina DPC

A contagem de desativação de APC do thread depois que a rotina DPC é chamada

A contagem de desativação do APC do thread foi alterada durante a execução de rotina do DPC.

A contagem de desativação do APC é diminuída cada vez que um driver chama KeEnterCriticalRegion, FsRtlEnterFileSystem ou adquire um mutex.

A contagem de desativação do APC é incrementada cada vez que um driver chama KeLeaveCriticalRegion, KeReleaseMutex ou FsRtlExitFileSystem.

0x5

Endereço da rotina do DPC

A contagem de desativação do APC do thread antes que o kernel chame a rotina DPC

A contagem de desativação de APC do thread depois que a rotina DPC é chamada

A contagem de desativação do APC do thread foi alterada durante a execução da rotina DPC do temporizador.

A contagem de desativação do APC é diminuída cada vez que um driver chama KeEnterCriticalRegion, FsRtlEnterFileSystem ou adquire um mutex.

A contagem de desativação do APC é incrementada cada vez que um driver chama KeLeaveCriticalRegion, KeReleaseMutex ou FsRtlExitFileSystem.

Motivo

Esta condição é geralmente causada por um driver que não consegue cancelar um temporizador ou DPC antes de liberar a memória onde ele reside.

Resolução

Se você é o escritor do driver, use as informações obtidas através desta verificação de bug para corrigir os bugs em seu código.

Se você for um administrador de sistema, você deve descarregar o driver se o problema persistir.