Функция PdhOpenLogA (pdh.h)
Открывает указанный файл журнала для чтения или записи.
Синтаксис
PDH_FUNCTION PdhOpenLogA(
[in] LPCSTR szLogFileName,
[in] DWORD dwAccessFlags,
[in] LPDWORD lpdwLogType,
[in] PDH_HQUERY hQuery,
[in] DWORD dwMaxSize,
[in] LPCSTR szUserCaption,
[out] PDH_HLOG *phLog
);
Параметры
[in] szLogFileName
Строка, завершающаяся значением NULL, которая указывает имя открываемого файла журнала. Имя может содержать абсолютный или относительный путь.
Если параметр lpdwLogType имеет значение PDH_LOG_TYPE_SQL, укажите имя файла журнала в форме SQL:DataSourceName!LogFileName.
[in] dwAccessFlags
Тип доступа, используемый для открытия файла журнала. Укажите одно из следующих значений.
Вы можете использовать побитовый оператор инклюзивного ИЛИ (|), чтобы объединить тип доступа с одним или несколькими из следующих флагов создания.
Значение | Значение |
---|---|
|
Создает новый файл журнала с указанным именем. |
|
Создает новый файл журнала с указанным именем. Если файл журнала уже существует, функция удаляет существующий файл журнала перед созданием нового файла. |
|
Открывает существующий файл журнала с указанным именем. Если файл журнала с указанным именем не существует, это равно PDH_LOG_CREATE_NEW. |
|
Открывает существующий файл журнала с указанным именем или создает новый файл журнала с указанным именем. |
|
Создает циклический файл журнала с указанным именем. Когда файл достигает значения параметра dwMaxSize , данные переносят в начало файла журнала. Этот флаг можно указать, только если параметр lpdwLogTypeимеет PDH_LOG_TYPE_BINARY. |
|
Используется с PDH_LOG_TYPE_TSV для записи пользовательского подпись или описания файла журнала, указанного параметром szUserStringpdhUpdateLog или PdhOpenLog. Описание пользовательского подпись или файла журнала записывается как последний столбец в первой строке текстового журнала. |
[in] lpdwLogType
Тип открываемого файла журнала. Этот параметр может принимать одно из указанных ниже значений.
[in] hQuery
Укажите дескриптор запроса, если данные запроса записываются в файл журнала. Функция PdhOpenQuery возвращает этот дескриптор.
Этот параметр игнорируется и должен иметь значение NULL при чтении из файла журнала.
[in] dwMaxSize
Максимальный размер файла журнала в байтах. Укажите максимальный размер, если вы хотите ограничить размер файла или если dwAccessFlags указывает PDH_LOG_OPT_CIRCULAR; в противном случае задайте значение 0.
Для циклических файлов журнала необходимо указать значение, достаточное для хранения по крайней мере одной выборки. Размер выборки зависит от собираемых данных. Однако при указании значения не менее одного мегабайта будет охватываться большинство выборок.
[in] szUserCaption
Строка, завершающаяся значением NULL, указывающая определяемую пользователем подпись файла журнала. В подпись файла журнала обычно описывается содержимое файла журнала. При открытии существующего файла журнала значение этого параметра игнорируется.
[out] phLog
Дескриптор открытого файла журнала.
Возвращаемое значение
Если функция завершается успешно, она возвращает ERROR_SUCCESS.
Если функция завершается сбоем, возвращаемое значение представляет собой код системной ошибки или код ошибки PDH.
Комментарии
Чтобы использовать эту функцию для записи данных о производительности в файл журнала, необходимо открыть запрос с помощью PdhOpenQuery и добавить в него нужные счетчики перед вызовом этой функции.
Более новые операционные системы могут считывать файлы журналов, созданные в старых операционных системах; однако файлы журналов, созданные в Windows Vista и более поздних операционных системах, не могут быть прочитаны в более ранних операционных системах.
Следующие правила применяются к файлам журнала
READ_ACCESS требуется OPEN_EXISTING.
UPDATE_ACCESS нельзя использовать с файловыми журналами. Его можно использовать только с журналами базы данных.
WRITE_ACCESS требуется один из CREATE_NEW, CREATE_ALWAYS, OPEN_EXISTING OPEN_ALWAYS.
Примеры
Пример см. в разделе Запись данных о производительности в файл журнала.
Примечание
Заголовок pdh.h определяет PdhOpenLog в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Целевая платформа | Windows |
Header | pdh.h |
Библиотека | Pdh.lib |
DLL | Pdh.dll |