IInkAnalyzer::Analysemethode

Führt synchrone Freihandanalyse durch.

Syntax

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

Parameter

ppStatus [out]

Ein Zeiger auf einen IAnalysisStatus , der den Status des Analysevorgangs beschreibt.

Rückgabewert

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

Bemerkungen

Achtung

Um ein Speicherleck zu vermeiden, rufen Sie IUnknown::Release auf ppStatus auf, wenn Sie den Analysestatus nicht mehr verwenden müssen.

Diese Methode startet einen synchronen Freihandanalysevorgang. Freihandanalyse umfasst Layoutanalyse, Schreib- und Zeichnungsklassifizierung und Handschrifterkennung. Diese Methode gibt zurück, nachdem der Analysevorgang abgeschlossen ist.

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

Während eines Aufrufs von IInkAnalyzer::Analytics-Methode oder IInkAnalyzer::BackgroundAnalyze-Methode analysiert die IInkAnalyzer-Freihand in ihrer schmutzigen Region (siehe IInkAnalyzer::GetDirtyRegion-Methode). Der IInkAnalyzer kann jedoch den Analysevorgang erweitern, um benachbarte Regionen einzuschließen.

Diese Methode legt den schmutzigen Bereich des IInkAnalyzer-Objekts auf einen leeren Bereich fest. Wenn ein weiterer Thread Strichdaten hinzugefügt hat, die nicht analysiert wurden, fügt der IInkAnalyzer das Begrenzungsfeld der unanalyzierten Striche zu seinem schmutzigen Bereich während der Abgleichsphase der Analyse hinzu.

Diese Methode gibt einen Fehler zurück, wenn Ihre Anwendung das _IAnalysisEvents::UpdateStrokesCache-Ereignis nicht behandelt.

Der IInkAnalyzer löst die _IAnalysisEvents::Ergebnisse und _IAnalysisEvents::IntermediateResults-Ereignisse nicht als Reaktion auf diese Methode aus.

Um die Art der Freihandanalyse zu ändern, verwenden Sie IInkAnalyzer::SetAnalysisModes-Methode.

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

Beispiele

Im folgenden Beispiel wird die Vordergrund-Freihandanalyse ausgefü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;
}

Requirements (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

Weitere Informationen

IInkAnalyzer

Analysismodes

IInkAnalyzer::GetDirtyRegion-Methode

IInkAnalyzer::SetDirtyRegion-Methode

IInkAnalyzer::GetRootNode-Methode

IInkAnalyzer::BackgroundAnalyze-Methode