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 |
---|---|
|
Lo schema per l'evento non è stato trovato o la proprietà specificata non è stata trovata. |
|
Il buffer pBuffer è troppo piccolo. Per ottenere le dimensioni del buffer necessarie, chiamare TdhGetPropertySize. |
|
Uno o più parametri non sono validi. |
|
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. |
|
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 |