Функция TdhGetProperty (tdh.h)
Извлекает значение свойства из данных события.
Синтаксис
TDHSTATUS TdhGetProperty(
[in] PEVENT_RECORD pEvent,
[in] ULONG TdhContextCount,
[in] PTDH_CONTEXT pTdhContext,
[in] ULONG PropertyDataCount,
[in] PPROPERTY_DATA_DESCRIPTOR pPropertyData,
[in] ULONG BufferSize,
[out] PBYTE pBuffer
);
Параметры
[in] pEvent
Запись события, переданная обратному вызову EventRecordCallback . Дополнительные сведения см. в разделе структура EVENT_RECORD .
[in] TdhContextCount
Количество элементов в pTdhContext.
[in] pTdhContext
Массив значений контекста только для событий WPP или классической трассировки событий Windows; в противном случае — NULL. Дополнительные сведения см. в разделе структура TDH_CONTEXT . Массив не должен содержать повторяющиеся типы контекста.
[in] PropertyDataCount
Количество структур дескриптора данных в pPropertyData.
[in] pPropertyData
Массив структур PROPERTY_DATA_DESCRIPTOR , определяющий извлекаемое свойство.
Если вы вызвали функцию TdhGetPropertySize для получения требуемого размера буфера для свойства, можно использовать те же дескрипторы данных.
При получении свойства, которое не является членом структуры, можно указать один дескриптор данных. При получении свойства, являющегося членом структуры, укажите массив из двух дескрипторов данных (структуры не могут содержать другие структуры или ссылаться на них).
[in] BufferSize
Размер буфера pBuffer в байтах. Это значение можно получить из параметра pPropertySize при вызове функции TdhGetPropertySize .
[out] pBuffer
Выделенный пользователем буфер, который получает данные свойства.
Возвращаемое значение
В случае успешного выполнения возвращает ERROR_SUCCESS. В противном случае эта функция возвращает один из следующих кодов возврата в дополнение к другим.
Код возврата | Описание |
---|---|
|
Схема для события не найдена или указанное свойство не найдено. |
|
Буфер pBuffer слишком мал. Чтобы получить необходимый размер буфера, вызовите TdhGetPropertySize. |
|
Один или несколько параметров являются недопустимыми. |
|
Атрибут resourceFileName в манифесте содержит расположение двоичного файла поставщика. При регистрации манифеста расположение записывается в реестр. TDH не удалось найти двоичный файл на основе зарегистрированного расположения. |
|
Служба WMI недоступна. |
Комментарии
Если событие является событием WPP или классическим событием ETW, можно указать контекстные сведения, которые используются для анализа сведений о событии. Событие является событием WPP, если флаг EVENT_HEADER_FLAG_TRACE_MESSAGE установлен в элементе FlagsEVENT_HEADER (см. элемент EventHeaderEVENT_RECORD). Событие является устаревшим событием трассировки событий Windows, если установлен флаг EVENT_HEADER_FLAG_CLASSIC_HEADER.
Список свойств для событий WPP и их типов данных см. в разделе PROPERTY_DATA_DESCRIPTOR.
Примеры
Пример вызова этой функции для получения значения свойства верхнего уровня или элемента структуры см. в разделе Использование TdhGetProperty для использования данных события.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | tdh.h |
Библиотека | Tdh.lib |
DLL | Tdh.dll |