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 または従来の ETW イベントのみのコンテキスト値の配列。それ以外の場合は NULL。 詳細については、TDH_CONTEXT構造に 関するページを 参照してください。 配列に重複するコンテキスト型を含めてはなりません。
[in] PropertyDataCount
pPropertyData 内のデータ記述子構造体の数。
[in] pPropertyData
取得 するプロパティを 定義するPROPERTY_DATA_DESCRIPTOR構造体の配列。
プロパティに必要なバッファー サイズを取得するために TdhGetPropertySize 関数を呼び出した場合は、同じデータ記述子を使用できます。
構造体のメンバーではないプロパティを取得する場合は、1 つのデータ記述子を指定できます。 構造体のメンバーであるプロパティを取得する場合は、2 つのデータ記述子の配列を指定します (構造体に他の構造体を含めたり参照したりすることはできません)。
[in] BufferSize
pBuffer バッファーのサイズ (バイト単位)。 この値は、 TdhGetPropertySize 関数を呼び出すときに pPropertySize パラメーターから取得できます。
[out] pBuffer
プロパティ データを受け取るユーザー割り当てバッファー。
戻り値
成功した場合はERROR_SUCCESSを返します。 それ以外の場合、この関数は、他のリターン コードに加えて、次のいずれかのリターン コードを返します。
リターン コード | 説明 |
---|---|
|
イベントのスキーマが見つからないか、指定されたプロパティが見つかりませんでした。 |
|
pBuffer バッファーが小さすぎます。 必要なバッファー サイズを取得するには、 TdhGetPropertySize を呼び出します。 |
|
1 つ以上のパラメーターが無効です。 |
|
マニフェストの resourceFileName 属性には、プロバイダー バイナリの場所が含まれています。 マニフェストを登録すると、場所がレジストリに書き込まれます。 TDH は、登録された場所に基づいてバイナリを見つけることができませんでした。 |
|
WMI サービスは使用できません。 |
注釈
イベントが WPP またはクラシック ETW イベントの場合は、イベント情報の解析に使用されるコンテキスト情報を指定できます。 EVENT_HEADER_FLAG_TRACE_MESSAGE フラグが EVENT_HEADER の Flags メンバーに設定されている場合、このイベントは WPP イベントです (EVENT_RECORD の EventHeader メンバーを参照)。 EVENT_HEADER_FLAG_CLASSIC_HEADER フラグが設定されている場合、イベントはレガシ ETW イベントです。
WPP イベントとそのデータ型のプロパティの一覧については、「 PROPERTY_DATA_DESCRIPTOR」を参照してください。
例
この関数を呼び出して最上位のプロパティまたは構造体のメンバーの値を取得する方法を示す例については、「 TdhGetProperty を使用してイベント データを使用する」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | tdh.h |
Library | Tdh.lib |
[DLL] | Tdh.dll |