IAnalysisWarning 인터페이스

잉크 분석 작업 중에 발생하는 경고 또는 오류를 나타냅니다.

멤버

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

메서드

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

메서드 Description
GetBackgroundError 오류가 발생한 경우 백그라운드 잉크 분석 작업에 대한 오류 코드를 검색합니다.
GetHint 이 경고를 발생시킨 분석 힌트를 검색합니다.
GetNodeIds 이 경고와 연결된 관련 컨텍스트 노드의 식별자를 검색합니다.
GetWarningCode AnalysisWarningCode 열거형을 사용하여 발생한 경고 유형을 검색합니다.

설명

발생할 수 있는 경고 유형은 AnalysisWarningCode 열거형에서 설명합니다. IInkAnalyzer에서 사용 중인 IInkAnalysisRecognizer에서 지원되지 않는 기능을 사용하려고 할 때 경고가 발생하는 경우가 많습니다.

일부 경고는 IInkAnalyzer 가 분석 작업을 완료하지 않았음을 나타냅니다. 자세한 내용은 AnalysisWarningCode를 참조하세요.

예제

다음 예제에서는 _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

추가 정보

IAnalysisWarnings

AnalysisWarningCode

잉크 분석 참조