다음을 통해 공유


IAnalysisStatus 인터페이스

분석이 성공적으로 완료되었는지 여부와 경고가 발생했는지 여부를 설명하여 잉크 분석 작업의 상태 나타냅니다.

멤버

IAnalysisStatus 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IAnalysisStatus 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IAnalysisStatus 인터페이스에는 이러한 메서드가 있습니다.

메서드 Description
GetAppliedChangesRegion 잉크 분석의 결과로 IInkAnalyzer 개체의 컨텍스트 노드 트리에서 변경된 내용에 해당하는 문서의 영역을 검색합니다.
GetWarnings 분석 작업에서 생성된 오류 및 경고를 설명하는 IAnalysisWarnings 컬렉션을 검색합니다.
IsSuccessful 분석 작업의 결과에 대한 부울 요약을 검색합니다.

예제

다음 예제에서는 _IAnalysisEvents::Results 이벤트에 대한 이벤트 처리기의 개요를 보여줍니다. 처리기는 IAnalysisStatus::IsSuccessful을 확인합니다. 분석 작업에서 경고를 생성하는 경우 처리기는 IAnalysisWarning 개체의 컬렉션을 반복합니다.

// _IAnalysisEvents::Results event handler.
STDMETHODIMP CMyClass::Results(
    IInkAnalyzer *pInkAnalyzer,
    IAnalysisStatus *pAnalysisStatus)
{
    // Check the status of the analysis operation.
    VARIANT_BOOL bResult = VARIANT_FALSE;
    HRESULT hr = pAnalysisStatus->IsSuccessful(&bResult);

    if( SUCCEEDED(hr) )
    {
        if( bResult )
        {
            // Insert code that handles a successful result.
        }
        else
        {
            // Get the analysis warnings.
            IAnalysisWarnings* pAnalysisWarnings = NULL;
            hr = pAnalysisStatus->GetWarnings(&pAnalysisWarnings);
            if (SUCCEEDED(hr))
            {
                // Iterate through the warning collection.
                ULONG warningCount = 0;
                hr = pAnalysisWarnings->GetCount(&warningCount);
                if (SUCCEEDED(hr))
                {
                    IAnalysisWarning *pAnalysisWarning = NULL;
                    AnalysisWarningCode analysisWarningCode;
                    for (ULONG index=0; index<warningCount; index++)
                    {
                        // Get an analysis warning.
                        hr = pAnalysisWarnings->GetAnalysisWarning(
                            index, &pAnalysisWarning);

                        if (SUCCEEDED(hr))
                        {
                            // Get the warning code for the warning.
                            hr = pAnalysisWarning->GetWarningCode(
                                &analysisWarningCode);

                            if (SUCCEEDED(hr))
                            {
                                // Insert code that handles each
                                // analysis warning.
                            }
                        }

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

                        if (FAILED(hr))
                        {
                            break;
                        }
                    }
                }
            }

            // Release this reference to the analysis warnings collection.
            if (pAnalysisWarnings != NULL)
            {
                pAnalysisWarnings->Release();
                pAnalysisWarnings = NULL;
            }
        }
    }
    return hr;
}

요구 사항

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

추가 정보

IInkAnalyzer::Analyze 메서드

IInkAnalyzer::BackgroundAnalyze 메서드

잉크 분석 참조