Funzione WmiTraceMessage (wdm.h)
La routine WmiTraceMessage aggiunge un messaggio al log di output di una sessione di traccia software WPP .
Sintassi
NTSTATUS WmiTraceMessage(
[in] TRACELOGGER_HANDLE LoggerHandle,
[in] ULONG MessageFlags,
[in] LPCGUID MessageGuid,
[in] USHORT MessageNumber,
...
);
Parametri
[in] LoggerHandle
Specifica un handle di traccia per una sessione di traccia software.
[in] MessageFlags
Specifica un OR bit per bit di uno o più flag di messaggio. Vedere la sezione Osservazioni per informazioni dettagliate.
[in] MessageGuid
Specifica un GUID che identifica la classe di messaggi di traccia software.
[in] MessageNumber
Identifica il sottotipo di messaggio. Il significato dei sottotipi è specifico della classe di traccia software e del provider.
[in] ...
Fornisce un elenco obbligatorio di parametri del messaggio che specificano un set di parti del messaggio. I parametri sono organizzati come una sequenza di coppie di parametri, in cui ogni coppia specifica una parte del messaggio completo. Ogni coppia di parametri è costituita da un puntatore PVOID ai dati, seguito immediatamente da un valore ULONG che specifica la lunghezza dei dati. L'elenco di parametri deve essere terminato da un puntatore PVOID NULL seguito da un ULONG(0).
Valore restituito
WmiTraceMessage restituisce uno dei valori seguenti:
Codice restituito | Descrizione |
---|---|
|
Operazione riuscita. |
|
LoggerHandle non è un handle di traccia software valido. |
|
Memoria buffer insufficiente per registrare il messaggio. Vedere la sezione relativa alle osservazioni. |
|
An internal error occurred. |
Commenti
Un chiamante può usare WmiTraceMessage o WmiTraceMessageVa per aggiungere un messaggio al log di output di una sessione di traccia software WPP. WmiTraceMessage semplifica il codice di un chiamante gestendo il meccanismo dell'elenco di variabili prima di chiamare WmiTraceMessageVa.
Un chiamante può impostare i flag di messaggio seguenti:
Flag | Descrizione |
---|---|
TRACE_MESSAGE_SEQUENCE | Includere un numero di sequenza nel messaggio. La sequenziazione dei messaggi può essere usata solo se è impostata per la sessione di traccia software specificata da LoggerHandle. |
TRACE_MESSAGE_GUID | MessageGuid specifica un GUID che identifica una classe di traccia software. Questo flag deve essere impostato. |
TRACE_MESSAGE_TIMESTAMP | Includere un timestamp nel messaggio. |
TRACE_MESSAGE_PERFORMANCE_TIMESTAMP | Questo flag non è implementato ed è obsoleto. Non deve essere utilizzata. |
TRACE_MESSAGE_SYSTEMINFO | Includere l'identificatore del thread (TID) e l'identificatore di processo (PID) nel messaggio. |
Un messaggio non verrà registrato se una delle condizioni seguenti è vera:
- Le dimensioni totali, in byte, dei dati del messaggio e dell'intestazione del messaggio sono maggiori delle dimensioni dei singoli buffer dei messaggi allocati per una sessione di traccia software. La dimensione massima dell'intestazione del messaggio è di 48 byte.
- Tutti i buffer dei messaggi allocati alla sessione di traccia software sono pieni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows XP e versioni successive di Windows. |
Piattaforma di destinazione | Universale |
Intestazione | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Vedere la sezione Osservazioni. |