IAnalysisStatus::GetWarnings 메서드

분석 작업에서 생성된 오류 및 경고를 설명하는 IAnalysisWarnings 컬렉션을 검색합니다.

구문

HRESULT GetWarnings(
  [out] IAnalysisWarnings **ppAnalysisWarnings
);

매개 변수

ppAnalysisWarnings [out]

분석 작업에서 생성된 오류 및 경고를 설명하는 IAnalysisWarnings 컬렉션에 대한 포인터입니다.

반환 값

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

설명

주의

더 이상 경고가 필요하지 않은 경우 *ppAnalysisWarnings에서 IUnknown::Release를 호출합니다.

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

참고 항목

IAnalysisStatus

IAnalysisWarnings

IAnalysisWarning

AnalysisWarningCode

잉크 분석 참조