Artigo: 226494 - Última revisão: quinta-feira, 26 de Fevereiro de 2009 - Revisão: 6.0

Eventos de extensões do Monitor de desempenho

Dica do SistemaEste artigo aplica-se a um sistema operativo diferente do que está a utilizar. Foi desactivado o conteúdo do artigo, que pode não ser relevante para si.
Expandir tudo | Reduzir tudo

Sumário

Windows Server 2003 e sistemas operativos Microsoft Windows anteriores comunicar eventos no registo de eventos de aplicações quando ocorrerem erros. Também o Windows comunica eventos para fornecer informações sobre as extensões do Monitor de desempenho e contadores personalizados. Este artigo descreve como utilizar definições de registo para controlar o erro verificar e relatórios. Este artigo também lista as informações de evento possíveis. Estas informações podem ser úteis quando testar e validar uma extensão de monitor de desempenho. As informações também podem ajudar a diagnosticar problemas com extensões do Monitor de desempenho que são instalados como parte da aplicação de servidor do fornecedor ou controlador de dispositivo.

Mais Informação

Valores de registo

Biblioteca de desempenho (perflib), parte ADVAPI32.dll, lê três valores de registo REG_DWORD controlam diferentes níveis de erro verificar e relatórios. Estes valores estão na seguinte chave do registo:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Se estes valores não estiverem presentes, pode adicionar os valores. A alteração tenha efeito depois de reiniciar o Monitor de desempenho ou outra ferramenta de monitorização de desempenho.

importante Esta secção, método ou tarefa contém passos que indicam como modificar o registo. No entanto, poderão ocorrer problemas graves se modificar o registo de forma incorrecta. Por conseguinte, certifique-se de que segue estes passos cuidadosamente. Criar uma para protecção adicional, cópia de segurança do registo antes de o modificar. Em seguida, pode restaurar o registo se ocorrer um problema. Para obter mais informações sobre como efectuar uma cópia de segurança e restaurar o registo, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
322756  (http://support.microsoft.com/kb/322756/ ) Como efectuar uma cópia de segurança e restaurar o registo no Windows
Os seguintes nomes de valor são seguidos de valores possíveis e os respectivos significados.
ExtCounterTestLevel

1  -  object and counter lengths are checked for consistency
2  -  buffer overflows or guard pages are checked
3  -  no checking is made but does not suppress exception handling

EventLogLevel

0  -  no errors are reported
1  -  user event log error messages (1000-1013)
2  -  warnings and errors used for debugging (1000-2002)
3  -  verbose, all information (1000-3000)
				
OpenProcedureWaitTime

Se valor OpenProcedureWaitTime estiver presente, perflib configura um procedimento de tempo de espera internamente. Se a função Abrir de uma DLL de extensão monitor de desempenho não devolver dentro do tempo especificado em milissegundos, neste valor do registo (2002) um evento é registado no registo de eventos. No entanto, apenas controla os relatórios do facto de, não controlar o comportamento. Por exemplo, se Abrir uma função "não reage", em seguida, o processo de monitor de desempenho será não "reagir" independentemente da presença deste valor de registo.

Valores de registo para o Windows 2000

A partir do Windows 2000 uma entrada de registo de tempo de espera novo foi adicionada para a função collect. Os valores de três registo anterior também funcionam no Windows 2000 como descrito anteriormente. A nova entrada de registo é colocada na seguinte chave de registo.
HKEY_LOCAL_MACHINE
      \SYSTEM
         \CurrentControlSet
            \Services
               \(service name)
                  \Performance
				
recolher tempo de espera

O valor de Tempo de espera de recolher é novo no Windows 2000. Tenha em atenção o espaço no nome do valor. Se este valor estiver presente, perflib configura um procedimento de tempo de espera internamente. Se não voltar a função recolher uma extensão de monitor de desempenho DLL dentro do tempo especificado em milissegundos, neste valor do registo (1015) um evento é registado no registo de eventos.

tempo limite aberto

O valor de Tempo de espera abrir é novo no Windows 2000. Tenha em atenção o espaço no nome do valor. Se este valor estiver presente, perflib configura um procedimento de tempo de espera internamente. Se a função Abrir de uma DLL de extensão monitor de desempenho não devolver dentro do tempo especificado em milissegundos, neste valor do registo (2002) um evento é registado no registo de eventos.

Nota No Windows 2000, OpenProcedureWaitTime é global para todas as desempenho extensão DLL. Se o valor de registo de Tempo de espera de abrir , que é a extensão de desempenho DLL específicas, não estiver presente, o sistema operativo utilizará o valor de registo OpenProcedureWaitTime global, se estiver presente. Do mesmo modo, se o valor de registo de Tempo de espera de recolher não estiver presente, o sistema operativo utilizará o valor de registo OpenProcedureWaitTime global, se existir. Se o valor de registo OpenProcedureWaitTime não estiver presente, o valor de tempo limite predefinido é 10.000 (milissegundos).

Os IDs de evento e descrições

Segue-se uma lista de IDs de evento e o texto de erro detalhadas apresentado na caixa de diálogo Detalhes do Visualizador de eventos. Alguns dos seguintes itens incluem também obter informações adicionais sobre a interpretação os detalhes do evento. Além disso, cada um dos itens dar um nível de conhecimentos para sugerir que poderá não conseguir resolver o problema.

Muitas das seguintes descrições dos Consulte uma DWORD no campo Data da caixa de diálogo Detalhes de eventos . Tenha em atenção os dados estão organizados na ordem de bytes e interpretar uma DWORD em sistemas Intel tem de ler 4 bytes num momento cada byte por ordem inversa. Por exemplo 05 00 00 C0 poderá ser apresentado no campo Data , mas o valor de DWORD é legível C0000005.

ID do evento: 1000
detalhe texto: O acesso a dados de desempenho foi negado (nome de utilizador) como tentativa da (nome do módulo de chamar)

interpretação: É verificada na seguinte chave de acesso de segurança:
SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
				
se o utilizador associado ao thread de cliente ou token de processo não está na ACL para esta chave então este evento é registado.

conhecimentos: Administrador de sistema

ID do evento: 1001
Texto de detalhes : O tamanho da memória intermédia devolvido pelo procedimento collect na DLL de contador extensível (nome da DLL) para o serviço (nome do serviço) era maior do que o espaço disponível. Dados de desempenho devolvidos pela DLL de contador não serão devolvidos em Perf Data Block. Tamanho do excesso é dados DWORD 0.

interpretação: Perflib localiza que o ponteiro de início para a memória intermédia de dados não está a apontar o fim da memória intermédia incluindo segura da memória intermédia.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1002
detalhe texto: Uma página de protecção foi modificada por um procedimento collect na DLL de contador Extensible (nome da DLL) para o serviço (nome do serviço). Dados de desempenho devolvidos pela DLL de contador não serão devolvidos em Perf Data Block.

interpretação: Perflib implementa uma memória intermédia segura que adiciona algum espaço na memória intermédia preenchida com alguns bytes de assinatura. Este evento significa que a extensão tem escrito depois do fim da memória intermédia.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1003
detalhe texto: O tamanho de objecto de um objecto devolvido pela DLL de contador extensível (nome da DLL) para o serviço (nome do serviço) não está correcto. A soma dos comprimentos objecto devolvidos não coincidem com o tamanho da memória intermédia devolvido. Dados de desempenho devolvidos pela DLL de contador não serão devolvidos em Perf Data Block. Contar de objectos devolvidos é o dado DWORD 0.

interpretação: Depois da função collect devolve, perflib valida os membros TotalByteLength cada estrutura PERF_OBJECT_TYPE devolvido pela extensão de desempenho. Este evento de erro significa existe problema com um ou mais valores de TotalByteLength nas estruturas do PERF_OBJECT_TYPE .

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1004
detalhe texto: O tamanho de instância de um objecto devolvido pela DLL de contador extensível (nome da DLL) para o serviço (nome do serviço) estava incorrecto. A soma dos tamanhos de instâncias mais as estruturas de definição do objecto não coincidem com o tamanho do objecto. Dados de desempenho devolvidos pela DLL de contador não serão devolvidos em Perf Data Block. O índice de título de objecto do objecto incorrecto são os dados DWORD 0.

interpretação: Depois da função collect devolve perflib valida membros PERF_INSTANCE_DEFINITION ByteLength e PERF_COUNTER_BLOCK ByteLength , se o objecto tiver instâncias. Este evento de erro significa que o membro ByteLength está incorrecto.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1005
detalhe texto: Não é possível localizar a abertura procedimento (nome de proc aberto) na DLL (nome da DLL) para o serviço (nome do serviço). Os dados de desempenho para este serviço não estará disponíveis. Estado de erro é os dados DWORD 0.

interpretação: Perflib chamadas GetProcAddress obter o nome da função especificado como procedimento de abrir o registo para a extensão. Este erro significa normalmente que o nome não foi encontrado um porque a DLL de extensão não correctamente exportar ou a DLL foi compilado com o código do C++ e externo "C" declaração não foi utilizada.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1006
detalhe texto: Não é possível localizar a recolher procedimento (nome do procedimento collect) na DLL (nome da DLL) para o serviço (nome do serviço). Os dados de desempenho para este serviço não estará disponíveis. Estado de erro é os dados DWORD 0.

interpretação: Perflib chamadas GetProcAddress obter o nome da função especificado como o procedimento Collect no registo para a extensão. Este erro significa normalmente que o nome não foi encontrado um porque a DLL de extensão não correctamente exportar ou a DLL foi compilado com o código do C++ e externo "C" declaração não foi utilizada.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1007
detalhe texto: Não é possível localizar o fecho procedimento (nome de proc fechar) na DLL (nome da DLL) para o serviço (nome do serviço). Os dados de desempenho para este serviço não estará disponíveis. Estado de erro é os dados DWORD 0.

interpretação: Perflib chamadas GetProcAddress obter o nome da função especificado como o procedimento fechar no registo para a extensão. Este erro significa normalmente que o nome não foi encontrado um porque a DLL de extensão não correctamente exportar ou a DLL foi compilado com o código do C++ e externo "C" declaração não foi utilizada.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1008
detalhe texto: O procedimento Open para o serviço (nome do serviço) na DLL (nome da DLL) falhou. Os dados de desempenho para este serviço não estará disponíveis. Código de estado devolvido é DWORD 0.

interpretação: Se a função Abrir para uma extensão não devolver ERROR_SUCCESS, perflib regista o código de estado no campo de dados do evento. Isto pode ser utilizado para ajudar o autor da extensão de determinar a razão pela qual a função Abrir falhou.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1009
detalhe texto: O procedimento Open para o serviço (nome do serviço) na DLL (nome da DLL) gerou uma excepção. Os dados de desempenho para este serviço não estará disponíveis. Código de excepção devolvido é DWORD 0.

interpretação: Perflib chama o desempenho funções de extensão de um bloco de __try structured exception handler. Este é registado, se Ocorreu uma excepção ou RaiseException foi chamado na função Open . O campo de dados terá o código de excepção. Por exemplo, C0000005 significa que ocorreu uma violação de acesso.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1010
detalhe texto: O procedimento Collect para o o serviço (nome do serviço) na DLL (nome da DLL) gerou uma excepção ou devolveu um estado inválido. Dados de desempenho devolvidos pela DLL de contador não serão devolvidos em Perf Data Block. Código de estado ou de excepção devolvido é DWORD 0.

interpretação: Perflib chama o desempenho funções de extensão de um bloco de __try structured exception handler. Este é registado, se Ocorreu uma excepção ou RaiseException foi chamado na função Collect. O campo de dados terá o código de excepção. Por exemplo, C0000005 significa que ocorreu uma violação de acesso.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1011
detalhe texto: Não foi possível abrir o ficheiro de biblioteca (nome da DLL) especificado para o serviço (nome do serviço). Os dados de desempenho para este serviço não estará disponíveis. Código de estado é o dado DWORD 0.

interpretação: Perflib utiliza LoadLibrary para abrir as extensões de desempenho. Se o código de estado de GetLastError de falha de LoadLibrary é registado no campo de dados do evento. Por exemplo, 7e significa não foi possível encontrar a DLL ou a biblioteca de nome no registo não está correcta.

conhecimentos: Administrador de sistema ou programador de DLL de contador extensível com nome

ID do evento: 1012
detalhe texto: O sistema comunicado foi comunicado um tempo de processo inactivo que era menor do que a última vez. Os dados mostram a hora actual e a última vez comunicada para processo inactivo do sistema.

interpretação: Este evento não é utilizado pelo Perflib

conhecimentos: Nenhum

ID do evento: 1013
detalhe texto: O procedimento collect na DLL de contador extensível (nome da DLL) para o serviço (nome do serviço) devolveu uma memória intermédia maior do que o espaço atribuído e pode ter danificado pilha a aplicação. Esta DLL deve ser desactivada ou removida do sistema até que o problema tenha sido corrigido para evitar mais danos. A aplicação que aceder a este dados de desempenho deve ser reiniciada. Os dados de desempenho devolvidos pela DLL de contador não serão devolvidos em Perf Data Block. Tamanho do excesso é dados DWORD 0.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1014 só está disponível no Windows 2000
detalhe texto: Ocorreu um erro ao tentar recolher dados do objecto servidor. O código de erro devolvido pela função é DWORD 0. O estado devolvido no bloco de estado de E/S é DWORD 1. O campo de informações do bloco de estado de E/S é DWORD 2.

interpretação: Este evento não é utilizado pelo perflib.

conhecimentos: Nenhum

ID do evento: 1015 só está disponível no Windows 2000
detalhe texto: Expirou o tempo limite a aguardar que a função de recolha de dados (nome da função) de desempenho concluir. Poderá existir um problema com esse contador extensível ou com o serviço a partir da qual está a recolher dados.

conhecimentos: Programador de DLL de contador extensível com nome

interpretação: Ver comentários sobre o valor de registo de tempo de espera de recolher

ID do evento: 1016 só está disponível no Windows 2000
detalhe texto: A memória intermédia de dados criada para o serviço (nome do serviço) na biblioteca (nome da DLL) não estiver alinhada um limite de 8 bytes. Isto poderá causar problemas às aplicações que estão a tentar ler a memória intermédia de dados de desempenho. Contacte o fabricante desta biblioteca ou serviço para este problema corrigido ou para obter uma versão mais recente desta biblioteca.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1017 só está disponível no Windows 2000
detalhe texto: A recolha de dados de contador de desempenho do serviço (nome do serviço) foi desactivada devido a um ou mais erros gerados pela biblioteca de contadores de desempenho para esse serviço. Os erros que forçaram esta acção foram escritos no registo de eventos da aplicação. Os erros devem ser corrigidos antes os contadores de desempenho para este serviço são novamente activados.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1018 só está disponível no Windows 2000
detalhe texto: A recolha de dados de contador de desempenho do serviço (nome do serviço) foi desactivada para esta sessão devido a um ou mais erros gerados pela biblioteca de contadores de desempenho para esse serviço. Os erros que forçaram esta acção foram escritos no registo de eventos da aplicação.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1019 só está disponível no Windows 2000
detalhe texto: Um campo de definição de um objecto devolvido pela DLL de contador extensível (nome da DLL) para o serviço (nome do serviço) estava incorrecto. A soma dos comprimentos do bloco de definições nas estruturas de definição do objecto não coincidem com o tamanho especificado no cabeçalho de definição do objecto. Dados de desempenho devolvidos por este contador que será DLL não serão devolvidos em Perf Data Block. O índice de título de objecto do objecto incorrecto são os dados DWORD 0.

interpretação: Semelhante ao evento 1003 excepto a soma dos membros de comprimento estrutura definição de contador está seleccionada. Este evento significa normalmente que ByteLength de uma das estruturas de definição de contador do objecto de dados de desempenho está incorrecto.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 1020 só está disponível no Windows 2000
detalhe texto: O tamanho da memória intermédia utilizada é superior à que passados para a função collect do (nome DLL) DLL de contador extensível para o serviço (nome do serviço). O tamanho da memória intermédia transmitida é dado DWORD 0 e o tamanho devolvido é dados DWORD 1.

interpretação: Semelhante a com a excepção são atribuídas mais informações sobre o tamanho de memória intermédia esperada pela extensão de evento 1001.

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 2000
detalhe texto: O ponteiro devolvido não correspondia ao tamanho da memória intermédia devolvido pelo procedimento Collect para o serviço (nome do serviço) na DLL de contador extensível (nome da DLL). O tamanho será ajustado para corresponder ao e de dados de desempenho aparecerão em Perf Data Block. O tamanho devolvido é o dado DWORD 0, o novo tamanho é dados DWORD 1.

interpretação: Este evento é utilizado para o desenvolvimento e depuração de uma extensão de monitor de desempenho. Depois do procedimento collect é designado por retorno parâmetros são verificados para consistência. Neste caso o número de bytes adicionado a memória intermédia de dados de desempenho é verificado em relação a diferença real no ponteiro de memória intermédia antes e depois do procedimento collect é chamado.

conhecimentos: Programador da DLL de contador extensível com nome

ID do evento: 2001
detalhe texto: O serviço (nome do serviço) não tem uma subchave desempenho ou não foi possível abrir a chave. Contadores de desempenho não serão recolhidos para este serviço. O código de erro Win32 é devolvido nos dados.

interpretação: Este evento está a dizer um item em Serviços de subchave não contém uma subchave de desempenho (ou não foi possível abrir, por exemplo, devido ao acesso de segurança). Este é registado para cada item na subchave de serviço.

conhecimentos: Administrador de sistema ou programador de serviço com nome

ID do evento: 2002
detalhe texto: O procedimento de abertura para o serviço (nome do serviço) na DLL (nome da DLL) demorou mais do que o tempo de espera estabelecido. O tempo de espera em milissegundos é mostrado nos dados.

interpretação: Ver os comentários anteriores relacionadas com o valor de registo de Tempo de espera de abrir .

conhecimentos: Programador de DLL de contador extensível com nome

ID do evento: 2003 só está disponível no Windows 2000
detalhe texto: As informações de configuração da biblioteca de desempenho (nome da DLL) para o serviço (nome do serviço) não correspondem aos informações de biblioteca de desempenho fidedigna armazenadas no registo. As funções nesta biblioteca não serão tratadas como fidedignas.

interpretação: Se existir o valor "Library validação de código" para o serviço com o nome da subchave de desempenho, os dados são verificados contra a hora de criação do ficheiro e o tamanho do ficheiro de DLL com nome. Este erro é registado, se não coincidirem. Se o erro ocorrer, poderá ser corrigido removendo e reinstalando o serviço com nome.

conhecimentos: Administrador de sistema ou programador de serviço com nome

ID do evento: 3000
detalhe texto: Procedimento Open para serviço (nome do serviço) na DLL (nome da DLL) foi chamado e devolveu com êxito.

conhecimentos: Principiante

Referências

Para obter mais informações sobre as extensões do monitor de desempenho, consulte a documentação do Platform SDK no Windows Base Services monitorização do desempenho dados de desempenho; adicionar contadores de desempenho.

Para obter informações sobre como resolver o evento de 2003, clique no número de artigo existente abaixo para visualizar o artigo na base de dados de conhecimento da Microsoft:
267831  (http://support.microsoft.com/kb/267831/ ) Mensagem de aviso 2003 ID de evento registada quando o carregamento de contadores de desempenho

A informação contida neste artigo aplica-se a:
  • Microsoft Win32 Application Programming Interface nas seguintes plataformas
    • Microsoft Windows Server 2003 Standard Edition
    • Microsoft Windows Server 2003 Enterprise Edition
    • Microsoft Windows Server 2003 Datacenter Edition
    • Microsoft Windows XP Home Edition
    • Microsoft Windows XP Professional Edition
    • Microsoft Windows 2000 Professional Edition
    • Microsoft Windows 2000 Server
    • Microsoft Windows 2000 Advanced Server
    • Microsoft Windows 2000 Datacenter Server
    • Microsoft Windows NT 4.0
Palavras-chave: 
kbmt kbarttypeinf kbinfo kbkernbase kbperfmon KB226494 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 226494  (http://support.microsoft.com/kb/226494/en-us/ )