다음을 통해 공유


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

이벤트의 키워드입니다. 키워드는 이벤트 또는 오류의 범주에 대한 일반 문을 만드는 비트 마스크입니다. 키워드는 비트 마스크이므로 단일 이벤트에 둘 이상의 키워드를 적용할 수 있습니다. 키워드와 비트 위치를 정의하거나 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