IInkAnalyzer :: BackgroundAnalyze, méthode
Effectue une analyse d’encre asynchrone.
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-analysede l’encre.
Notes
Lorsque cette méthode est appelée, le IInkAnalyzer effectue l’analyse de l’encre 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 modifiée (consultez la méthode IInkAnalyzer :: GetDirtyRegion) représente une zone vide.
Le IInkAnalyzer analyse l’encre au sein de sa région modifiée pendant un appel à la méthode IInkAnalyzer :: Analyze ou à la méthode IInkAnalyzer :: BackgroundAnalyze. Toutefois, le IInkAnalyzer peut développer l’opération d’analyse pour inclure les régions voisines.
Cette méthode définit la région de modification sur une zone vide.
Si les données de trait ont été ajoutées au IInkAnalyzer après l’appel de la méthode IInkAnalyzer :: BackgroundAnalyze, le IInkAnalyzer peut mettre à jour la région modifiée pendant la phase de rapprochement de l’analyse de l’encre.
Le paramètre des modes d’analyse (consultez la méthode IInkAnalyzer :: GetAnalysisModes) spécifie la manière dont le IInkAnalyzer effectue une analyse en arrière-plan. Pour plus d’informations sur l’analyse des encres, consultez vue d’ensemblede l’analyse de l’encre.
Cette méthode retourne un code d’erreur dans les circonstances suivantes.
- Votre application a défini la valeur AnalysisModes AnalysisModes _ IntermediateResults dans le IInkAnalyzer (consultez la méthode IInkAnalyzer :: SetAnalysisModes) et ne gère pas l’événement _ IAnalysisEvents :: IntermediateResults .
- Votre application a effacé la valeur AnalysisModes AnalysisModes _ AutomaticReconciliation dans le IInkAnalyzer (consultez la 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 de modification de l’analyseur d’encre, puis lance l’analyse de l’encre en arrière-plan si la région modifiée 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();
}
Configuration requise
| Condition requise | Valeur |
|---|---|
| Client minimal pris en charge |
Applications de bureau Windows XP Édition Tablet PC [ uniquement] |
| Serveur minimal pris en charge |
Aucun pris en charge |
| En-tête |
|
| DLL |
|