IInkAnalyzer::Analyze メソッド

同期インク分析を実行します。

構文

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

パラメーター

ppStatus [out]

分析操作の状態を記述する IAnalysisStatus へのポインター。

戻り値

戻り値の説明については、「 クラスとインターフェイス - インク分析」を参照してください。

解説

注意事項

メモリ リークを回避するには、分析状態を使用する必要がなくなったときに、ppStatusIUnknown::Release を呼び出します。

このメソッドは、同期インク分析操作を開始します。 インク分析には、レイアウト分析、書き込みと描画の分類、手書き認識が含まれます。 このメソッドは、分析操作が完了した後に を返します。

ppStatus が NULL の場合、このメソッドは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 [デスクトップ アプリのみ]
サポートされている最小のサーバー
サポートなし
Header
IACom.h (IACom_i.c も必要)
[DLL]
IACom.dll

関連項目

IInkAnalyzer

AnalysisModes

IInkAnalyzer::GetDirtyRegion メソッド

IInkAnalyzer::SetDirtyRegion メソッド

IInkAnalyzer::GetRootNode メソッド

IInkAnalyzer::BackgroundAnalyze メソッド