次の方法で共有


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 メソッド

インク分析リファレンス