IContextNode::GetPropertyData 方法
检索指定标识符的应用程序特定数据或其他属性数据。
语法
HRESULT GetPropertyData(
[in] const GUID *pPropertyDataId,
[in, out] ULONG *pulPropertyDataSize,
[out] BYTE **ppbPropertyData
);
parameters
-
pPropertyDataId [in]
-
数据的标识符。
-
pulPropertyDataSize [in, out]
-
数据的大小(以字节为单位)。 不使用传入的值。
-
ppbPropertyData [out]
-
指向包含属性数据的 8 位无符号整数数组的指针。
返回值
有关返回值的说明,请参阅 类和接口 - 墨迹分析。
备注
注意
若要避免内存泄漏,请在不再需要信息时使用 CoTaskMemFree 从 *ppbPropertyData 释放内存。
除了检索使用 IContextNode::AddPropertyData 添加的应用程序特定数据外,此方法还用于检索 上下文节点属性 常量描述的常见属性。
字符串类型属性包括:
- GUID_CNP_RECOGNIZEDSTRING
- GUID_CNP_SHAPENAME
- GUID_AHP_ANALYSISHINTNAME
- GUID_AHP_PREFIXTEXT
- GUID_AHP_SUFFIXTEXT
- GUID_AHP_FACTOID
返回值为 WCHAR*。 如果将 *ppbPropertyData 参数强制转换为 WCHAR* ,则返回的长度为 (length of the string + 1) * sizeof(WCHAR)
。
布尔类型属性包括:
- GUID_AHP_OVERRIDELANGUAGEID
- GUID_AHP_COERCETOFACTOID
- GUID_AHP_WORDMODE
返回值为 VARIANT_BOOL。 如果将 *ppbPropertyData 参数强制 转换为 VARIANT_BOOL* ,则返回的长度为 sizeof(VARIANT_BOOL)
。
GUID_AHP_GUIDE是参考线类型属性。 返回值为 InkAnalysisRecognitionGuide*。 如果将 *ppbPropertyData 参数强制转换为 InkAnalysisRecognitionGuide* ,则返回的长度为 sizeof(InkAnalysisRecognitionGuide)
。
整数类型属性包括:
- GUID_CNP_LINENUMBER
- GUID_CNP_POINTSPERINCH
- GUID_CNP_CONFIDENCELEVEL
- GUID_CNP_CONFIRMATION
- GUID_CNP_MAXIMUMSTROKECOUNT
- GUID_CNP_SEGMENTATION
- GUID_CNP_ALIGNMENTLEVEL
返回值为 LONG*。 如果将 *ppbPropertyData 参数强制转换为 LONG, 则返回的长度为 sizeof(LONG)
。
行指标类型属性包括:
- GUID_CNP_ASCENDERS
- GUID_CNP_DESCENDERS
- GUID_CNP_BASELINE
- GUID_CNP_MIDLINE
返回值为 LONG*。 如果将 *ppbPropertyData 参数强制转换为 LONG* ,则返回的长度为 sizeof(LONG)*4
,表示起点的 (x、y) 值,后跟 (x、y) 结束点的值。
GUID_CNP_TEXTRECOGNIZERID是 GUID 属性。 返回值为 GUID*。 如果将 *ppbPropertyData 参数强制转换为 GUID, 则返回的长度为 sizeof(GUID)
。
GUID_CNP_ROTATEDBOUNDINGBOX是一个旋转边界框属性。 返回值为 LONG*。 如果将 *ppbPropertyData 参数强制转换为 LONG* ,则返回的长度为 sizeof(LONG)*8
,表示框的四个角 (x、y) 值。
GUID_CNP_HOTPOINT是热点属性。 返回值为 LONG*。 如果将 *ppbPropertyData 参数强制转换为 LONG* ,则返回的长度为 sizeof(LONG)*2
,表示 (x,y) 点的值。
GUID_AHP_WORDLIST是单词列表属性。 返回值为 WCHAR*。 如果将 *ppbPropertyData 参数强制转换为 WCHAR* ,则返回的长度为 n * sizeof(WCHAR)
,其中 n
是列表中字符串数的字符串长度之和加上每个字符串的每个 NULL 终止字符的 1。
示例
此示例演示访问 Paragraph 上下文节点类型的 AlignmentLevel 上下文节点属性的方法。
// Checks a paragraph context node's alignment level property.
// Only paragraph type context nodes contain the alignment level property.
HRESULT CMyClass::ExploreParagraphNode(
IContextNode *pParagraphNode)
{
// Get the AlignmentLevel property data for the paragraph.
LONG * alignmentLevel = NULL;
ULONG ulDataLen = 0;
HRESULT hr = pParagraphNode->GetPropertyData(
(const GUID*)&GUID_CNP_ALIGNMENTLEVEL,
&ulDataLen,
(BYTE**)&alignmentLevel);
if( FAILED(hr) ||
ulDataLen != sizeof(LONG) ||
alignmentLevel == NULL )
{
// Insert code that handles an error here.
}
else
{
// Insert code that uses the alignment level here.
}
// Free the memory allocated for the property data.
::CoTaskMemFree(alignmentLevel);
return hr;
}
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 |
无受支持的版本 |
标头 |
|
DLL |
|