다음을 통해 공유


IControlManager

ETW(Windows용 이벤트 추적) 세션을 제어하는 Windows Performance Recorder 관리자를 나타냅니다. 클라이언트가 IProfileCollection 인터페이스를 사용하여 프로필 컬렉션을 전달하면 관리자가 각 프로필에서 설명하는 ETW 세션 또는 공급자를 시작, 업데이트, 취소, 저장, 중지 또는 쿼리할 수 있습니다. 클라이언트는 IControlProgressHandler 처리기에 포인터를 전달하여 관리자가 수행하는 작업에 대한 업데이트를 받을 수 있습니다.

Syntax

{
  [propget, id(1), helpstring("property ControlProgressHandler")] HRESULT ControlProgressHandler
    ([out, retval] IControlProgressHandler** ppControlProgressHandler);
  [propput, id(1), helpstring("property ControlProgressHandler")] HRESULT ControlProgressHandler
    ([in] IControlProgressHandler* pControlProgressHandler);
  [id(2), helpstring("Start")] HRESULT Start
    ([in] IProfileCollection* pProfileCollection);
  [id(3), helpstring("Update")] HRESULT Update
    ([in] IProfileCollection* pProfileCollection);
  [id(4), helpstring("Cancel")] HRESULT Cancel
    ([in] IProfileCollection* pProfileCollection);
  [id(5), helpstring("Save")] HRESULT Save
    ([in] BSTR bstrFileName,
    [in] IProfileCollection* pProfileCollection,
    [in] ITraceMergeProperties* pTraceMergeProperties);
  [id(6), helpstring("Stop")] HRESULT Stop
    ([in] BSTR bstrFileName,
    [in] IProfileCollection* pProfileCollection,
    [in] ITraceMergeProperties* pTraceMergeProperties);
  [id(7), helpstring("QueryXML")] HRESULT QueryXML
    ([out] BSTR* pbstrResults,
    [in] VARIANT_BOOL fValidateRuntimeState);
  [id(8), helpstring("Query")] HRESULT Query
    ([out] IProfileCollection** ppProfileCollection,
    [in] VARIANT_BOOL fValidateRuntimeState);
  [propget, id(9), helpstring("property TraceMergeTextHandler")] HRESULT TraceMergeTextHandler
    ([out, retval] ITraceMergeTextHandler** ppTraceMergeTextHandler);
  [propput, id(9), helpstring("property TraceMergeTextHandler")] HRESULT TraceMergeTextHandler
    ([in] ITraceMergeTextHandler* pTraceMergeTextHandler);
  [propget, id(10), helpstring("property TemporaryTraceDirectory")] HRESULT TemporaryTraceDirectory
    ([out, retval] BSTR* pbstrTemporaryTraceDirectory);
  [propput, id(10), helpstring("property TemporaryTraceDirectory")] HRESULT TemporaryTraceDirectory
    ([in] BSTR bstrTemporaryTraceDirectory);
  [id(11), helpstring("GetProviderNameFromGuid")] HRESULT GetProviderNameFromGuid
    ([out] BSTR* bstrProviderIdStr,
    [in] REFGUID ProviderId);
  [id(12), helpstring("GetProviderGuidFromName")] HRESULT GetProviderGuidFromName
    ([out] GUID* ProviderId,
    [in] BSTR bstrProViderName);
};

Functions

다음 표에서는 이 인터페이스가 제공하는 함수에 대해 설명합니다.

함수 Description

Start

기록을 시작합니다.

업데이트

프로필 컬렉션을 업데이트합니다.

취소

데이터를 저장하지 않고 기록을 중지합니다.

저장

메모리의 순환 버퍼에 기록된 기록을 지정된 ETL(이벤트 추적 로그) 파일에 저장합니다.

중지

기록을 중지하고 지정된 ETL(이벤트 추적 로그) 파일에 저장합니다.

QueryXML

현재 실행 중인 프로필의 XML 형식과 프로필이 제대로 실행되고 있는지 여부를 나타냅니다.

쿼리

모든 프로필에서 세션 속성 및 공급자를 쿼리합니다.

propget

지정한 속성을 가져옵니다.

propput

지정한 속성을 설정합니다.

GetProviderNameFromGuid

지정된 GUID의 공급자 이름을 가져옵니다.

GetProviderGuidFromName

지정된 이름의 공급자 GUID를 가져옵니다.

속성

다음 표에서는 이 인터페이스가 가져오거나 설정할 수 있는 속성의 매개 변수에 대해 설명합니다.

속성 매개 변수 설명

ControlProgressHandler

ppControlProgressHandler [out]

IControlProgressHandler 인터페이스의 클라이언트 쪽 구현에 대한 포인터입니다.

ControlProgressHandler

pControlProgressHandler [in]

IControlProgressHandler 인터페이스의 클라이언트 쪽 구현에 대한 포인터입니다. E_POINTER는 잘못된 포인터를 나타냅니다.

TraceMergeTextHandler

ppTraceMergeTextHandler [out]

ITraceMergeTextHandler 인터페이스에 의해 삽입된 추적의 텍스트 및 기타 병합 시간 정보에 대한 포인터입니다.

TraceMergeTextHandler

pTraceMergeTextHandler [in]

ITraceMergeTextHandler 인터페이스에 의해 삽입된 추적의 텍스트 및 기타 병합 시간 정보에 대한 포인터입니다. E_POINTER는 잘못된 포인터를 나타냅니다.

TemporaryTraceDirectory

pbstrTemporaryTraceDirectory [out]

미리 병합된 추적 파일이 기록되는 디렉터리의 경로에 대한 포인터입니다. 기본값은 %temp% 폴더입니다.

TemporaryTraceDirectory [in]

bstrTemporaryTraceDirectory

미리 병합된 추적 파일이 기록되는 디렉터리의 경로입니다.

인터페이스