QueryTraceA-Funktion (evntrace.h)
Die QueryTrace-Funktion ruft die Eigenschafteneinstellungen und Sitzungsstatistiken für die angegebene Ereignisablaufverfolgungssitzung ab.
Diese Funktion ist veraltet. Die ControlTrace-Funktion ersetzt diese Funktion.
Syntax
ULONG WMIAPI QueryTraceA(
CONTROLTRACE_ID TraceId,
LPCSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
Parameter
TraceId
InstanceName
Name der abzufragten Ereignisablaufverfolgungssitzung oder NULL. Sie müssen InstanceName angeben, wenn TraceHandle 0 ist.
Um die NT-Kernelprotokollierungssitzung anzugeben, legen Sie InstanceName auf KERNEL_LOGGER_NAME fest.
Properties
Zeiger auf eine initialisierte EVENT_TRACE_PROPERTIES-Struktur .
Sie müssen nur das Wnode.BufferSize-Element der EVENT_TRACE_PROPERTIES-Struktur festlegen. Sie können den maximalen Sitzungsnamen (1024 Zeichen) und die maximale Protokolldateinamelänge (1024 Zeichen) verwenden, um die Puffergröße und die Offsets zu berechnen, falls nicht bekannt.
In der Ausgabe enthalten die Strukturmember die Eigenschafteneinstellungen und Sitzungsstatistiken für die Ereignisablaufverfolgungssitzung.
Ab Windows 10, Version 1703: Um eine bessere Leistung in prozessübergreifenden Szenarien zu erzielen, können Sie die Filterung jetzt in QueryTrace für systemweite private Protokollierungen übergeben. Sie müssen die neue EVENT_TRACE_PROPERTIES_V2-Struktur übergeben, um Filterinformationen einzuschließen. Weitere Informationen finden Sie unter Konfigurieren und Starten einer privaten Protokolliersitzung .
Rückgabewert
Wenn die Funktion erfolgreich ist, wird der Rückgabewert ERROR_SUCCESS.
Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der Systemfehlercodes. Im Folgenden sind einige häufige Fehler und deren Ursachen aufgeführt.
ERROR_BAD_LENGTH
Es trifft eine der folgenden Bedingungen zu:
- Das Wnode.BufferSize-Element von Properties gibt eine falsche Größe an.
- Eigenschaften verfügen nicht über genügend Speicherplatz, um eine Kopie des Sitzungsnamens und des Protokolldateinamens (falls verwendet) aufzunehmen.
ERROR_INVALID_PARAMETER
Es trifft eine der folgenden Bedingungen zu:
- Eigenschaften sind NULL.
- InstanceName und TraceHandlesind null.
- InstanceName ist NULL und TraceHandle ist kein gültiges Handle.
ERROR_ACCESS_DENIED
Nur Benutzer, die mit erhöhten Administratorrechten ausgeführt werden, Benutzer in der Gruppe Leistungsprotokollbenutzer und Dienste, die als LocalSystem, LocalService und NetworkService ausgeführt werden, können Ereignisablaufverfolgungssitzungen abfragen. Um einem eingeschränkten Benutzer die Möglichkeit zu gewähren, Ablaufverfolgungssitzungen abzufragen, fügen Sie sie der Gruppe Leistungsprotokollbenutzer hinzu, oder sehen Sie sich EventAccessControl an.
Windows XP und Windows 2000: Jeder kann eine Ablaufverfolgungssitzung steuern.
ERROR_WMI_INSTANCE_NOT_FOUND
Die angegebene Sitzung wird nicht ausgeführt.
Hinweise
Ereignisablaufverfolgungscontroller rufen diese Funktion auf.
Diese Funktion ist veraltet. Verwenden Sie stattdessen ControlTrace , wobei ControlCode auf EVENT_TRACE_CONTROL_QUERY festgelegt ist.
Hinweis
Der evntrace.h-Header definiert QueryTrace als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Zielplattform | Windows |
Kopfzeile | evntrace.h |
Bibliothek | Advapi32.lib |
DLL | Advapi32.dll |