Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
);
Die Parameter
[in] LoggerHandle
Gibt ein Ablaufverfolgungshandle für eine Softwareablaufverfolgungssitzung an.
[in] MessageFlags
Gibt ein bitweises OR einer oder mehrerer Nachrichtenkennzeichnungen an. Ausführliche Informationen finden Sie im Abschnitt "Hinweise".
[in] MessageGuid
Gibt eine GUID an, die eine Softwareablaufverfolgungsklasse identifiziert.
[in] MessageNumber
Identifiziert den Nachrichtenuntertyp. Die Bedeutung von Untertypen ist spezifisch für die Softwareablaufverfolgungsklasse und den Anbieter.
[in] MessageArgList
Stellt eine erforderliche Liste von Nachrichtenparametern bereit, die einen Satz von Nachrichtenteilen angeben. Die Parameter werden 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 von einem NULL PVOID-Zeiger gefolgt von einem ULONG(0) beendet werden.
Rückgabewert
WmiTraceMessageVa gibt einen der folgenden Werte zurück:
| Rückgabecode | Description |
|---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
LoggerHandle ist kein gültiger Softwareablaufverfolgungshandle. |
|
Es ist nicht genügend Pufferspeicher vorhanden, um die Nachricht zu protokollieren. Weitere Informationen finden Sie im Abschnitt "Hinweise". |
|
Ein interner Fehler ist aufgetreten. |
Bemerkungen
Ein Aufrufer kann WmiTraceMessage oder WmiTraceMessageVa verwenden, um dem Ausgabeprotokoll einer WPP-Softwareablaufverfolgungssitzung eine Nachricht hinzuzufügen. WmiTraceMessage vereinfacht den Code eines Aufrufers, indem er den Variablenlistenmechanismus vor dem Aufrufen von WmiTraceMessageVa verarbeitet.
Ein Aufrufer kann die folgenden Nachrichtenkennzeichnungen festlegen:
| Flag | Description |
|---|---|
| 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 Kennzeichen 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. Sie darf nicht verwendet werden. |
| TRACE_MESSAGE_SYSTEMINFO | Fügen Sie den Threadbezeichner (TID) und den Prozessbezeichner (Process Identifier, PID) in die Nachricht ein. |
WmiTraceMessageVa protokolliert die Nachricht nicht, wenn eine der folgenden Werte zutrifft:
- Die Gesamtgröße der Nachrichtendaten und der Nachrichtenkopf in Bytes ist größer als die Größe einzelner Nachrichtenpuffer, die einer Softwareablaufverfolgungssitzung zugeordnet sind. (Die maximale Nachrichtenkopfgröße beträgt 48 Bytes.)
- Alle Nachrichtenpuffer, die der Softwareablaufverfolgungssitzung zugeordnet sind, sind voll.
Anforderungen
| Anforderung | Wert |
|---|---|
| Mindestens unterstützter Client | Verfügbar in Windows XP und höheren Versionen von Windows. |
| Zielplattform | Universal |
| Header | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
| Library | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | Siehe Abschnitt "Hinweise". |