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 或傳統 ETW 事件的內容值陣列,否則為 NULL。 如需詳細資訊,請參閱 TDH_CONTEXT 結構。 陣列不得包含重複的內容類型。

[in] PropertyDataCount

pPropertyData 中的數據描述項結構數目。

[in] pPropertyData

定義您要擷取其大小之屬性的 PROPERTY_DATA_DESCRIPTOR 結構陣列。

您可以將這個相同的陣列傳遞至 TdhGetProperty 函式 ,以擷取屬性數據。

如果您要擷取不是結構成員的屬性大小,您可以指定單一數據描述元。 如果您要擷取屬於結構成員的屬性大小,請指定兩個數據描述元的數位, (結構不能包含或參考其他結構) 。 如需指定此參數的詳細資訊,請參閱下面的範例程序代碼。

[out] pPropertySize

屬性的大小,以位元組為單位。 使用此值來配置在 TdhGetProperty 函式的 pBuffer 參數中傳遞的緩衝區。

傳回值

如果成功,則傳回ERROR_SUCCESS。 否則,除了其他傳回碼之外,此函式還會傳回下列其中一個傳回碼。

傳回碼 Description
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 事件,您可以指定用來協助剖析事件資訊的內容資訊。 如果EVENT_HEADER_FLAG_TRACE_MESSAGE旗標是在 EVENT_HEADERFlags 成員中設定,則事件是 WPP 事件, (請參閱 EVENT_RECORD) EventHeader 成員。 如果已設定EVENT_HEADER_FLAG_CLASSIC_HEADER旗標,則事件是舊版 ETW 事件。

範例

如需示範如何呼叫此函式的範例,請參閱 使用 TdhGetProperty 取用事件數據

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 tdh.h
程式庫 Tdh.lib
Dll Tdh.dll

另請參閱

TdhGetProperty