Condividi tramite


Funzione TdhGetProperty (tdh.h)

Recupera un valore della proprietà dai dati dell'evento.

Sintassi

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

Parametri

[in] pEvent

Record di evento passato al callback EventRecordCallback . Per informazioni dettagliate, vedere la struttura EVENT_RECORD .

[in] TdhContextCount

Numero di elementi in pTdhContext.

[in] pTdhContext

Matrice di valori di contesto solo per gli eventi WPP o ETW classici; in caso contrario, NULL. Per informazioni dettagliate, vedere la struttura TDH_CONTEXT . La matrice non deve contenere tipi di contesto duplicati.

[in] PropertyDataCount

Numero di strutture descrittori dati in pPropertyData.

[in] pPropertyData

Matrice di strutture PROPERTY_DATA_DESCRIPTOR che definisce la proprietà da recuperare.

Se si chiama la funzione TdhGetPropertySize per recuperare le dimensioni del buffer necessarie per la proprietà, è possibile usare gli stessi descrittori di dati.

Se si recupera una proprietà che non è un membro di una struttura, è possibile specificare un singolo descrittore di dati. Se si recupera una proprietà membro di una struttura, specificare una matrice di due descrittori di dati (le strutture non possono contenere o fare riferimento ad altre strutture).

[in] BufferSize

Dimensioni del buffer pBuffer , in byte. È possibile ottenere questo valore dal parametro pPropertySize quando si chiama la funzione TdhGetPropertySize .

[out] pBuffer

Buffer allocato dall'utente che riceve i dati delle proprietà.

Valore restituito

Restituisce ERROR_SUCCESS se riuscito. In caso contrario, questa funzione restituisce uno dei codici restituiti seguenti oltre ad altri.

Codice restituito Descrizione
ERROR_NOT_FOUND
Lo schema per l'evento non è stato trovato o la proprietà specificata non è stata trovata.
ERROR_INSUFFICIENT_BUFFER
Il buffer pBuffer è troppo piccolo. Per ottenere le dimensioni del buffer necessarie, chiamare TdhGetPropertySize.
ERROR_INVALID_PARAMETER
Uno o più parametri non sono validi.
ERROR_FILE_NOT_FOUND
L'attributo resourceFileName nel manifesto contiene il percorso del file binario del provider. Quando si registra il manifesto, il percorso viene scritto nel Registro di sistema. TDH non è riuscito a trovare il file binario in base alla posizione registrata.
ERROR_WMI_SERVER_UNAVAILABLE
Il servizio WMI non è disponibile.

Commenti

Se l'evento è un evento WPP o ETW classico, è possibile specificare le informazioni di contesto usate per analizzare le informazioni sull'evento. L'evento è un evento WPP se il flag di EVENT_HEADER_FLAG_TRACE_MESSAGE è impostato nel membro Flags di EVENT_HEADER (vedere il membro EventHeader di EVENT_RECORD). L'evento è un evento ETW legacy se il flag di EVENT_HEADER_FLAG_CLASSIC_HEADER è impostato.

Per un elenco di proprietà per gli eventi WPP e i relativi tipi di dati, vedere PROPERTY_DATA_DESCRIPTOR.

Esempio

Per un esempio che illustra come chiamare questa funzione per recuperare il valore di una proprietà di primo livello o il membro di una struttura, vedere Uso di TdhGetProperty per l'utilizzo dei dati dell'evento.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione tdh.h
Libreria Tdh.lib
DLL Tdh.dll

Vedi anche

TdhGetEventInformation

TdhGetPropertySize