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 |
|
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour