IInkAnalyzer::GetRecognizedString 方法
检索 IInkAnalyzer 中整个上下文节点树的识别操作的最佳结果字符串。
语法
HRESULT GetRecognizedString(
[out] BSTR *pbstrRecognizedString
);
参数
-
pbstrRecognizedString [out]
-
IInkAnalyzer 中整个上下文节点树的识别操作的最佳结果字符串。
返回值
有关返回值的说明,请参阅 类和接口 - 墨迹分析。
备注
注意
若要避免内存泄漏,请在不再需要使用该字符串时为 pbstrRecognizedString 调用 SysFreeString。
此方法返回与已识别字符串的根节点属性数据相同的值。 (请参阅 IInkAnalyzer::GetRootNode 方法、 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 |
|