TdhGetPropertySize 関数 (tdh.h)

イベント データ内の 1 つ以上のプロパティ値のサイズを取得します。

構文

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 または従来の ETW イベントのみのコンテキスト値の配列。それ以外の場合は NULL。 詳細については、TDH_CONTEXT構造に 関するページを 参照してください。 配列に重複するコンテキスト型を含めてはなりません。

[in] PropertyDataCount

pPropertyData 内のデータ記述子構造体の数。

[in] pPropertyData

サイズ を取得する プロパティを定義するPROPERTY_DATA_DESCRIPTOR構造体の配列。

この同じ配列を TdhGetProperty 関数に渡して、プロパティ データを取得できます。

構造体のメンバーではないプロパティのサイズを取得する場合は、1 つのデータ記述子を指定できます。 構造体のメンバーであるプロパティのサイズを取得する場合は、2 つのデータ記述子の配列を指定します (構造体に他の構造体を含めたり参照したりすることはできません)。 このパラメーターの指定の詳細については、以下のコード例を参照してください。

[out] pPropertySize

プロパティのサイズ (バイト単位)。 TdhGetProperty 関数の pBuffer パラメーターで渡されるバッファーを割り当てるには、この値を使用します。

戻り値

成功した場合はERROR_SUCCESSを返します。 それ以外の場合、この関数は、他のリターン コードに加えて、次のいずれかのリターン コードを返します。

リターン コード 説明
ERROR_NOT_FOUND
イベントのスキーマが見つからないか、指定されたマップが見つかりませんでした。

MOF クラスを使用してイベントを定義した場合、TDH は WMI リポジトリ内のスキーマを検索します。 マニフェストを使用してイベントを定義した場合、TDH はプロバイダーのリソースを検索します。 マニフェストを使用する場合、provider 要素の resourceFileName 属性は、TDH がリソースを検索する場所を定義します。

ERROR_INVALID_PARAMETER
1 つ以上のパラメーターが無効です。
ERROR_FILE_NOT_FOUND
マニフェストの resourceFileName 属性には、プロバイダー バイナリの場所が含まれています。 マニフェストを登録すると、場所がレジストリに書き込まれます。 TDH は、登録された場所に基づいてバイナリを見つけることができませんでした。
ERROR_WMI_SERVER_UNAVAILABLE
WMI サービスは使用できません。

注釈

イベントが WPP またはクラシック ETW イベントの場合は、イベント情報の解析に使用されるコンテキスト情報を指定できます。 EVENT_HEADER_FLAG_TRACE_MESSAGE フラグが EVENT_HEADER の Flags メンバーに設定されている場合、このイベントは WPP イベントです (EVENT_RECORDEventHeader メンバーを参照)。 EVENT_HEADER_FLAG_CLASSIC_HEADER フラグが設定されている場合、イベントはレガシ ETW イベントです。

この関数を呼び出す方法を示す例については、「 TdhGetProperty を使用したイベント データの使用」を参照してください。

要件

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

こちらもご覧ください

TdhGetProperty