WmiTraceMessageVa-Funktion (wdm.h)

Die WmiTraceMessageVa-Routine fügt dem Ausgabeprotokoll einer WPP-Softwareablaufverfolgungssitzung eine Nachricht hinzu.

Syntax

NTSTATUS WmiTraceMessageVa(
  [in] TRACEHANDLE 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
STATUS_SUCCESS
Der Vorgang wurde erfolgreich abgeschlossen.
STATUS_INVALID_HANDLE
LoggerHandle ist kein gültiges Softwareablaufverfolgungshandle.
STATUS_NO_MEMORY
Es ist nicht genügend Pufferspeicher vorhanden, um die Nachricht zu protokollieren. Weitere Informationen finden Sie im Abschnitt Hinweise.
Anderer NTSTATUS-Wert
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.
WmiTraceMessageVa wird am IRQL des Aufrufers ausgeführt.

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.

Weitere Informationen

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiQueryTraceInformation

WmiTraceMessage