EtwWriteString 함수(wdm.h)

EventWriteString 함수는 정교한 데이터가 필요하지 않을 때 사용할 수 있는 추적 함수입니다. 이 함수는 디버그 인쇄 문과 비슷합니다.

구문

NTSTATUS EtwWriteString(
  [in]           REGHANDLE RegHandle,
  [in]           UCHAR     Level,
  [in]           ULONGLONG Keyword,
  [in, optional] LPCGUID   ActivityId,
  [in]           PCWSTR    String
);

매개 변수

[in] RegHandle

이벤트 공급자 등록에 성공하면 EtwRegister 함수에서 반환되는 이벤트 공급자 등록 핸들에 대한 포인터입니다.

[in] Level

이벤트가 활성 상태인 수준입니다.

[in] Keyword

이벤트에 대한 키워드(keyword). 키워드(keyword) 이벤트 또는 오류의 범주에 대한 일반 문을 만드는 비트 마스크입니다. 키워드(keyword) 비트 마스크이므로 단일 이벤트에 둘 이상의 키워드(keyword) 적용할 수 있습니다. 키워드와 비트 위치를 정의하거나 Windows 표준 키워드를 사용하거나 고유한 키워드와 Windows 키워드의 조합을 사용할 수 있습니다.

[in, optional] ActivityId

이벤트와 연결된 활동을 나타내는 식별자입니다. ActivityId는 관련 이벤트를 그룹화할 수 있는 방법을 제공하며 종단 간 추적에 사용됩니다. 이 식별자는 선택 사항이며 NULL일 수 있습니다.

[in] String

Null로 끝나는 문자열(WCHAR)입니다.

반환 값

함수는 이벤트가 성공적으로 게시되면 STATUS_SUCCESS 반환합니다.

설명

EventWriteString 함수에서 생성된 문자열은 지역화할 수 없으므로 이 함수는 프로덕션 코드에서 사용하지 않는 것이 좋습니다. 이 함수는 눈에 잘 띄는 이벤트를 기록하는 데 사용하면 안 됩니다.

IRQL에서 EtwWriteString을 호출할 수 있습니다. 그러나 IRQL이 APC_LEVEL 보다 크면 EtwWrite, EtwWriteEx, EtwWriteStringEtwWriteTransfer 함수에 전달된 모든 데이터를 페이징할 수 없어야 합니다. 즉, APC_LEVEL보다 큰 IRQL에서 실행되는 커널 모드 루틴은 페이지 가능한 메모리에 액세스할 수 없습니다. EtwWrite, EtwWriteEx, EtwWriteStringEtwWriteTransfer 함수에 전달된 데이터는 IRQL이 무엇인지에 관계없이 시스템 공간 메모리에 있어야 합니다.

요구 사항

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

추가 정보

EtwWrite

EtwWriteEx

EtwWriteTransfer