Metodo IContextNode::GetPropertyData

Recupera dati specifici dell'applicazione o altri dati di proprietà per l'identificatore specificato.

Sintassi

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

Parametri

pPropertyDataId [in]

Identificatore dei dati.

pulPropertyDataSize [in, out]

Dimensioni dei dati in byte. Il valore passato non viene utilizzato.

ppbPropertyData [out]

Puntatore a una matrice integer senza segno a 8 bit che contiene i dati della proprietà.

Valore restituito

Per una descrizione dei valori restituiti, vedere Classi e interfacce - Analisi input penna.

Commenti

Attenzione

Per evitare una perdita di memoria, usare CoTaskMemFree per rilasciare la memoria da *ppbPropertyData quando non sono più necessarie le informazioni.

Oltre a recuperare dati specifici dell'applicazione aggiunti con IContextNode::AddPropertyData, questo metodo viene usato per recuperare le proprietà comuni descritte dalle costanti Proprietà nodo di contesto.

Le proprietà di tipo stringa includono:

  • GUID_CNP_RECOGNIZEDSTRING
  • GUID_CNP_SHAPENAME
  • GUID_AHP_ANALYSISHINTNAME
  • GUID_AHP_PREFIXTEXT
  • GUID_AHP_SUFFIXTEXT
  • GUID_AHP_FACTOID

Il valore restituito è WCHAR*. Se si esegue il cast del parametro *ppbPropertyData in WCHAR* la lunghezza restituita è (length of the string + 1) * sizeof(WCHAR).

Le proprietà di tipo booleano includono:

  • GUID_AHP_OVERRIDELANGUAGEID
  • GUID_AHP_COERCETOFACTOID
  • GUID_AHP_WORDMODE

Il valore restituito è VARIANT_BOOL. Se si esegue il cast del parametro *ppbPropertyData in VARIANT_BOOL* la lunghezza restituita è sizeof(VARIANT_BOOL).

GUID_AHP_GUIDE è una proprietà di tipo guida. Il valore restituito è InkAnalysisRecognitionGuide*. Se si esegue il cast del parametro *ppbPropertyData in InkAnalysisRecognitionGuide* la lunghezza restituita è sizeof(InkAnalysisRecognitionGuide).

Le proprietà di tipo integer includono:

  • GUID_CNP_LINENUMBER
  • GUID_CNP_POINTSPERINCH
  • GUID_CNP_CONFIDENCELEVEL
  • GUID_CNP_CONFIRMATION
  • GUID_CNP_MAXIMUMSTROKECOUNT
  • GUID_CNP_SEGMENTATION
  • GUID_CNP_ALIGNMENTLEVEL

Il valore restituito è LONG*. Se si esegue il cast del parametro *ppbPropertyData su LONG* la lunghezza restituita è sizeof(LONG).

Le proprietà di tipo metrica riga includono:

  • GUID_CNP_ASCENDERS
  • GUID_CNP_DESCENDERS
  • GUID_CNP_BASELINE
  • GUID_CNP_MIDLINE

Il valore restituito è LONG*. Se si esegue il cast del parametro *ppbPropertyData su LONG* la lunghezza restituita è sizeof(LONG)*4, indicando i valori (x, y) per i punti iniziali seguiti dai valori (x, y) per i punti finali.

GUID_CNP_TEXTRECOGNIZERID è una proprietà GUID . Il valore restituito è GUID*. Se si esegue il cast del parametro *ppbPropertyData in GUID* la lunghezza restituita è sizeof(GUID).

GUID_CNP_ROTATEDBOUNDINGBOX è una proprietà del rettangolo di selezione ruotata. Il valore restituito è LONG*. Se si esegue il cast del parametro *ppbPropertyData su LONG* la lunghezza restituita è sizeof(LONG)*8, indicando i valori (x, y) per i quattro angoli della casella.

GUID_CNP_HOTPOINT è una proprietà del punto attivo. Il valore restituito è LONG*. Se si esegue il cast del parametro *ppbPropertyData su LONG* la lunghezza restituita è sizeof(LONG)*2, indicando i valori (x, y) per il punto.

GUID_AHP_WORDLIST è una proprietà dell'elenco di parole. Il valore restituito è WCHAR*. Se si esegue il cast del parametro *ppbPropertyData su WCHAR* la lunghezza restituita è n * sizeof(WCHAR), dove n è la somma delle lunghezze di stringa del numero di stringhe nell'elenco più 1 per ogni carattere di terminazione NULL per ogni stringa.

Esempio

In questo esempio viene illustrato un metodo che accede alla proprietà del nodo di contesto AlignmentLevel di un tipo di nodo di contesto Paragraph.

// 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;
}

Requisiti

Requisito Valore
Client minimo supportato
Windows XP Tablet PC Edition [solo app desktop]
Server minimo supportato
Nessuno supportato
Intestazione
IACom.h (richiede anche IACom_i.c)
DLL
IACom.dll

Vedi anche

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

Riferimento all'analisi dell'input penna