Bagikan melalui


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
IACom.h (juga memerlukan IACom_i.c)
DLL
IACom.dll

Lihat juga

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

Referensi Analisis Tinta