Функция TdhGetPropertySize (tdh.h)

Извлекает размер одного или нескольких значений свойств в данных события.

Синтаксис

TDHSTATUS TdhGetPropertySize(
  [in]  PEVENT_RECORD             pEvent,
  [in]  ULONG                     TdhContextCount,
  [in]  PTDH_CONTEXT              pTdhContext,
  [in]  ULONG                     PropertyDataCount,
  [in]  PPROPERTY_DATA_DESCRIPTOR pPropertyData,
  [out] ULONG                     *pPropertySize
);

Параметры

[in] pEvent

Запись события, переданная обратному вызову EventRecordCallback . Дополнительные сведения см. в разделе структура EVENT_RECORD .

[in] TdhContextCount

Количество элементов в pTdhContext.

[in] pTdhContext

Массив значений контекста только для событий WPP или классической трассировки событий Windows; в противном случае — значение NULL. Дополнительные сведения см. в разделе структура TDH_CONTEXT . Массив не должен содержать повторяющиеся типы контекста.

[in] PropertyDataCount

Количество структур дескриптора данных в pPropertyData.

[in] pPropertyData

Массив PROPERTY_DATA_DESCRIPTOR структур, определяющих свойство, размер которого требуется извлечь.

Этот же массив можно передать в функцию TdhGetProperty для получения данных свойства.

При получении размера свойства, не являющегося членом структуры, можно указать один дескриптор данных. При получении размера свойства, являющегося членом структуры, укажите массив из двух дескрипторов данных (структуры не могут содержать другие структуры или ссылаться на них). Дополнительные сведения об указании этого параметра см. в примере кода ниже.

[out] pPropertySize

Размер свойства в байтах. Используйте это значение для выделения буфера, переданного в параметре pBuffer функции TdhGetProperty .

Возвращаемое значение

В случае успешного выполнения возвращает ERROR_SUCCESS. В противном случае эта функция возвращает один из следующих кодов возврата в дополнение к другим.

Код возврата Описание
ERROR_NOT_FOUND
Схема для события не найдена или указанная карта не найдена.

Если для определения события использовался mof-класс, TDH ищет схему в репозитории WMI. Если вы использовали манифест для определения события, TDH будет выполнять поиск в ресурсах поставщика. При использовании манифеста атрибут resourceFileName элемента поставщика определяет расположение, в котором TDH ожидает найти ресурсы.

ERROR_INVALID_PARAMETER
Один или несколько параметров являются недопустимыми.
ERROR_FILE_NOT_FOUND
Атрибут resourceFileName в манифесте содержит расположение двоичного файла поставщика. При регистрации манифеста расположение записывается в реестр. TDH не удалось найти двоичный файл на основе зарегистрированного расположения.
ERROR_WMI_SERVER_UNAVAILABLE
Служба WMI недоступна.

Комментарии

Если событие является событием WPP или классическим событием ETW, можно указать контекстные сведения, которые используются для анализа сведений о событии. Событие является событием WPP, если флаг EVENT_HEADER_FLAG_TRACE_MESSAGE установлен в элементе FlagsEVENT_HEADER (см. элемент EventHeaderEVENT_RECORD). Событие является устаревшим событием трассировки событий Windows, если установлен флаг EVENT_HEADER_FLAG_CLASSIC_HEADER.

Примеры

Пример вызова этой функции см. в разделе Использование TdhGetProperty для использования данных событий.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header tdh.h
Библиотека Tdh.lib
DLL Tdh.dll

См. также раздел

TdhGetProperty