共用方式為


IAnalysisStatus 介面

藉由描述分析是否順利完成,以及是否發生任何警告,來表示筆跡分析作業的狀態。

成員

IAnalysisStatus介面繼承自IUnknown介面。 IAnalysisStatus 也有下列類型的成員:

方法

IAnalysisStatus介面具有這些方法。

方法 描述
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 Tablet PC Edition [僅限傳統型應用程式]
最低支援的伺服器
都不支援
標頭
IACom.h (也需要 IACom_i.c)
DLL
IACom.dll

另請參閱

IInkAnalyzer::Analyze 方法

IInkAnalyzer::BackgroundAnalyze 方法

筆跡分析參考