WmiTraceMessage 함수(wdm.h)

WmiTraceMessage 루틴은 WPP 소프트웨어 추적 세션의 출력 로그에 메시지를 추가합니다.

구문

NTSTATUS WmiTraceMessage(
  [in] TRACEHANDLE LoggerHandle,
  [in] ULONG       MessageFlags,
  [in] LPCGUID     MessageGuid,
  [in] USHORT      MessageNumber,
       ...         
);

매개 변수

[in] LoggerHandle

소프트웨어 추적 세션에 대한 추적 핸들을 지정합니다.

[in] MessageFlags

하나 이상의 메시지 플래그의 비트 OR을 지정합니다. 자세한 내용은 설명 단원을 참조 하십시오.

[in] MessageGuid

소프트웨어 추적 메시지의 클래스를 식별하는 GUID를 지정합니다.

[in] MessageNumber

메시지 하위 형식을 식별합니다. 하위 형식의 의미는 소프트웨어 추적 클래스 및 공급자와 관련이 있습니다.

[in] ...

메시지 파트 집합을 지정하는 필수 메시지 매개 변수 목록을 제공합니다. 매개 변수는 각 쌍이 전체 메시지의 한 부분을 지정하는 매개 변수 쌍의 시퀀스로 구성됩니다. 각 매개 변수 쌍은 데이터에 대한 PVOID 포인터와 데이터의 길이를 지정하는 ULONG 값으로 즉시 구성됩니다. 매개 변수 목록은 NULL PVOID 포인터와 ULONG (0)으로 종료되어야 합니다.

반환 값

WmiTraceMessage 는 다음 값 중 하나를 반환합니다.

반환 코드 설명
STATUS_SUCCESS
작업이 성공적으로 완료되었습니다.
STATUS_INVALID_HANDLE
LoggerHandle 은 유효한 소프트웨어 추적 핸들이 아닙니다.
STATUS_NO_MEMORY
메시지를 기록할 버퍼 메모리가 부족합니다. 주의 섹션을 참조하십시오.
기타 NTSTATUS 값
내부 오류가 발생했습니다.

설명

호출자는 WmiTraceMessage 또는 WmiTraceMessageVa를 사용하여 WPP 소프트웨어 추적 세션의 출력 로그에 메시지를 추가할 수 있습니다. WmiTraceMessage는 WmiTraceMessageVa 를 호출하기 전에 변수 목록 메커니즘을 처리하여 호출자의 코드를 간소화 합니다.

호출자는 다음 메시지 플래그를 설정할 수 있습니다.

플래그 설명
TRACE_MESSAGE_SEQUENCE 메시지에 시퀀스 번호를 포함합니다. 메시지 시퀀싱은 LoggerHandle에서 지정한 소프트웨어 추적 세션에 대해 설정된 경우에만 사용할 수 있습니다.
TRACE_MESSAGE_GUID MessageGuid 는 소프트웨어 추적 클래스를 식별하는 GUID를 지정합니다. 이 플래그를 설정해야 합니다.
TRACE_MESSAGE_TIMESTAMP 메시지에 타임스탬프를 포함합니다.
TRACE_MESSAGE_PERFORMANCE_TIMESTAMP 이 플래그는 구현되지 않으며 사용되지 않습니다. 사용하지 않아야 합니다.
TRACE_MESSAGE_SYSTEMINFO 메시지에 TID(스레드 식별자) 및 PID(프로세스 식별자)를 포함합니다.
 

다음 중 하나가 true이면 메시지가 기록되지 않습니다.

  • 메시지 데이터 및 메시지 헤더의 총 크기(바이트)는 소프트웨어 추적 세션에 할당된 개별 메시지 버퍼의 크기보다 큽니다. (최대 메시지 헤더 크기는 48바이트입니다.)
  • 소프트웨어 추적 세션에 할당된 모든 메시지 버퍼가 가득 찼습니다.
WmiTraceMessage 는 호출자의 IRQL에서 실행됩니다.

요구 사항

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

추가 정보

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiQueryTraceInformation

WmiTraceMessageVa