WmiQueryTraceInformation-Funktion (wdm.h)

Die WmiQueryTraceInformation-Routine gibt Informationen zu einer WMI-Ereignisablaufverfolgung zurück.

Syntax

NTSTATUS WmiQueryTraceInformation(
  [in]            TRACE_INFORMATION_CLASS TraceInformationClass,
  [out]           PVOID                   TraceInformation,
  [in]            ULONG                   TraceInformationLength,
  [out, optional] PULONG                  RequiredLength,
  [in, optional]  PVOID                   Buffer
);

Parameter

[in] TraceInformationClass

Gibt einen TRACE_INFORMATION_CLASS-Enumerator an, der den Typ der Informationen angibt, die zu einer Ereignisablaufverfolgung zurückgegeben werden sollen.

[out] TraceInformation

Ein Zeiger auf einen vom Aufrufer zugeordneten Ausgabepuffer, in dem die Routine die durch TraceInformationClass angegebenen Ereignisablaufverfolgungsinformationen zurückgibt.

[in] TraceInformationLength

Gibt die Größe des TraceInformation-Puffers in Bytes an.

[out, optional] RequiredLength

Ein Zeiger auf den von der Routine zurückgegebenen Wert, der die erforderliche Größe des TraceInformation-Puffers in Bytes angibt. Der Aufrufer sollte RequiredLength auf NULL festlegen, wenn er nicht die erforderlichen Längeninformationen verwendet.

[in, optional] Buffer

Ein Zeiger auf die abfragespezifischen Eingabeinformationen, die ein Aufrufer bereitstellt. Wenn vom Aufrufer bereitgestellte Informationen nicht erforderlich sind, sollte der Aufrufer Puffer auf NULL festlegen.

Rückgabewert

Rückgabecode Beschreibung
STATUS_SUCCESS
Erfolg
STATUS_INFO_LENGTH_MISMATCH
Die Größe des TraceInformation-Puffers entspricht nicht der erforderlichen Größe für die angegebenen Ereignisablaufverfolgungsinformationen.
STATUS_INVALID_HANDLE
Das ablaufverfolgungshandle, das vom HistoricalContext-Member des (PWNODE_HEADER)Buffer angegeben wird, ist ungültig.
STATUS_INVALID_INFO_CLASS
Der angegebene Typ von Ereignisablaufverfolgungsinformationen ist ungültig.
STATUS_INVALID_PARAMETER
Der Name der Ereignisablaufverfolgung, der mit einer Abfrage zum Zurückgeben eines Ablaufverfolgungshandles unter Angabe seines Namens bereitgestellt wird, ist ungültig.
STATUS_INVALID_PARAMETER_MIX
Der Aufrufer hat nicht die informationen angegeben, die für die angegebenen Ereignisablaufverfolgungsinformationen erforderlich sind.
STATUS_MORE_ENTRIES
Der TraceInformation-Puffer ist nicht groß genug, um ein Array aller gültigen Ereignisablaufverfolgungshandles zu enthalten.
STATUS_NOT_FOUND
Eine globale Protokollierung wurde nicht gefunden.

Hinweise

Für jeden Typ von Ereignisablaufverfolgungsinformationen, der von TraceInformationClass angegeben wird, enthält die folgende Tabelle:

  • Eingabeanforderungen
  • Informationen, die WmiQueryTraceInformation im TraceInformation-Puffer zurückgibt
Wert von TraceClassInformation Eingabeanforderungen Zurückgegebene Informationen
TraceIdClass TraceInformationLength ist gleich dem Wert von sizeof(ULONG).

Die Größe des TraceInformation-Puffers in Bytes ist größer oder gleich dem Wert von sizeof(ULONG).

Der HistoricalContext-Member von (PWNODE_HEADER)Buffer gibt ein Ereignisablaufverfolgungshandle an.

*(PULONG)TraceInformation ist auf die Protokollierungs-ID des Ereignisablaufverfolgungshandles festgelegt.
TraceHandleClass TraceInformationLength ist gleich dem Wert von sizeof(TRACEHANDLE).

Die Größe des TraceInformation-Puffers in Bytes muss größer oder gleich dem Wert von sizeof(TRACEHANDLE) sein.

*(PULONG)Puffer ist auf eine Protokollierungs-ID festgelegt.

*(PTRACEHANDLE)TraceInformation ist auf ein Ereignisablaufverfolgungshandle für die angegebene Protokollierung festgelegt. Wenn die angegebene Protokollierungs-ID null ist, wird ein Ereignisablaufverfolgungshandle für die Kernelprotokollierung zurückgegeben.
TraceEnableFlagsClass TraceInformationLength ist größer oder gleich dem Wert von sizeof(ULONG).

Die Größe des TraceInformation-Puffers in Byte muss größer oder gleich dem Wert von sizeof(ULONG) sein.

Der HistoricalContext-Member von (PWNODE_HEADER)Buffer gibt ein Ereignisablaufverfolgungshandle an.

*(PULONG)TraceInformation ist auf die Enable-Flags festgelegt, die für das angegebene Ereignisablaufverfolgungshandle festgelegt sind.
TraceEnableLevelClass TraceInformationLength wird größer oder gleich dem Wert von sizeof(ULONG) festgelegt.

Die Größe des TraceInformation-Puffers in Byte muss größer oder gleich dem Wert von sizeof(ULONG) sein.

Der HistoricalContext-Member von (PWNODE_HEADER)Buffer gibt ein Ereignisablaufverfolgungshandle an.

*(PULONG)TraceInformation wird auf die Ebene für das angegebene Ereignisablaufverfolgungshandle festgelegt.
GlobalLoggerHandleClass TraceInformationLength ist gleich dem Wert von sizeof(TRACEHANDLE).

Die Größe des TraceInformation-Puffers in Bytes muss größer oder gleich dem Wert von sizeof(TRACEHANDLE) sein.

*(PTRACEHANDLE)TraceInformation ist auf ein Ereignisablaufverfolgungshandle für die globale Protokollierung festgelegt.
EventLoggerHandleClass Nur für interne Verwendung. Nur für interne Verwendung.
AllLoggerHandlesClass TraceInformationLength wird auf die Größe (Bytes) eines Arrays von m TRACEHANDLE-Werten festgelegt.

Die Größe des TraceInformation-Puffers in Bytes muss größer oder gleich dem Wert von (m*sizeof(TRACEHANDLE)) sein.

Der TraceInformation-Puffer enthält ein Array von n Ablaufverfolgungshandles , wobei n das Minimum von m, die Anzahl der vom Aufrufer bereitgestellten Ereignisablaufverfolgungshandles und die Anzahl der gültigen Ereignisablaufverfolgungshandles ist. Die Routine gibt eine status von STATUS_MORE_ENTRIES zurück, wenn der TraceInformation-Puffer zu klein ist, um alle Ablaufverfolgungshandles zu speichern.
TraceHandleByNameClass TraceInformationLength wird auf den Wert von sizeof(TRACEHANDLE) festgelegt.

Die Größe des TraceInformation-Puffers in Bytes muss größer oder gleich dem Wert von sizeof(TRACEHANDLE) sein.

(PUNICODE_STRING) Buffer gibt einen Anzeige-Ablaufverfolgungsnamen im Unicode-Format an.

*(PTRACEHANDLE)TraceInformation wird auf das Ereignisablaufverfolgungshandle festgelegt, das dem angegebenen Anzeigenamen zugeordnet ist.
 

Wenn der Aufrufer einen RequiredLength-Zeiger ungleich NULL bereitstellt, gibt WmiQueryTraceInformation auch die erforderliche Länge für die angegebenen Ereignisablaufverfolgungsinformationen zurück.

WmiQueryTraceInformation 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

WmiTraceMessage

WmiTraceMessageVa