Metodo IInkAnalyzer::BackgroundAnalyze
Esegue l'analisi asincrona dell'input penna.
Sintassi
HRESULT BackgroundAnalyze();
Parametri
Questo metodo non presenta parametri.
Valore restituito
Per una descrizione dei valori restituiti, vedere Classi e interfacce - Analisi input penna.
Commenti
Quando viene chiamato questo metodo, IInkAnalyzer esegue l'analisi dell'input penna su un thread in background.
Questo metodo restituisce S_FALSE e non avvia una nuova operazione di analisi in background nelle circostanze seguenti.
- IInkAnalyzer esegue attualmente l'analisi in background.
- l'area dirty (vedere Metodo IInkAnalyzer::GetDirtyRegion) rappresenta un'area vuota.
IInkAnalyzer analizza l'input penna all'interno dell'area dirty durante una chiamata al metodo IInkAnalyzer::Analyze o al metodo IInkAnalyzer::BackgroundAnalyze. Tuttavia, IInkAnalyzer può espandere l'operazione di analisi in modo da includere le aree adiacenti.
Questo metodo imposta l'area dirty su un'area vuota.
Se i dati del tratto sono stati aggiunti a IInkAnalyzer dopo la chiamata al metodo IInkAnalyzer::BackgroundAnalyze, IInkAnalyzer può aggiornare l'area dirty durante la fase di riconciliazione dell'analisi dell'input penna.
L'impostazione delle modalità di analisi (vedere Metodo IInkAnalyzer::GetAnalysisModes) specifica come IInkAnalyzer esegue l'analisi in background. Per altre informazioni sull'analisi dell'input penna, vedere Panoramica dell'analisi dell'input penna.
Questo metodo restituisce un codice di errore nelle circostanze seguenti.
- L'applicazione ha impostato il valore AnalysisModesAnalysisModes_IntermediateResults in IInkAnalyzer (vedere Metodo IInkAnalyzer::SetAnalysisModes) e non gestisce l'evento _IAnalysisEvents::IntermediateResults .
- L'applicazione ha cancellato il valore AnalysisModesAnalysisModes_AutomaticReconciliationnell'oggetto IInkAnalyzer (vedere Metodo IInkAnalyzer::SetAnalysisModes) e non gestisce l'evento _IAnalysisEvents::ReadyToReconcile .
- L'applicazione non gestisce l'evento _IAnalysisEvents::Results .
- L'applicazione non gestisce l'evento _IAnalysisEvents::UpdateStrokesCache .
Esempio
L'esempio seguente controlla l'area dirty dell'analizzatore input penna e quindi avvia l'analisi dell'input penna in background se l'area dirty non è vuota.
// 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();
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows XP Tablet PC Edition [solo app desktop] |
Server minimo supportato |
Nessuno supportato |
Intestazione |
|
DLL |
|