Проверка кодов состояния данных счетчика
Возвращаемое значение функций 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 | Неправильный формат пути счетчика. |