Поделиться через


Проверка кодов состояния данных счетчика

Возвращаемое значение функций PDH указывает на успешное или неудачное выполнение вызова функции, которое отличается от состояния данных счетчика. Всегда проверка элемент CStatus значения счетчика, возвращаемого в структурах PDH, чтобы убедиться, что возвращаемые данные являются допустимыми перед использованием. Если значение элемента CStatus не указывает на успешное выполнение, не используйте данные. Ниже приведены возможные значения состояния для счетчиков.

Значение Значение
PDH_CSTATUS_NO_MACHINE НЕ удалось подключиться к компьютеру, указанному в пути счетчика. Если это состояние возвращается при добавлении счетчика, счетчик не инициализируется полностью. При каждом обновлении запроса PDH повторяет подключение. После установки подключения сбор обычных данных возобновляется.
PDH_CSTATUS_NO_OBJECT Указанный компьютер найден, но на компьютере обнаружен указанный объект производительности. Если это состояние возвращается при добавлении счетчика, указанный счетчик не включается в запрос. Если это состояние возвращается активным счетчиком, данные для этого счетчика недопустимы. Каждый раз, когда запрашиваются данные, PDH пытается получить эти данные счетчика.
PDH_CSTATUS_NO_INSTANCE Указанный экземпляр не найден в объекте . Если это состояние возвращается во время добавления счетчика в запрос, счетчик успешно добавляется в запрос, но данные недоступны, пока не появится конкретный экземпляр и не будет возвращено состояние успешно.
PDH_CSTATUS_NO_COUNTER Указанный счетчик не найден в указанном объекте . Если это состояние возвращается при добавлении счетчика, счетчик не добавляется в запрос. Если это состояние возвращается после сбора данных, данные для этого счетчика недопустимы. Каждый раз, когда запрашиваются данные, PDH пытается получить эти данные счетчика.
PDH_CSTATUS_INVALID_DATA Счетчик был успешно найден, но возвращенные данные являются недопустимыми. Эта ошибка может возникнуть, если значение счетчика меньше предыдущего. (Так как значения счетчиков всегда увеличиваются, значение счетчика при достижении максимального значения вернется к нулю.) Другой возможной причиной является неправильный системный таймер.
PDH_CSTATUS_VALID_DATA Данные для счетчика были возвращены успешно, но не изменились с момента последнего считывания счетчика.
PDH_CSTATUS_NEW_DATA Данные для счетчика были возвращены успешно и отличаются от времени последнего чтения счетчика. PDH_CSTATUS_NEW_DATA можно возвращать для счетчика скорости, даже если результирующая ставка совпадает с последней выборкой. Это связано с тем, что значение необработанных данных, используемое при определении этого значения состояния, изменилось, а не вычисленная скорость.
PDH_MORE_DATA Предоставленный буфер не был достаточно велик для хранения всех данных счетчика. Выделите буфер большего размера и снова выполните функцию.
PDH_CSTATUS_ITEM_NOT_VALIDATED Счетчик был добавлен в запрос, но не прошел проверку и доступ к ней. Дополнительные сведения о состоянии этого счетчика недоступны.
PDH_CSTATUS_NO_COUNTERNAME В запросе не указано имя счетчика.
PDH_CSTATUS_NO_COUNTER Не удалось найти указанное имя счетчика.
PDH_CSTATUS_NO_OBJECT Не удалось найти указанный объект производительности.
PDH_CALC_NEGATIVE_DENOMINATOR Счетчик имеет отрицательное значение знаменателя.
PDH_CALC_NEGATIVE_TIMEBASE Счетчик имеет отрицательное значение базы времени.
PDH_CALC_NEGATIVE_VALUE Счетчик имеет отрицательное значение.
PDH_CSTATUS_NO_COUNTERNAME Путь счетчика не указан.
PDH_CSTATUS_BAD_COUNTERNAME Неправильный формат пути счетчика.