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 [仅限桌面应用]
最低受支持的服务器
无受支持的版本
标头
IACom.h (还需要 IACom_i.c)
DLL
IACom.dll

另请参阅

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

墨迹分析参考