WmiTraceMessageVa-Funktion (wdm.h)
Die WmiTraceMessageVa-Routine fügt dem Ausgabeprotokoll einer WPP-Softwareablaufverfolgungssitzung eine Nachricht hinzu.
Syntax
NTSTATUS WmiTraceMessageVa(
[in] TRACELOGGER_HANDLE LoggerHandle,
[in] ULONG MessageFlags,
[in] LPCGUID MessageGuid,
[in] USHORT MessageNumber,
[in] va_list MessageArgList
);
Parameter
[in] LoggerHandle
Gibt einen Ablaufverfolgungshandle für eine Softwareablaufverfolgungssitzung an.
[in] MessageFlags
Gibt ein bitweises OR mit mindestens einem Nachrichtenflag an. Weitere Informationen finden Sie im Abschnitt Hinweise.
[in] MessageGuid
Gibt eine GUID an, die eine Softwareablaufverfolgungsklasse identifiziert.
[in] MessageNumber
Gibt den Nachrichtenuntertyp an. Die Bedeutung von Untertypen ist spezifisch für die Softwareablaufverfolgungsklasse und den Anbieter.
[in] MessageArgList
Stellt eine erforderliche Liste von Nachrichtenparametern bereit, die eine Reihe von Nachrichtenteilen angeben. Die Parameter sind als Sequenz von Parameterpaaren organisiert, wobei jedes Paar einen Teil der vollständigen Nachricht angibt. Jedes Parameterpaar besteht aus einem PVOID-Zeiger auf Daten, gefolgt von einem ULONG-Wert, der die Länge der Daten angibt. Die Parameterliste muss durch einen NULL-PVOID-Zeiger gefolgt von einem ULONG(0) beendet werden.
Rückgabewert
WmiTraceMessageVa gibt einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
LoggerHandle ist kein gültiges Softwareablaufverfolgungshandle. |
|
Es ist nicht genügend Pufferspeicher vorhanden, um die Nachricht zu protokollieren. Weitere Informationen finden Sie im Abschnitt Hinweise. |
|
Interner Fehler. |
Hinweise
Ein Aufrufer kann WmiTraceMessage oder WmiTraceMessageVa verwenden, um dem Ausgabeprotokoll einer WPP-Softwareablaufverfolgungssitzung eine Nachricht hinzuzufügen. WmiTraceMessage vereinfacht den Code eines Aufrufers, indem der Variablenlistenmechanismus vor dem Aufruf von WmiTraceMessageVa verarbeitet wird.
Ein Aufrufer kann die folgenden Meldungsflags festlegen:
Flag | Beschreibung |
---|---|
TRACE_MESSAGE_SEQUENCE | Fügen Sie eine Sequenznummer in die Nachricht ein. Die Nachrichtensequenzierung kann nur verwendet werden, wenn sie für die von LoggerHandle angegebene Softwareablaufverfolgungssitzung aktiviert ist. |
TRACE_MESSAGE_GUID | MessageGuid gibt eine GUID an, die eine Softwareablaufverfolgungsklasse identifiziert. Dieses Flag muss festgelegt werden. |
TRACE_MESSAGE_TIMESTAMP | Fügen Sie einen Zeitstempel in die Nachricht ein. |
TRACE_MESSAGE_PERFORMANCE_TIMESTAMP | Dieses Flag ist nicht implementiert und veraltet. Es darf nicht verwendet werden. |
TRACE_MESSAGE_SYSTEMINFO | Schließen Sie den Threadbezeichner (TID) und den Prozessbezeichner (PID) in die Nachricht ein. |
WmiTraceMessageVa protokolliert die Nachricht nicht, wenn eine der folgenden Punkte zutrifft:
- Die Gesamtgröße der Nachrichtendaten und des Nachrichtenheaders in Bytes ist größer als die Größe einzelner Nachrichtenpuffer, die für eine Softwareablaufverfolgungssitzung zugewiesen sind. (Die maximale Größe des Nachrichtenheaders beträgt 48 Bytes.)
- Alle Nachrichtenpuffer, die der Softwareablaufverfolgungssitzung zugeordnet sind, sind voll.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows XP und höheren Versionen von Windows. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. |