Metode IContextNode::GetPropertyData
Mengambil data khusus aplikasi atau data properti lainnya untuk pengidentifikasi yang ditentukan.
Sintaks
HRESULT GetPropertyData(
[in] const GUID *pPropertyDataId,
[in, out] ULONG *pulPropertyDataSize,
[out] BYTE **ppbPropertyData
);
Parameter
-
pPropertyDataId [in]
-
Pengidentifikasi untuk data.
-
pulPropertyDataSize [in, out]
-
Ukuran data dalam byte. Nilai yang diteruskan tidak digunakan.
-
ppbPropertyData [out]
-
Penunjuk ke array bilangan bulat 8-bit yang tidak ditandatangani yang berisi data properti.
Menampilkan nilai
Untuk deskripsi nilai yang dikembalikan, lihat Kelas dan Antarmuka - Analisis Tinta.
Keterangan
Perhatian
Untuk menghindari kebocoran memori, gunakan CoTaskMemFree untuk merilis memori dari *ppbPropertyData ketika Anda tidak lagi memerlukan informasi.
Selain mengambil data khusus aplikasi yang ditambahkan dengan IContextNode::AddPropertyData, metode ini digunakan untuk mengambil properti umum yang dijelaskan oleh konstanta Properti Simpul Konteks .
Properti jenis string meliputi:
- GUID_CNP_RECOGNIZEDSTRING
- GUID_CNP_SHAPENAME
- GUID_AHP_ANALYSISHINTNAME
- GUID_AHP_PREFIXTEXT
- GUID_AHP_SUFFIXTEXT
- GUID_AHP_FACTOID
Nilai yang dikembalikan adalah WCHAR*. Jika Anda mentransmisikan parameter *ppbPropertyData ke WCHAR* panjang yang dikembalikan adalah (length of the string + 1) * sizeof(WCHAR)
.
Properti jenis Boolean meliputi:
- GUID_AHP_OVERRIDELANGUAGEID
- GUID_AHP_COERCETOFACTOID
- GUID_AHP_WORDMODE
Nilai yang dikembalikan VARIANT_BOOL. Jika Anda mentransmisikan parameter *ppbPropertyData ke VARIANT_BOOL* panjang yang dikembalikan adalah sizeof(VARIANT_BOOL)
.
GUID_AHP_GUIDE adalah properti jenis panduan. Nilai yang dikembalikan adalah InkAnalysisRecognitionGuide*. Jika Anda mentransmisikan parameter *ppbPropertyData ke InkAnalysisRecognitionGuide* panjang yang dikembalikan adalah sizeof(InkAnalysisRecognitionGuide)
.
Properti jenis bilangan bulat meliputi:
- GUID_CNP_LINENUMBER
- GUID_CNP_POINTSPERINCH
- GUID_CNP_CONFIDENCELEVEL
- GUID_CNP_CONFIRMATION
- GUID_CNP_MAXIMUMSTROKECOUNT
- GUID_CNP_SEGMENTATION
- GUID_CNP_ALIGNMENTLEVEL
Nilai yang dikembalikan adalah LONG*. Jika Anda mentransmisikan parameter *ppbPropertyData ke LONG* panjang yang dikembalikan adalah sizeof(LONG)
.
Properti jenis metrik baris meliputi:
- GUID_CNP_ASCENDERS
- GUID_CNP_DESCENDERS
- GUID_CNP_BASELINE
- GUID_CNP_MIDLINE
Nilai yang dikembalikan adalah LONG*. Jika Anda mentransmisikan parameter *ppbPropertyData ke LONG* panjang yang dikembalikan adalah sizeof(LONG)*4
, menandakan nilai (x, y) untuk titik awal diikuti oleh nilai (x, y) untuk titik akhir.
GUID_CNP_TEXTRECOGNIZERID adalah properti GUID . Nilai yang dikembalikan adalah GUID*. Jika Anda mentransmisikan parameter *ppbPropertyData ke GUID* panjang yang dikembalikan adalah sizeof(GUID)
.
GUID_CNP_ROTATEDBOUNDINGBOX adalah properti kotak pembatas yang diputar. Nilai yang dikembalikan adalah LONG*. Jika Anda mentransmisikan parameter *ppbPropertyData ke LONG* panjang yang dikembalikan adalah sizeof(LONG)*8
, menandakan nilai (x, y) untuk empat sudut kotak.
GUID_CNP_HOTPOINT adalah properti titik panas. Nilai yang dikembalikan adalah LONG*. Jika Anda mentransmisikan parameter *ppbPropertyData ke LONG* panjang yang dikembalikan adalah sizeof(LONG)*2
, menandakan nilai (x, y) untuk titik tersebut.
GUID_AHP_WORDLIST adalah properti daftar kata. Nilai yang dikembalikan adalah WCHAR*. Jika Anda mentransmisikan parameter *ppbPropertyData ke WCHAR* panjang yang dikembalikan adalah n * sizeof(WCHAR)
, di mana n
adalah jumlah panjang string dari jumlah string dalam daftar ditambah 1 untuk setiap karakter penghentian NULL untuk setiap string.
Contoh
Contoh ini menunjukkan metode yang mengakses properti simpul konteks AlignmentLevel dari jenis node konteks Paragraf.
// 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;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows XP Tablet PC Edition [hanya aplikasi desktop] |
Server minimum yang didukung |
Tidak ada yang didukung |
Header |
|
DLL |
|