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 버퍼의 필요한 크기(바이트)를 지정하는 루틴에서 반환되는 값에 대한 포인터입니다. 필요한 길이 정보를 사용하지 않는 경우 호출자는 RequiredLengthNULL 로 설정해야 합니다.

[in, optional] Buffer

호출자가 제공하는 쿼리 관련 입력 정보에 대한 포인터입니다. 호출자가 제공한 정보가 필요하지 않은 경우 호출자는 버퍼NULL로 설정해야 합니다.

반환 값

반환 코드 설명
STATUS_SUCCESS
Success
STATUS_INFO_LENGTH_MISMATCH
TraceInformation 버퍼의 크기는 지정된 이벤트 추적 정보에 필요한 크기와 같지 않습니다.
STATUS_INVALID_HANDLE
(PWNODE_HEADER)버퍼HistoricalContext 멤버가 지정한 추적 핸들이 잘못되었습니다.
STATUS_INVALID_INFO_CLASS
지정된 유형의 이벤트 추적 정보가 잘못되었습니다.
STATUS_INVALID_PARAMETER
이름이 지정된 추적 핸들을 반환하는 쿼리와 함께 제공되는 이벤트 추적의 이름이 잘못되었습니다.
STATUS_INVALID_PARAMETER_MIX
호출자가 지정된 이벤트 추적 정보에 필요한 정보를 제공하지 않았습니다.
STATUS_MORE_ENTRIES
TraceInformation 버퍼는 유효한 모든 이벤트 추적 핸들의 배열을 보유할 만큼 크지 않습니다.
STATUS_NOT_FOUND
전역 로거를 찾을 수 없습니다.

설명

TraceInformationClass에 지정된 각 유형의 이벤트 추적 정보에 대해 다음 표가 제공합니다.

  • 입력 요구 사항
  • TraceInformation 버퍼에서 WmiQueryTraceInformation이 반환하는 정보
TraceClassInformation 입력 요구 사항 반환되는 정보
TraceIdClass TraceInformationLengthsizeof(ULONG) 값과 같습니다.

TraceInformation 버퍼의 크기(바이트)는 sizeof(ULONG) 값보다 크거나 같습니다.

(PWNODE_HEADER)BufferHistoricalContext 멤버는 이벤트 추적 핸들을 지정합니다.

*(PULONG)TraceInformation 은 이벤트 추적 핸들의 로거 ID로 설정됩니다.
TraceHandleClass TraceInformationLengthsizeof(TRACEHANDLE)의 값과 같습니다.

TraceInformation 버퍼의 크기(바이트)는 sizeof(TRACEHANDLE)의 값보다 크거나 같아야 합니다.

*(PULONG)Buffer 는 로거 ID로 설정됩니다.

*(PTRACEHANDLE)TraceInformation 은 지정된 로거에 대한 이벤트 추적 핸들로 설정됩니다. 지정된 로거 ID가 0이면 커널 로거에 대한 이벤트 추적 핸들이 반환됩니다.
TraceEnableFlagsClass TraceInformationLengthsizeof(ULONG) 값보다 크거나 같습니다.

TraceInformation 버퍼의 크기(바이트)는 sizeof(ULONG) 값보다 크거나 같아야 합니다.

(PWNODE_HEADER)BufferHistoricalContext 멤버는 이벤트 추적 핸들을 지정합니다.

*(PULONG)TraceInformation 은 지정된 이벤트 추적 핸들에 대해 설정된 사용 플래그로 설정됩니다.
TraceEnableLevelClass TraceInformationLengthsizeof(ULONG) 값보다 크거나 같게 설정됩니다.

TraceInformation 버퍼의 크기(바이트)는 sizeof(ULONG) 값보다 크거나 같아야 합니다.

(PWNODE_HEADER)BufferHistoricalContext 멤버는 이벤트 추적 핸들을 지정합니다.

*(PULONG)TraceInformation 은 지정된 이벤트 추적 핸들의 수준으로 설정됩니다.
GlobalLoggerHandleClass TraceInformationLengthsizeof(TRACEHANDLE)의 값과 같습니다.

TraceInformation 버퍼의 크기(바이트)는 sizeof(TRACEHANDLE)의 값보다 크거나 같아야 합니다.

*(PTRACEHANDLE)TraceInformation 은 전역 로거에 대한 이벤트 추적 핸들로 설정됩니다.
EventLoggerHandleClass 내부 전용입니다. 내부에서만 사용합니다.
AllLoggerHandlesClass TraceInformationLengthm TRACEHANDLE 값 배열의 크기(바이트)로 설정됩니다.

TraceInformation 버퍼의 크기(바이트)는 값(m*sizeof(TRACEHANDLE))보다 크거나 같아야 합니다.

TraceInformation 버퍼에는 n 추적 핸들의 배열이 포함됩니다. 여기서 n은 최소 m, 호출자 제공 이벤트 추적 핸들의 수 및 유효한 이벤트 추적 핸들의 수입니다. TraceInformation 버퍼가 너무 작아서 모든 추적 핸들을 보유할 수 없다면 루틴은 STATUS_MORE_ENTRIES 상태 반환합니다.
TraceHandleByNameClass TraceInformationLengthsizeof(TRACEHANDLE) 값으로 설정됩니다.

TraceInformation 버퍼의 크기(바이트)는 sizeof(TRACEHANDLE)의 값보다 크거나 같아야 합니다.

(PUNICODE_STRING) 버퍼 는 유니코드 형식의 식별 추적 이름을 지정합니다.

*(PTRACEHANDLE)TraceInformation 은 지정된 식별 이름과 연결된 이벤트 추적 핸들로 설정됩니다.
 

호출자가 NULL이 아닌 RequiredLength 포인터를 제공하는 경우 WmiQueryTraceInformation은 지정된 이벤트 추적 정보에 필요한 길이도 반환합니다.

WmiQueryTraceInformation은 호출자의 IRQL에서 실행됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 설명 섹션을 참조하십시오.

추가 정보

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiTraceMessage

WmiTraceMessageVa