TdhGetPropertySize-Funktion (tdh.h)

Ruft die Größe eines oder mehrerer Eigenschaftswerte in den Ereignisdaten ab.

Syntax

TDHSTATUS TdhGetPropertySize(
  [in]  PEVENT_RECORD             pEvent,
  [in]  ULONG                     TdhContextCount,
  [in]  PTDH_CONTEXT              pTdhContext,
  [in]  ULONG                     PropertyDataCount,
  [in]  PPROPERTY_DATA_DESCRIPTOR pPropertyData,
  [out] ULONG                     *pPropertySize
);

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 Eigenschaft definieren, deren Größe Sie abrufen möchten.

Sie können dasselbe Array an die TdhGetProperty-Funktion übergeben, um die Eigenschaftendaten abzurufen.

Wenn Sie die Größe einer Eigenschaft abrufen, die kein Element einer Struktur ist, können Sie einen einzelnen Datendeskriptor angeben. Wenn Sie die Größe einer 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). Weitere Informationen zum Angeben dieses Parameters finden Sie im folgenden Beispielcode.

[out] pPropertySize

Größe der Eigenschaft in Bytes. Verwenden Sie diesen Wert, um den Puffer zuzuweisen, der im pBuffer-Parameter der TdhGetProperty-Funktion übergeben wird.

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 Zuordnung wurde nicht gefunden.

Wenn Sie zum Definieren Ihres Ereignisses eine MOF-Klasse verwendet haben, sucht TDH im WMI-Repository nach dem Schema. Wenn Sie ein Manifest zum Definieren Ihres Ereignisses verwendet haben, sucht TDH die Ressourcen des Anbieters. Wenn Sie ein Manifest verwenden, definiert das resourceFileName-Attribut des Anbieterelements den Speicherort, an dem TDH erwartet, dass die Ressourcen gefunden werden.

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.

Beispiele

Ein Beispiel zum Aufrufen dieser Funktion finden Sie unter Verwenden von TdhGetProperty zum Nutzen von Ereignisdaten.

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

TdhGetProperty