Метод IInkAnalyzer::BackgroundAnalyze
Выполняет асинхронный анализ рукописного ввода.
Синтаксис
HRESULT BackgroundAnalyze();
Параметры
Этот метод не имеет параметров.
Возвращаемое значение
Описание возвращаемых значений см. в разделе Классы и интерфейсы — анализ рукописного ввода.
Комментарии
При вызове этого метода IInkAnalyzer выполняет анализ рукописного ввода в фоновом потоке.
Этот метод возвращает S_FALSE и не запускает новую операцию фонового анализа при следующих обстоятельствах.
- В настоящее время IInkAnalyzer выполняет фоновый анализ.
- область грязное (см. раздел Метод IInkAnalyzer::GetDirtyRegion) представляет пустую область.
IInkAnalyzer анализирует рукописный ввод в своей грязное области во время вызова метода IInkAnalyzer::Analyze или IInkAnalyzer::BackgroundAnalyze Method. Однако IInkAnalyzer может расширить операцию анализа, включив в нее соседние регионы.
Этот метод задает пустой регион грязное.
Если данные росчерка были добавлены в IInkAnalyzer после вызова метода IInkAnalyzer::BackgroundAnalyze, IInkAnalyzer может обновить грязное регион на этапе согласования анализа рукописного ввода.
Параметр режимов анализа (см. раздел Метод IInkAnalyzer::GetAnalysisModes) указывает, как IInkAnalyzer выполняет фоновый анализ. Дополнительные сведения об анализе рукописного ввода см. в статье Общие сведения об анализе рукописного ввода.
Этот метод возвращает код ошибки в следующих случаях.
- Приложение задало значение AnalysisModesAnalysisModes_IntermediateResults в IInkAnalyzer (см. раздел Метод IInkAnalyzer::SetAnalysisModes) и не обрабатывает событие _IAnalysisEvents::IntermediateResults .
- Приложение очистило значение AnalysisModesAnalysisModes_AutomaticReconciliation в IInkAnalyzer (см. раздел Метод IInkAnalyzer::SetAnalysisModes) и не обрабатывает событие _IAnalysisEvents::ReadyToReconcile .
- Приложение не обрабатывает событие _IAnalysisEvents::Results .
- Приложение не обрабатывает событие _IAnalysisEvents::UpdateStrokesCache .
Примеры
В следующем примере проверяется область грязное анализатора рукописного ввода, а затем инициируется фоновый анализ рукописного ввода, если область грязное не пуста.
// 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();
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP Tablet PC Edition [только классические приложения] |
Минимальная версия сервера |
Ни одна версия не поддерживается |
Заголовок |
|
DLL |
|