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

另請參閱

IInkAnalyzer

AnalysisModes

IInkAnalyzer::GetDirtyRegion 方法

IInkAnalyzer::SetDirtyRegion 方法

IInkAnalyzer::GetRootNode 方法

IInkAnalyzer::BackgroundAnalyze 方法