다음을 통해 공유


컨트롤 GUID

추적 공급자 는 공급자를 고유하게 식별하는 컨트롤 GUID 를 정의합니다. 이 GUID는 ETW(Windows용 이벤트 추적)를 통해 추적 공급자를 사용하거나 사용하지 않도록 설정하는 데 사용됩니다.

제어 GUID는 계측된 추적 공급자에 대한 소스 코드 파일의 WPP_CONTROL_GUIDS 매크로에 표시됩니다.

#define WPP_CONTROL_GUIDS \
    WPP_DEFINE_CONTROL_GUID(GUIDFriendlyName, (ControlGUID),  \
        WPP_DEFINE_BIT(NameOfTraceFlag1)  \
        WPP_DEFINE_BIT(NameOfTraceFlag2)  \
        .............................   \
        .............................   \
        WPP_DEFINE_BIT(NameOfTraceFlag32) )

Tracepdb 는 컨트롤 GUID 및 PDB 파일에 표시되는 각 추적 공급자의 추적 수준을 포함하는 MOF(추적) 파일을 만듭니다. MOF 파일의 이름은 추적 공급자의 모듈 이름입니다. -c 옵션을 사용하는 경우 Tracepdb는 TMC 파일을 생성할 수도 있습니다.

컨트롤 GUID는 ETW에 대한 추적 공급자를 식별하므로 컨트롤 GUID를 사용하여 추적 공급자의 scope 정의하고 재정의할 수 있습니다. 예를 들어 여러 드라이버는 동일한 컨트롤 GUID를 지정하여 단일 추적 공급자의 일부가 될 수 있습니다. 또는 단일 드라이버는 WPP_CONTROL_GUIDS 매크로의 각 instance 서로 다른 컨트롤 GUID를 지정하여 여러 추적 공급자를 포함할 수 있습니다.