ICoNtextNode::GetPropertyData 方法

擷取指定識別碼的應用程式特定資料或其他屬性資料。

語法

HRESULT GetPropertyData(
  [in]      const GUID  *pPropertyDataId,
  [in, out]       ULONG *pulPropertyDataSize,
  [out]           BYTE  **ppbPropertyData
);

參數

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

筆跡分析參考