IInkAnalyzer::BackgroundAnalyze 方法

執行非同步筆跡分析。

語法

HRESULT BackgroundAnalyze();

參數

這個方法沒有任何參數。

傳回值

如需傳回值的描述,請參閱 類別和介面 - 筆跡分析

備註

呼叫此方法時, IInkAnalyzer 會在背景執行緒上執行筆跡分析。

此方法會傳回 S_FALSE ,且不會在下列情況下啟動新的背景分析作業。

IInkAnalyzer會在呼叫IInkAnalyzer::Analyze 方法或 IInkAnalyzer::BackgroundAnalyze 方法期間分析其變更區域內的筆跡。 不過, IInkAnalyzer 可能會展開分析作業以包含鄰近區域。

這個方法會將已變更的區域設定為空白區域。

如果在呼叫IInkAnalyzer::BackgroundAnalyze 方法之後新增筆劃資料至IInkAnalyzer則 IInkAnalyzer可能會在筆跡分析協調階段更新已變更的區域。

分析模式設定 (請參閱 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 方法

筆跡分析參考