TdhGetProperty-Funktion (tdh.h)

Ruft einen Eigenschaftswert aus den Ereignisdaten ab.

Syntax

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
);

Parameter

[in] pEvent

Der An Ihren EventRecordCallback-Rückruf übergebene Ereignisdatensatz. Ausführliche Informationen finden Sie in der EVENT_RECORD-Struktur .

[in] TdhContextCount

Anzahl der Elemente in pTdhContext.

[in] pTdhContext

Array von Kontextwerten nur für WPP- oder klassische ETW-Ereignisse; andernfalls NULL. Ausführliche Informationen finden Sie in der TDH_CONTEXT-Struktur . Das Array darf keine doppelten Kontexttypen enthalten.

[in] PropertyDataCount

Anzahl der Datendeskriptorstrukturen in pPropertyData.

[in] pPropertyData

Array von PROPERTY_DATA_DESCRIPTOR Strukturen, die die abzurufende Eigenschaft definieren.

Wenn Sie die TdhGetPropertySize-Funktion aufgerufen haben, um die erforderliche Puffergröße für die Eigenschaft abzurufen, können Sie dieselben Datendeskriptoren verwenden.

Wenn Sie eine Eigenschaft abrufen, die kein Element einer Struktur ist, können Sie einen einzelnen Datendeskriptor angeben. Wenn Sie eine Eigenschaft abrufen, die ein Element einer Struktur ist, geben Sie ein Array aus zwei Datendeskriptoren an (Strukturen können keine anderen Strukturen enthalten oder darauf verweisen).

[in] BufferSize

Größe des pBuffer-Puffers in Bytes. Sie können diesen Wert aus dem pPropertySize-Parameter abrufen, wenn Sie die TdhGetPropertySize-Funktion aufrufen.

[out] pBuffer

Vom Benutzer zugewiesener Puffer, der die Eigenschaftendaten empfängt.

Rückgabewert

Gibt bei erfolgreicher Ausführung ERROR_SUCCESS zurück. Andernfalls gibt diese Funktion zusätzlich zu anderen einen der folgenden Rückgabecodes zurück.

Rückgabecode Beschreibung
ERROR_NOT_FOUND
Das Schema für das Ereignis wurde nicht gefunden, oder die angegebene Eigenschaft wurde nicht gefunden.
ERROR_INSUFFICIENT_BUFFER
Der pBuffer-Puffer ist zu klein. Um die erforderliche Puffergröße abzurufen, rufen Sie TdhGetPropertySize auf.
ERROR_INVALID_PARAMETER
Mindestens ein Parameter ist ungültig.
ERROR_FILE_NOT_FOUND
Das resourceFileName-Attribut im Manifest enthält den Speicherort der Anbieterbinärdatei. Wenn Sie das Manifest registrieren, wird der Speicherort in die Registrierung geschrieben. TDH konnte die Binärdatei nicht basierend auf dem registrierten Speicherort finden.
ERROR_WMI_SERVER_UNAVAILABLE
Der WMI-Dienst ist nicht verfügbar.

Hinweise

Wenn es sich bei dem Ereignis um ein WPP- oder klassisches ETW-Ereignis handelt, können Sie Kontextinformationen angeben, die zur Analyse der Ereignisinformationen verwendet werden. Das Ereignis ist ein WPP-Ereignis, wenn das EVENT_HEADER_FLAG_TRACE_MESSAGE-Flag im Flags-Element von EVENT_HEADER festgelegt ist (siehe EventHeader-Member von EVENT_RECORD). Das Ereignis ist ein ÄLTERES ETW-Ereignis, wenn das flag EVENT_HEADER_FLAG_CLASSIC_HEADER festgelegt ist.

Eine Liste der Eigenschaften für WPP-Ereignisse und deren Datentypen finden Sie unter PROPERTY_DATA_DESCRIPTOR.

Beispiele

Ein Beispiel, das zeigt, wie Sie diese Funktion aufrufen, um den Wert einer Eigenschaft der obersten Ebene oder des Members einer Struktur abzurufen, finden Sie unter Using TdhGetProperty to Consume Event Data.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile tdh.h
Bibliothek Tdh.lib
DLL Tdh.dll

Weitere Informationen

TdhGetEventInformation

TdhGetPropertySize