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
호출자가 제공하는 쿼리별 입력 정보에 대한 포인터입니다. 호출자가 제공한 정보가 필요하지 않은 경우 호출자는 버퍼 를 NULL로 설정해야 합니다.
반환 값
| 반환 코드 | 묘사 |
|---|---|
|
성공 |
|
TraceInformation 버퍼의 크기가 지정된 이벤트 추적 정보에 필요한 크기와 같지 않습니다. |
|
(PWNODE_HEADER)버퍼의 HistoricalContext 멤버가 지정한 추적 핸들이 잘못되었습니다. |
|
지정된 유형의 이벤트 추적 정보가 잘못되었습니다. |
|
이름이 지정된 경우 추적 핸들을 반환하는 쿼리와 함께 제공된 이벤트 추적의 이름이 잘못되었습니다. |
|
호출자가 지정된 이벤트 추적 정보에 필요한 정보를 제공하지 않았습니다. |
|
TraceInformation 버퍼는 유효한 모든 이벤트 추적 핸들의 배열을 보유할 만큼 크지 않습니다. |
|
전역 로거를 찾을 수 없습니다. |
발언
TraceInformationClass에 지정된 각 유형의 이벤트 추적 정보에 대해 다음 표를 제공합니다.
- 입력 요구 사항
- TraceInformation 버퍼에서 WmiQueryTraceInformation이 반환하는 정보
| TraceClassInformation 값 | 입력 요구 사항 | 반환된 정보 |
|---|---|---|
| TraceIdClass |
TraceInformationLength 는 sizeof(ULONG)의 값과 같습니다.
TraceInformation 버퍼의 크기(바이트)가 sizeof(ULONG) 값보다 크거나 같습니다. (PWNODE_HEADER)버퍼의 HistoricalContext 멤버는 이벤트 추적 핸들을 지정합니다. |
*(PULONG)TraceInformation 은 이벤트 추적 핸들의 로거 ID로 설정됩니다. |
| TraceHandleClass |
TraceInformationLength 는 sizeof(TRACEHANDLE)의 값과 같습니다.
TraceInformation 버퍼의 크기(바이트)는 sizeof(TRACEHANDLE)의 값보다 크거나 같아야 합니다. *(PULONG)Buffer 는 로거 ID로 설정됩니다. |
*(PTRACEHANDLE)TraceInformation 은 지정된 로거에 대한 이벤트 추적 핸들로 설정됩니다. 지정된 로거 ID가 0이면 커널 로거에 대한 이벤트 추적 핸들이 반환됩니다. |
| TraceEnableFlagsClass |
TraceInformationLength 가 sizeof(ULONG)의 값보다 크거나 같습니다.
TraceInformation 버퍼의 크기(바이트)는 sizeof(ULONG) 값보다 크거나 같아야 합니다. (PWNODE_HEADER)버퍼의 HistoricalContext 멤버는 이벤트 추적 핸들을 지정합니다. |
*(PULONG)TraceInformation 은 지정된 이벤트 추적 핸들에 대해 설정된 사용 플래그로 설정됩니다. |
| TraceEnableLevelClass |
TraceInformationLength 는 sizeof(ULONG) 값보다 크거나 같게 설정됩니다.
TraceInformation 버퍼의 크기(바이트)는 sizeof(ULONG) 값보다 크거나 같아야 합니다. (PWNODE_HEADER)버퍼의 HistoricalContext 멤버는 이벤트 추적 핸들을 지정합니다. |
*(PULONG)TraceInformation 은 지정된 이벤트 추적 핸들의 수준으로 설정됩니다. |
| GlobalLoggerHandleClass |
TraceInformationLength 는 sizeof(TRACEHANDLE)의 값과 같습니다.
TraceInformation 버퍼의 크기(바이트)는 sizeof(TRACEHANDLE)의 값보다 크거나 같아야 합니다. |
*(PTRACEHANDLE)TraceInformation 은 전역 로거에 대한 이벤트 추적 핸들로 설정됩니다. |
| EventLoggerHandleClass | 내부 전용입니다. | 내부 전용입니다. |
| AllLoggerHandlesClass |
TraceInformationLength 는 m TRACEHANDLE 값 배열의 크기(바이트)로 설정됩니다.
TraceInformation 버퍼의 크기(바이트)는 값(m*sizeof(TRACEHANDLE))보다 크거나 같아야 합니다. |
TraceInformation 버퍼에는 n개의 추적 핸들 배열이 포함되어 있습니다. 여기서 n은 최소 m, 호출자 제공 이벤트 추적 핸들의 수 및 유효한 이벤트 추적 핸들의 수입니다. TraceInformation 버퍼가 너무 작아서 모든 추적 핸들을 보유할 수 없을 경우 루틴은 STATUS_MORE_ENTRIES 상태를 반환합니다. |
| TraceHandleByNameClass |
TraceInformationLength 는 sizeof(TRACEHANDLE)의 값으로 설정됩니다.
TraceInformation 버퍼의 크기(바이트)는 sizeof(TRACEHANDLE)의 값보다 크거나 같아야 합니다. (PUNICODE_STRING)버퍼 는 유니코드 형식의 친숙한 추적 이름을 지정합니다. |
*(PTRACEHANDLE)TraceInformation 은 지정된 이름에 연결된 이벤트 추적 핸들로 설정됩니다. |
호출자가 NULL이 아닌 RequiredLength 포인터를 제공하는 경우 WmiQueryTraceInformation은 지정된 이벤트 추적 정보에 필요한 길이도 반환합니다.
WmiQueryTraceInformation 은 호출자의 IRQL에서 실행됩니다.
요구 사항
| 요구 | 값 |
|---|---|
| 지원되는 최소 클라이언트 | Windows XP 이상 버전의 Windows에서 사용할 수 있습니다. |
| 대상 플랫폼 | 보편적 |
| Header | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
| Library | NtosKrnl.lib |
| DLL | NtosKrnl.exe |
| IRQL | 설명 섹션을 참조하세요. |