WmiQueryTraceInformation 函数 (wdm.h)
WmiQueryTraceInformation 例程返回有关 WMI 事件跟踪的信息。
语法
NTSTATUS WmiQueryTraceInformation(
[in] TRACE_INFORMATION_CLASS TraceInformationClass,
[out] PVOID TraceInformation,
[in] ULONG TraceInformationLength,
[out, optional] PULONG RequiredLength,
[in, optional] PVOID Buffer
);
参数
[in] TraceInformationClass
指定要返回有关事件跟踪的信息类型的 TRACE_INFORMATION_CLASS 枚举器。
[out] TraceInformation
指向调用方分配的输出缓冲区的指针,其中例程返回由 TraceInformationClass指定的事件跟踪信息。
[in] TraceInformationLength
指定 TraceInformation 缓冲区的大小(以字节为单位)。
[out, optional] RequiredLength
指向例程返回的值的指针,该值指定 TraceInformation 缓冲区所需的大小(以字节为单位)。 如果调用方不使用所需的长度信息,则调用方应将 requiredLength 设置为 NULL。
[in, optional] Buffer
指向调用方提供的特定于查询的输入信息的指针。 如果不需要调用方提供的信息,则调用方应将 Buffer 设置为 NULL。
返回值
返回代码 | 描述 |
---|---|
|
成功 |
|
TraceInformation 缓冲区的大小不等于指定事件跟踪信息所需的大小。 |
|
由 HistoricalContext PWNODE_HEADER 成员指定的跟踪句柄Buffer 无效。 |
|
指定的事件跟踪信息类型无效。 |
|
为返回给定其名称的跟踪句柄而提供的事件跟踪的名称无效。 |
|
调用方未提供指定事件跟踪信息所需的信息。 |
|
TraceInformation 缓冲区不够大,无法容纳所有有效事件跟踪句柄的数组。 |
|
找不到全局记录器。 |
言论
对于 TraceInformationClass指定的每种类型的事件跟踪信息,下表提供:
- 输入要求
- WmiQueryTraceInformation 在 TraceInformation 缓冲区中返回的信息
TraceClassInformation 的值 | 输入要求 | 返回的信息 |
---|---|---|
TraceIdClass |
TraceInformationLength 等于 sizeof(ULONG) 的值。
TraceInformation 缓冲区的大小大于或等于 sizeof(ULONG) 的值。 HistoricalContext 成员(PWNODE_HEADER)Buffer 指定事件跟踪句柄。 |
*(PULONG)TraceInformation 设置为事件跟踪句柄的记录器 ID。 |
TraceHandleClass |
TraceInformationLength 等于 sizeof(TRACEHANDLE) 的值。
TraceInformation 缓冲区的大小必须大于或等于 sizeof(TRACEHANDLE) 的值。 *(PULONG)Buffer 设置为记录器 ID。 |
*(PTRACEHANDLE)TraceInformation 设置为指定记录器的事件跟踪句柄。 如果指定的记录器 ID 为零,则返回内核记录器的事件跟踪句柄。 |
TraceEnableFlagsClass |
TraceInformationLength 大于或等于 sizeof(ULONG) 的值。
TraceInformation 缓冲区的大小必须大于或等于 sizeof(ULONG) 的值。 HistoricalContext 成员(PWNODE_HEADER)Buffer 指定事件跟踪句柄。 |
*(PULONG)TraceInformation 设置为为指定事件跟踪句柄设置的启用标志。 |
TraceEnableLevelClass |
TraceInformationLength 设置为大于或等于 sizeof(ULONG) 的值。
TraceInformation 缓冲区的大小必须大于或等于 sizeof(ULONG) 的值。 HistoricalContext 成员(PWNODE_HEADER)Buffer 指定事件跟踪句柄。 |
*(PULONG)TraceInformation 设置为指定事件跟踪句柄的级别。 |
GlobalLoggerHandleClass |
TraceInformationLength 等于 sizeof(TRACEHANDLE) 的值。
TraceInformation 缓冲区的大小必须大于或等于 sizeof(TRACEHANDLE) 的值。 |
*(PTRACEHANDLE)TraceInformation 设置为全局记录器的事件跟踪句柄。 |
EventLoggerHandleClass | 仅供内部使用。 | 仅供内部使用。 |
AllLoggerHandlesClass |
TraceInformationLength 设置为 m TRACEHANDLE 值的数组的大小、字节数。
TraceInformation 缓冲区的大小必须大于或等于 (m*sizeof(TRACEHANDLE))的值)。 |
|
TraceHandleByNameClass |
(PUNICODE_STRING)Buffer 以 Unicode 格式指定友好跟踪名称。 |
*(PTRACEHANDLE)TraceInformation 设置为与指定友好名称关联的事件跟踪句柄。 |
如果调用方提供非NULLRequiredLength 指针,WmiQueryTraceInformation 也会返回指定事件跟踪信息所需的长度。
WmiQueryTraceInformation 在调用方 IRQL 上运行。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows XP 和更高版本的 Windows 中可用。 |
目标平台 | 普遍 |
标头 | wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
库 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 请参阅“备注”部分。 |