IInkAnalyzer::Analyze-Methode

Führt eine synchrone Freihandanalyse aus.

Syntax

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

Parameter

ppStatus [out]

Ein Zeiger auf einen IAnalysisStatus, der die status des Analysevorgangs beschreibt.

Rückgabewert

Eine Beschreibung der Rückgabewerte finden Sie unter Klassen und Schnittstellen – Freihandanalyse.

Bemerkungen

Achtung

Um einen Speicherverlust zu vermeiden, rufen Sie IUnknown::Release für ppStatus auf, wenn Sie die Analyse status nicht mehr verwenden müssen.

Diese Methode startet einen synchronen Freihandanalysevorgang. Die Freihandanalyse umfasst die Layoutanalyse, die Schreib- und Zeichnungsklassifizierung sowie die Handschrifterkennung. Diese Methode wird nach Abschluss des Analysevorgangs zurückgegeben.

Diese Methode gibt E_POINTER zurück, wenn ppStatusNULL ist.

Während eines Aufrufs der IInkAnalyzer::Analyze-Methode oder der IInkAnalyzer::BackgroundAnalyze-Methode analysiert der IInkAnalyzer Freihand in seinem modifiziert Bereich (siehe IInkAnalyzer::GetDirtyRegion-Methode). Der IInkAnalyzer kann den Analysevorgang jedoch auf benachbarte Regionen erweitern.

Diese Methode legt den modifiziert Bereich des IInkAnalyzer-Objekts auf einen leeren Bereich fest. Wenn ein anderer Thread Strichdaten hinzugefügt hat, die nicht analysiert wurden, fügt der IInkAnalyzer während der Abstimmungsphase der Analyse das Begrenzungsfeld der nicht analysierten Striche dem modifiziert Bereich hinzu.

Diese Methode gibt einen Fehler zurück, wenn Ihre Anwendung das ereignis _IAnalysisEvents::UpdateStrokesCache nicht verarbeitet.

Das IInkAnalyzer löst als Reaktion auf diese Methode nicht die Ereignisse _IAnalysisEvents::Results und _IAnalysisEvents::IntermediateResults aus.

Verwenden Sie die IInkAnalyzer::SetAnalysisModes-Methode, um die Art der Freihandanalyse zu ändern.

Weitere Informationen zur Freihandanalyse finden Sie unter Übersicht über die Freihandanalyse.

Beispiele

Im folgenden Beispiel wird eine Vordergrund-Freihandanalyse durchgeführt.

// 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;
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows XP Tablet PC Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Nicht unterstützt
Header
IACom.h (erfordert auch IACom_i.c)
DLL
IACom.dll

Siehe auch

IInkAnalyzer

Analysismodes

IInkAnalyzer::GetDirtyRegion-Methode

IInkAnalyzer::SetDirtyRegion-Methode

IInkAnalyzer::GetRootNode-Methode

IInkAnalyzer::BackgroundAnalyze-Methode