Méthode IInkAnalyzer::Analyze

Effectue une analyse manuscrite synchrone.

Syntaxe

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

Paramètres

ppStatus [out]

Pointeur vers un IAnalysisStatus qui décrit la status de l’opération d’analyse.

Valeur retournée

Pour obtenir une description des valeurs de retour, consultez Classes et interfaces - Analyse manuscrite.

Notes

Attention

Pour éviter une fuite de mémoire, appelez IUnknown::Release sur ppStatus lorsque vous n’avez plus besoin d’utiliser l’analyse status.

Cette méthode démarre une opération d’analyse d’encre synchrone. L’analyse manuscrite inclut l’analyse de la disposition, la classification de l’écriture et du dessin et la reconnaissance de l’écriture manuscrite. Cette méthode retourne une fois l’opération d’analyse terminée.

Cette méthode retourne E_POINTER si ppStatus a la valeur NULL.

Lors d’un appel à la méthode IInkAnalyzer::Analyze ou À la méthode IInkAnalyzer::BackgroundAnalyze, IInkAnalyzer analyse l’entrée manuscrite dans sa région sale (voir IInkAnalyzer::GetDirtyRegion, méthode). Toutefois, IInkAnalyzer peut étendre l’opération d’analyse pour inclure les régions voisines.

Cette méthode définit la région sale de l’objet IInkAnalyzer sur une région vide. Si un autre thread a ajouté des données de trait qui n’ont pas été analysées, IInkAnalyzer ajoute le cadre englobant des traits non analysés à sa région sale pendant la phase de rapprochement de l’analyse.

Cette méthode retourne une erreur si votre application ne gère pas l’événement _IAnalysisEvents::UpdateStrokesCache .

IInkAnalyzer ne déclenche pas les événements _IAnalysisEvents::Results et _IAnalysisEvents::IntermediateResults en réponse à cette méthode.

Pour modifier la façon dont l’analyse manuscrite est effectuée, utilisez la méthode IInkAnalyzer::SetAnalysisModes.

Pour plus d’informations sur l’analyse manuscrite, consultez Vue d’ensemble de l’analyse d’encre.

Exemples

L’exemple suivant effectue une analyse de l’entrée manuscrite au premier plan.

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

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP Édition Tablet PC [applications de bureau uniquement]
Serveur minimal pris en charge
Aucun pris en charge
En-tête
IACom.h (nécessite également IACom_i.c)
DLL
IACom.dll

Voir aussi

IInkAnalyzer

AnalysisModes

IInkAnalyzer::GetDirtyRegion, méthode

IInkAnalyzer::SetDirtyRegion, méthode

IInkAnalyzer::GetRootNode, méthode

IInkAnalyzer::BackgroundAnalyze, méthode