Verificando códigos de status de dados do contador
O valor retornado das funções PDH indica o êxito ou a falha da chamada de função, que é diferente da status dos dados do contador. Sempre marcar o membro CStatus de um valor de contador retornado nas estruturas PDH para garantir que os dados retornados sejam válidos antes de usá-los. Se o valor do membro CStatus não indicar êxito, não use os dados. Veja a seguir os possíveis valores de status para contadores:
Valor | Significado |
---|---|
PDH_CSTATUS_NO_MACHINE | O PDH não pôde se conectar ao computador especificado no caminho do contador. Se esse status for retornado quando o contador estiver sendo adicionado, o contador não será completamente inicializado. Sempre que a consulta é atualizada, o PDH tenta novamente a conexão. Quando a conexão é estabelecida, a coleta de dados normal é retomada. |
PDH_CSTATUS_NO_OBJECT | O computador especificado foi encontrado, mas o objeto de desempenho especificado foi encontrado no computador. Se esse status for retornado quando o contador estiver sendo adicionado, o contador especificado não será incluído na consulta. Se esse status for retornado por um contador ativo, os dados desse contador serão inválidos. Sempre que os dados são solicitados, o PDH tenta obter esses dados de contador. |
PDH_CSTATUS_NO_INSTANCE | A instância especificada não foi encontrada no objeto . Se esse status for retornado enquanto o contador estiver sendo adicionado à consulta, o contador será adicionado com êxito à consulta, mas nenhum dado estará disponível até que a instância específica seja exibida e um status bem-sucedido seja retornado. |
PDH_CSTATUS_NO_COUNTER | O contador especificado não foi encontrado no objeto especificado. Se esse status for retornado quando o contador estiver sendo adicionado, o contador não será adicionado à consulta. Se esse status for retornado após a coleta de dados, os dados desse contador serão inválidos. Sempre que os dados são solicitados, o PDH tenta obter esses dados de contador. |
PDH_CSTATUS_INVALID_DATA | O contador foi encontrado com êxito, mas os dados retornados não são válidos. Esse erro poderá ocorrer se o valor do contador for menor que o valor anterior. (Como os valores do contador sempre incrementam, o valor do contador passa para zero quando atinge seu valor máximo.) Outra causa possível é um temporizador do sistema que não está correto. |
PDH_CSTATUS_VALID_DATA | Os dados do contador foram retornados com êxito, mas não foram alterados da última vez em que o contador foi lido. |
PDH_CSTATUS_NEW_DATA | Os dados do contador foram retornados com êxito e são diferentes da última vez que o contador foi lido. PDH_CSTATUS_NEW_DATA pode ser retornado em um contador de taxa mesmo que a taxa resultante seja a mesma que a última amostra. Isso ocorre porque o valor de dados brutos usado na determinação desse valor de status foi alterado, não a taxa computada. |
PDH_MORE_DATA | O buffer fornecido não era grande o suficiente para armazenar todos os dados do contador. Aloque um buffer maior e execute a função novamente. |
PDH_CSTATUS_ITEM_NOT_VALIDATED | O contador foi adicionado à consulta, mas não foi validado nem acessado. Nenhuma informação de status adicional sobre esse contador está disponível. |
PDH_CSTATUS_NO_COUNTERNAME | Nenhum nome de contador foi especificado na consulta. |
PDH_CSTATUS_NO_COUNTER | Não foi possível encontrar o nome do contador especificado. |
PDH_CSTATUS_NO_OBJECT | Não foi possível encontrar o objeto de desempenho especificado. |
PDH_CALC_NEGATIVE_DENOMINATOR | Um contador tem um valor de denominador negativo. |
PDH_CALC_NEGATIVE_TIMEBASE | Um contador tem um valor de base de tempo negativo. |
PDH_CALC_NEGATIVE_VALUE | Um contador tem um valor negativo. |
PDH_CSTATUS_NO_COUNTERNAME | Nenhum caminho de contador foi especificado. |
PDH_CSTATUS_BAD_COUNTERNAME | O formato do caminho do contador está incorreto. |