IInkAnalyzer::BackgroundAnalyze 方法

执行异步墨迹分析。

语法

HRESULT BackgroundAnalyze();

参数

此方法没有任何参数。

返回值

有关返回值的说明,请参阅 类和接口 - 墨迹分析

备注

调用此方法时, IInkAnalyzer 将在后台线程上执行墨迹分析。

此方法返回 S_FALSE ,在以下情况下不会启动新的后台分析操作。

在调用 IInkAnalyzer::Analyze 方法或 IInkAnalyzer::BackgroundAnalyze 方法期间,IInkAnalyzer 分析其脏区域中的墨。 但是, IInkAnalyzer 可能会扩展分析操作以包括邻近区域。

此方法将脏区域设置为空区域。

如果在调用 IInkAnalyzer::BackgroundAnalyze 方法后将笔划数据添加到 IInkAnalyzerIInkAnalyzer 可能会在墨迹分析的协调阶段更新脏区域。

分析模式设置 (请参阅 IInkAnalyzer::GetAnalysisModes 方法) 指定 IInkAnalyzer 如何执行后台分析。 有关墨迹分析的详细信息,请参阅 墨迹分析概述

此方法在以下情况下返回错误代码。

示例

以下示例检查墨迹分析器的脏区域,如果脏区域不为空,则启动后台墨迹分析。

// Check that the ink analyzer's dirty region is not empty.
IAnalysisRegion *pDirtyRegion;
hr = this->m_spIInkAnalyzer->GetDirtyRegion(&pDirtyRegion);

if (SUCCEEDED(hr))
{
    VARIANT_BOOL bIsEmpty;
    hr = pDirtyRegion->IsEmpty(&bIsEmpty);

    if (SUCCEEDED(hr))
    {
        if (!bIsEmpty)
        {
            // Insert code that prepares the application for background
            // ink analysis here.

            // Start background ink analysis. The _IAnalysisEvents::Results
            // event signals when background ink analysis is complete.
            hr = this->m_spIInkAnalyzer->BackgroundAnalyze();
        }
    }
}

// Free the memory for the dirty region.
if (pDirtyRegion != NULL)
{
    pDirtyRegion->Release();
}

要求

要求
最低受支持的客户端
Windows XP Tablet PC Edition [仅限桌面应用]
最低受支持的服务器
无受支持的版本
标头
IACom.h (还需要 IACom_i.c)
DLL
IACom.dll

另请参阅

IInkAnalyzer

AnalysisModes

IInkAnalyzer::Analyze 方法

IInkAnalyzer::GetAnalysisModes 方法

IInkAnalyzer::SetAnalysisModes 方法

IInkAnalyzer::GetDirtyRegion 方法

IInkAnalyzer::SetDirtyRegion 方法

IInkAnalyzer::GetRootNode 方法

墨迹分析参考