Méthode IInkAnalyzer::BackgroundAnalyze
Effectue une analyse asynchrone de l’entrée manuscrite.
Syntaxe
HRESULT BackgroundAnalyze();
Paramètres
Cette méthode n’a aucun paramètre.
Valeur retournée
Pour obtenir une description des valeurs de retour, consultez Classes et interfaces - Analyse manuscrite.
Notes
Lorsque cette méthode est appelée, IInkAnalyzer effectue l’analyse de l’entrée manuscrite sur un thread d’arrière-plan.
Cette méthode retourne S_FALSE et ne démarre pas une nouvelle opération d’analyse en arrière-plan dans les circonstances suivantes.
- IInkAnalyzer effectue actuellement une analyse en arrière-plan.
- la région sale (voir Méthode IInkAnalyzer::GetDirtyRegion) représente une zone vide.
IInkAnalyzer analyse l’entrée manuscrite dans sa région sale lors d’un appel à la méthode IInkAnalyzer::Analyze ou à la méthode IInkAnalyzer::BackgroundAnalyze. Toutefois, IInkAnalyzer peut étendre l’opération d’analyse pour inclure les régions voisines.
Cette méthode définit la région sale sur une région vide.
Si des données de trait ont été ajoutées à IInkAnalyzer après l’appel à la méthode IInkAnalyzer::BackgroundAnalyze, IInkAnalyzer peut mettre à jour la région sale pendant la phase de rapprochement de l’analyse manuscrite.
Le paramètre des modes d’analyse (voir Méthode IInkAnalyzer::GetAnalysisModes) spécifie la façon dont IInkAnalyzer effectue l’analyse en arrière-plan. Pour plus d’informations sur l’analyse manuscrite, consultez Vue d’ensemble de l’analyse d’encre.
Cette méthode retourne un code d’erreur dans les circonstances suivantes.
- Votre application a défini la valeur AnalysisModesAnalysisModes_IntermediateResults dans IInkAnalyzer (voir IInkAnalyzer::SetAnalysisModes, méthode) et ne gère pas l’événement _IAnalysisEvents::IntermediateResults .
- Votre application a effacé la valeur AnalysisModesAnalysisModes_AutomaticReconciliation dans IInkAnalyzer (voir Méthode IInkAnalyzer::SetAnalysisModes) et ne gère pas l’événement _IAnalysisEvents::ReadyToReconcile .
- Votre application ne gère pas l’événement _IAnalysisEvents::Results .
- Votre application ne gère pas l’événement _IAnalysisEvents::UpdateStrokesCache .
Exemples
L’exemple suivant vérifie la région sale de l’analyseur d’encre, puis lance l’analyse de l’encre en arrière-plan si la région sale n’est pas vide.
// Check that the ink analyzer's dirty region is not empty.
IAnalysisRegion *pDirtyRegion;
hr = this->m_spIInkAnalyzer->GetDirtyRegion(&pDirtyRegion);
if (SUCCEEDED(hr))
{
VARIANT_BOOL bIsEmpty;
hr = pDirtyRegion->IsEmpty(&bIsEmpty);
if (SUCCEEDED(hr))
{
if (!bIsEmpty)
{
// Insert code that prepares the application for background
// ink analysis here.
// Start background ink analysis. The _IAnalysisEvents::Results
// event signals when background ink analysis is complete.
hr = this->m_spIInkAnalyzer->BackgroundAnalyze();
}
}
}
// Free the memory for the dirty region.
if (pDirtyRegion != NULL)
{
pDirtyRegion->Release();
}
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 |
|
DLL |
|