FlushTraceA 함수(evntrace.h)

FlushTrace 함수는 이벤트 추적 세션이 지정된 세션에 대해 버퍼링된 이벤트를 즉시 전달하도록 합니다. 기본적으로 이벤트 추적 세션은 버퍼가 가득 차거나 세션의 FlushTimer가 만료되거나 세션이 닫히면 이벤트를 전달합니다.

이 함수는 사용되지 않습니다. ControlTrace 함수는 이 함수를 대체합니다.

구문

ULONG WMIAPI FlushTraceA(
            CONTROLTRACE_ID         TraceId,
  [in]      LPCSTR                  InstanceName,
  [in, out] PEVENT_TRACE_PROPERTIES Properties
);

매개 변수

TraceId

[in] InstanceName

플러시할 이벤트 추적 세션의 이름 또는 NULL입니다. TraceHandle이 0인 경우 InstanceName을 지정해야 합니다.

NT 커널 로거 세션을 지정하려면 InstanceNameKERNEL_LOGGER_NAME 설정합니다.

[in, out] Properties

초기화된 EVENT_TRACE_PROPERTIES 구조체에 대한 포인터입니다.

새로 초기화된 구조를 사용하는 경우 구조체의 Wnode.BufferSize, Wnode.Guid, LoggerNameOffsetLogFileNameOffset 멤버만 설정하면 됩니다. 최대 세션 이름(1024자) 및 최대 로그 파일 이름(1024자) 길이를 사용하여 버퍼 크기와 오프셋을 계산할 수 있습니다(알 수 없는 경우).

출력에서 구조체는 플러시 후 세션의 상태를 반영하는 이벤트 추적 세션의 속성 설정 및 세션 통계를 받습니다.

반환 값

함수가 성공하면 반환 값이 ERROR_SUCCESS.

함수가 실패하면 반환 값은 시스템 오류 코드 중 하나입니다. 다음 표에는 몇 가지 일반적인 오류와 그 원인이 포함되어 있습니다.

  • ERROR_INVALID_PARAMETER

    다음 중 하나에 해당합니다.

    • 속성NULL입니다.
    • InstanceNameTraceHandle 은 모두 NULL입니다.
    • InstanceNameNULL 이고 TraceHandle 은 유효한 핸들이 아닙니다.
  • ERROR_BAD_LENGTH

    다음 중 하나에 해당합니다.

    • PropertiesWnode.BufferSize 멤버는 잘못된 크기를 지정합니다.
    • 속성 에는 세션 이름 및 로그 파일 이름(사용된 경우)의 복사본을 보관할 충분한 공간이 할당되지 않았습니다.
  • ERROR_ACCESS_DENIED

    관리자 권한이 있는 사용자, 성능 로그 사용자 그룹의 사용자 및 LocalSystem, LocalService, NetworkService로 실행되는 서비스만 이벤트 추적 세션을 제어할 수 있습니다. 제한된 사용자에게 추적 세션을 제어할 수 있는 기능을 부여하려면 성능 로그 사용자 그룹에 추가합니다.

    Windows XP 및 Windows 2000: 누구나 추적 세션을 제어할 수 있습니다.

설명

이벤트 추적 컨트롤러는 이 함수를 호출합니다.

이 함수는 사용되지 않습니다. 대신 ControlCode가 설정된 ControlTrace를 사용하여 EVENT_TRACE_CONTROL_FLUSH.

이 함수는 메모리 내 세션( EVENT_TRACE_BUFFERING_MODE 플래그로 시작된 세션)과 함께 추적의 데이터를 파일에 쓰는 데 사용할 수 있습니다.

ETW는 버퍼가 가득 찼을 때(즉, 다음 이벤트에 대한 공간이 없는 경우), 추적 세션의 FlushTimer가 만료되거나 추적 세션이 닫히면 자동으로 버퍼를 플러시하므로 일반적으로 파일 기반 또는 실시간 세션을 플러시할 필요가 없습니다.

DllMain에서 FlushTrace를 호출하지 마세요(교착 상태가 발생할 수 있음).

참고

evntrace.h 헤더는 FLUSHTrace를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 evntrace.h
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

ControlTrace