Функция EvtRender (winevt.h)
Отрисовывает фрагмент XML на основе указанного контекста отрисовки.
Синтаксис
BOOL EvtRender(
[in] EVT_HANDLE Context,
[in] EVT_HANDLE Fragment,
[in] DWORD Flags,
[in] DWORD BufferSize,
[in] PVOID Buffer,
[out] PDWORD BufferUsed,
[out] PDWORD PropertyCount
);
Параметры
[in] Context
Дескриптор контекста отрисовки, возвращаемого функцией EvtCreateRenderContext . Этот параметр должен иметь значение NULL , если параметр Flags имеет значение EvtRenderEventXml или EvtRenderBookmark.
[in] Fragment
Дескриптор события или закладки. Задайте для этого параметра дескриптор закладки, если параметр Flags имеет значение EvtRenderBookmark; в противном случае задайте для дескриптора события.
[in] Flags
Флаг, определяющий, что нужно отобразить. Например, все событие или определенные свойства события. Возможные значения см. в перечислении EVT_RENDER_FLAGS .
[in] BufferSize
Размер буфера буфера в байтах.
[in] Buffer
Буфер, выделенный вызывающим объектом, который получит отображаемые выходные данные. Если для параметра Flags задано значение EvtRenderEventXml или EvtRenderBookmark, содержимое является строкой Юникода, заканчивающейся null. В противном случае, если параметру Flags присвоено значение EvtRenderEventValues, буфер содержит массив EVT_VARIANT структур; по одному для каждого свойства, заданного контекстом отрисовки. Параметр PropertyCount содержит количество элементов в массиве.
Для этого параметра можно задать значение NULL , чтобы определить требуемый размер буфера.
[out] BufferUsed
Размер (в байтах) буфера, выделенного вызывающим объектом, используемого функцией, или требуемый размер буфера, если функция завершается сбоем с ERROR_INSUFFICIENT_BUFFER.
[out] PropertyCount
Число свойств в параметре Buffer , если параметру Flags присвоено значение EvtRenderEventValues; в противном случае — ноль.
Возвращаемое значение
Возвращаемый код или значение | Описание |
---|---|
|
Функция выполнена успешно. |
|
Сбой функции. Вызовите функцию GetLastError , чтобы получить код ошибки. |
Комментарии
Существует связь "один к одному" между массивом выражений XPath, указанным при вызове функции EvtCreateRenderContext , и массивом значений, возвращаемых в буфере.
При использовании EVT_HANDLE из этой функции в функции EvtRender список значений, возвращаемых этой функцией, состоит из массива EVT_VARIANT структур, каждое из которых соответствует точно одному из выражений XPATH в исходном массиве параметров ValuePaths в порядке внешнего вида. Каждая такая структура EVT_VARIANT содержит значение, определяемое соответствующим выражением XPATH для отображаемого события. Если значение не найдено, структура EVT_VARIANT содержит значение NULL. При наличии нескольких значений структура EVT_VARIANT будет содержать первое обнаруженное значение.
Будьте внимательны при сравнении чисел с плавающей запятой в запросах XPath. Любое строковое представление числа с плавающей запятой является приблизительным, поэтому значение, отображаемое в XML, может не совпадать с числом, хранящимся в событии. Числа с плавающей запятой следует сравнивать как меньше или больше константы.
Примеры
Пример использования этой функции см. в разделах События отрисовки и События закладки.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | winevt.h |
Библиотека | Wevtapi.lib |
DLL | Wevtapi.dll |