Método IInkAnalyzer::BackgroundAnalyze
Realiza análisis asincrónicos de entrada de lápiz.
Sintaxis
HRESULT BackgroundAnalyze();
Parámetros
Este método no tiene parámetros.
Valor devuelto
Para obtener una descripción de los valores devueltos, vea Clases e interfaces : análisis de entrada de lápiz.
Observaciones
Cuando se llama a este método, IInkAnalyzer realiza el análisis de entrada de lápiz en un subproceso de fondo.
Este método devuelve S_FALSE y no inicia una nueva operación de análisis en segundo plano en las siguientes circunstancias.
- IInkAnalyzer está realizando actualmente un análisis en segundo plano.
- la región desfasada (vea IInkAnalyzer::GetDirtyRegion (Método) representa un área vacía.
El IInkAnalyzer analiza la entrada de lápiz dentro de su región sucia durante una llamada a IInkAnalyzer::Analyze (Método) o IInkAnalyzer::BackgroundAnalyze (Método). Sin embargo, IInkAnalyzer puede expandir la operación de análisis para incluir regiones vecinas.
Este método establece la región desfasada en una región vacía.
Si se agregaron datos de trazo al IInkAnalyzer después de la llamada a IInkAnalyzer::BackgroundAnalyze Method, el IInkAnalyzer puede actualizar la región sucia durante la fase de conciliación del análisis de tinta.
La configuración de modos de análisis (vea IInkAnalyzer::GetAnalysisModes Method) especifica cómo realiza el análisis en segundo plano IInkAnalyzer . Para obtener más información sobre el análisis de entrada de lápiz, vea Información general sobre el análisis de lápiz.
Este método devuelve un código de error en las siguientes circunstancias.
- La aplicación ha establecido el valor analysisModesAnalysisModes_IntermediateResults en el IInkAnalyzer (vea IInkAnalyzer::SetAnalysisModes Method) y no controla el evento _IAnalysisEvents::IntermediateResults .
- La aplicación ha borrado el valor analysisModesAnalysisModes_AutomaticReconciliation en el IInkAnalyzer (vea IInkAnalyzer::SetAnalysisModes Method) y no controla el evento _IAnalysisEvents::ReadyToReconcile .
- La aplicación no controla el evento _IAnalysisEvents::Results .
- La aplicación no controla el evento _IAnalysisEvents::UpdateStrokesCache .
Ejemplos
En el ejemplo siguiente se comprueba la región sucia del analizador de tinta y, a continuación, se inicia el análisis de entrada de lápiz en segundo plano si la región desfasada no está vacía.
// 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();
}
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows XP Tablet PC Edition [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
No se admite ninguno |
Encabezado |
|
Archivo DLL |
|