Share via


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 関数が返すレンダリング コンテキストへのハンドル。 Flags パラメーターが EvtRenderEventXml または EvtRenderBookmark に設定されている場合は、このパラメーターを NULL に設定する必要があります。

[in] Fragment

イベントまたはブックマークへのハンドル。 Flags パラメーターが EvtRenderBookmark に設定されている場合は、このパラメーターをブックマーク ハンドルに設定します。それ以外の場合は、イベント ハンドルに設定します。

[in] Flags

レンダリングする内容を識別するフラグ。 たとえば、イベント全体、またはイベントの特定のプロパティなどです。 使用できる値については、 EVT_RENDER_FLAGS 列挙を参照してください。

[in] BufferSize

バッファー バッファーのサイズ (バイト単位)。

[in] Buffer

レンダリングされた出力を受け取る呼び出し元によって割り当てられたバッファー。 Flags パラメーターが EvtRenderEventXml または EvtRenderBookmark に設定されている場合、内容は null で終わる Unicode 文字列です。 それ以外の場合、 Flags が EvtRenderEventValues に設定されている場合、バッファーには EVT_VARIANT 構造体の配列が含まれます。レンダリング コンテキストで指定されたプロパティごとに 1 つ。 PropertyCount パラメーターには、配列内の要素の数が含まれています。

このパラメーターを NULL に設定して、必要なバッファー サイズを決定できます。

[out] BufferUsed

関数が使用した呼び出し元によって割り当てられたバッファーのサイズ (バイト単位)、または関数が ERROR_INSUFFICIENT_BUFFER で失敗した場合は必要なバッファー サイズ。

[out] PropertyCount

Flags パラメーターが EvtRenderEventValues に設定されている場合の Buffer パラメーターのプロパティの数。それ以外の場合は 0。

戻り値

リターン コード/値 説明
TRUE
関数が正常に実行されました。
FALSE
関数が失敗しました。 GetLastError 関数を呼び出して、エラー コードを取得します。

注釈

EvtCreateRenderContext 関数を呼び出したときに指定した XPath 式の配列と、バッファーで返される値の配列の間には、一対一のリレーションシップがあります。

この関数のEVT_HANDLE を EvtRender 関数で使用すると、その関数によって返される値の一覧は 、EVT_VARIANT 構造体の配列で構成され、それぞれが外観順に元の ValuePaths パラメーター配列の XPATH 式のいずれかに対応します。 このような 各EVT_VARIANT 構造体には、レンダリングされるイベントの対応する XPATH 式によって識別される値が含まれます。 値が見つからない場合、 EVT_VARIANT 構造体には NULL が含まれます。 複数の値が存在する場合、 EVT_VARIANT 構造体には最初に検出された値が含まれます。

XPath クエリで浮動小数点数を比較するときは注意してください。 浮動小数点数の文字列表現は近似されるため、XML で表示される値が イベントに格納されている数値と一致しない可能性があります。 浮動小数点数は、定数より小さいか、より大きいと比較する必要があります。

この関数の使用方法を示す例については、「イベントの レンダリング 」と 「イベントのブックマーク」を参照してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winevt.h
Library Wevtapi.lib
[DLL] Wevtapi.dll

こちらもご覧ください

EvtCreateRenderContext