Метод IInkAnalyzer::Analyze
Выполняет синхронный анализ рукописного ввода.
Синтаксис
HRESULT Analyze(
[out] IAnalysisStatus **ppStatus
);
Параметры
-
ppStatus [out]
-
Указатель на IAnalysisStatus , описывающий состояние операции анализа.
Возвращаемое значение
Описание возвращаемых значений см. в разделе Классы и интерфейсы — анализ рукописного ввода.
Remarks
Внимание!
Чтобы избежать утечки памяти, вызовите метод IUnknown::Release в ppStatus , если вам больше не нужно использовать состояние анализа.
Этот метод запускает синхронную операцию анализа рукописного ввода. Анализ рукописного ввода включает анализ макета, классификацию текста и рисования, а также распознавание рукописного ввода. Этот метод возвращается после завершения операции анализа.
Этот метод возвращает E_POINTER , если ppStatus имеет значение NULL.
Во время вызова метода IInkAnalyzer::Analyze или метода IInkAnalyzer::BackgroundAnalyzeIInkAnalyzer анализирует рукописный ввод в пределах грязное области (см. раздел Метод IInkAnalyzer::GetDirtyRegion). Однако IInkAnalyzer может расширить операцию анализа, включив в нее соседние регионы.
Этот метод задает для грязное области объекта IInkAnalyzer пустую область. Если другой поток добавил данные росчерка, которые не были проанализированы, IInkAnalyzer добавляет ограничивающий прямоугольник неанализированных штрихов в свою грязное область на этапе согласования анализа.
Этот метод возвращает ошибку, если приложение не обрабатывает событие _IAnalysisEvents::UpdateStrokesCache .
IInkAnalyzer не вызывает события _IAnalysisEvents::Results и _IAnalysisEvents::IntermediateResults в ответ на этот метод.
Чтобы изменить способ выполнения анализа рукописного ввода, используйте метод IInkAnalyzer::SetAnalysisModes.
Дополнительные сведения об анализе рукописного ввода см. в статье Общие сведения об анализе рукописного ввода.
Примеры
В следующем примере выполняется анализ рукописного ввода переднего плана.
// Perform synchronous ink analysis.
IAnalysisStatus *pAnalysisStatus = NULL;
hr = this->m_spIInkAnalyzer->Analyze(&pAnalysisStatus);
if (SUCCEEDED(hr))
{
// Insert code that processes the analysis results.
}
// Release this reference to the analysis status.
if (pAnalysisStatus != NULL)
{
pAnalysisStatus->Release();
pAnalysisStatus = NULL;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP Tablet PC Edition [только классические приложения] |
Минимальная версия сервера |
Ни одна версия не поддерживается |
Заголовок |
|
DLL |
|