다음을 통해 공유


IInkAnalyzer::Analyze 메서드

동기 잉크 분석을 수행합니다.

구문

HRESULT Analyze(
  [out] IAnalysisStatus **ppStatus
);

매개 변수

ppStatus [out]

분석 작업의 상태 설명하는 IAnalysisStatus에 대한 포인터입니다.

반환 값

반환 값에 대한 설명은 클래스 및 인터페이스 - 잉크 분석을 참조하세요.

설명

주의

메모리 누수 방지를 위해 더 이상 분석 상태 사용할 필요가 없는 경우 ppStatus에서 IUnknown::Release를 호출합니다.

이 메서드는 동기 잉크 분석 작업을 시작합니다. 잉크 분석에는 레이아웃 분석, 쓰기 및 그리기 분류, 필기 인식이 포함됩니다. 이 메서드는 분석 작업이 완료된 후 를 반환합니다.

이 메서드는 ppStatusNULL이면 E_POINTER 반환합니다.

IInkAnalyzer::Analyze 메서드 또는 IInkAnalyzer::BackgroundAnalyze 메서드를 호출하는 동안 IInkAnalyzer는 더티 지역 내에서 잉크를 분석합니다(IInkAnalyzer::GetDirtyRegion 메서드 참조). 그러나 IInkAnalyzer 는 인접 지역을 포함하도록 분석 작업을 확장할 수 있습니다.

이 메서드는 IInkAnalyzer 개체의 더티 영역을 빈 영역으로 설정합니다. 다른 스레드가 분석되지 않은 스트로크 데이터를 추가한 경우 IInkAnalyzer는 분석의 조정 단계 동안 분석되지 않은 스트로크의 경계 상자를 더티 영역에 추가합니다.

이 메서드는 애플리케이션이 _IAnalysisEvents::UpdateStrokesCache 이벤트를 처리하지 않는 경우 오류를 반환합니다.

IInkAnalyzer는 이 메서드에 대한 응답으로 _IAnalysisEvents::Results_IAnalysisEvents::IntermediateResults 이벤트를 발생시키지 않습니다.

잉크 분석이 수행되는 방식을 수정하려면 IInkAnalyzer::SetAnalysisModes 메서드를 사용합니다.

잉크 분석에 대한 자세한 내용은 잉크 분석 개요를 참조하세요.

예제

다음 예제에서는 포그라운드 잉크 분석을 수행합니다.

// Perform synchronous ink analysis.
IAnalysisStatus *pAnalysisStatus = NULL;
hr = this->m_spIInkAnalyzer->Analyze(&pAnalysisStatus);

if (SUCCEEDED(hr))
{
    // Insert code that processes the analysis results.
}

// Release this reference to the analysis status.
if (pAnalysisStatus != NULL)
{
    pAnalysisStatus->Release();
    pAnalysisStatus = NULL;
}

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows XP 태블릿 PC 버전 [데스크톱 앱만 해당]
지원되는 최소 서버
지원되는 버전 없음
헤더
IACom.h(IACom_i.c도 필요)
DLL
IACom.dll

추가 정보

IInkAnalyzer

AnalysisModes

IInkAnalyzer::GetDirtyRegion 메서드

IInkAnalyzer::SetDirtyRegion 메서드

IInkAnalyzer::GetRootNode 메서드

IInkAnalyzer::BackgroundAnalyze 메서드