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 [僅限傳統型應用程式] |
最低支援的伺服器 |
都不支援 |
標頭 |
|
DLL |
|