IInkAnalyzer::Analyze 方法

执行同步墨迹分析。

语法

HRESULT Analyze(
  [out] IAnalysisStatus **ppStatus
);

parameters

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 方法