IInkAnalyzer::Analyze メソッド
同期インク分析を実行します。
構文
HRESULT Analyze(
[out] IAnalysisStatus **ppStatus
);
パラメーター
-
ppStatus [out]
-
分析操作の状態を記述する IAnalysisStatus へのポインター。
戻り値
戻り値の説明については、「 クラスとインターフェイス - インク分析」を参照してください。
解説
注意事項
メモリ リークを回避するには、分析状態を使用する必要がなくなったときに、ppStatus で IUnknown::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 |
|
[DLL] |
|