Метод IInkAnalyzer::GetRecognizedString
Извлекает строку наилучшего результата операции распознавания для всего дерева узлов контекста в IInkAnalyzer.
Синтаксис
HRESULT GetRecognizedString(
[out] BSTR *pbstrRecognizedString
);
Параметры
-
pbstrRecognizedString [out]
-
Строка наилучшего результата операции распознавания для всего дерева узлов контекста в IInkAnalyzer.
Возвращаемое значение
Описание возвращаемых значений см. в разделе Классы и интерфейсы — анализ рукописного ввода.
Remarks
Внимание!
Чтобы избежать утечки памяти, вызовите SysFreeString для pbstrRecognizedString , если вам больше не нужно использовать строку.
Этот метод возвращает то же значение, что и данные свойства корневого узла для распознанной строки. (См . раздел IInkAnalyzer::GetRootNode Method, IContextNode::GetPropertyData и Context Node Properties.)
Примеры
В следующем примере показан метод, который выполняет обход дерева результатов IContextNode анализатора рукописного ввода. Если IInkAnlyzer в настоящее время не выполняет анализ рукописного ввода, метод выполняет следующие действия.
- Возвращает верхнюю строку распознавания.
- Возвращает корневой узел анализатора рукописного ввода.
- Вызывает вспомогательный метод ,
ExploreContextNode
чтобы проверить корневой узел и его дочерние узлы.
// Helper method that explores the current analysis results of an ink analyzer.
HRESULT CMyClass::ExploreAnalysisResults(
IInkAnalyzer *pInkAnalyzer)
{
// Check that the ink analyzer is not currently analyzing ink.
VARIANT_BOOL bIsAnalyzing;
HRESULT hr = pInkAnalyzer->IsAnalyzing(&bIsAnalyzing);
if (SUCCEEDED(hr))
{
if (bIsAnalyzing)
{
return E_PENDING;
}
// Get the ink analyzer's best-result string.
BSTR recognizedString = NULL;
hr = pInkAnalyzer->GetRecognizedString(&recognizedString);
if (SUCCEEDED(hr))
{
// Insert code that records the ink analyzer's best-result string here.
// Get the ink analyzer's root node.
IContextNode *pRootNode = NULL;
hr = pInkAnalyzer->GetRootNode(&pRootNode);
if (SUCCEEDED(hr))
{
// Call a helper method that recursively explores context
// nodes and their subnodes.
hr = this->ExploreContextNode(pRootNode);
}
// Release this reference to the root node.
if (pRootNode != NULL)
{
pRootNode->Release();
pRootNode = NULL;
}
}
// Free the system resources for the recognized string.
SysFreeString(recognizedString);
}
return hr;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP Tablet PC Edition [только классические приложения] |
Минимальная версия сервера |
Ни одна версия не поддерживается |
Заголовок |
|
DLL |
|