Méthode IContextNode::GetPropertyData

Récupère les données spécifiques à l’application ou d’autres données de propriété pour l’identificateur spécifié.

Syntaxe

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

Paramètres

pPropertyDataId [in]

Identificateur des données.

pulPropertyDataSize [in, out]

Taille des données en octets. La valeur transmise n’est pas utilisée.

ppbPropertyData [out]

Pointeur vers un tableau d’entiers non signés 8 bits qui contient les données de propriété.

Valeur retournée

Pour obtenir une description des valeurs de retour, consultez Classes et interfaces - Analyse manuscrite.

Notes

Attention

Pour éviter une fuite de mémoire, utilisez CoTaskMemFree pour libérer la mémoire de *ppbPropertyData lorsque vous n’avez plus besoin des informations.

En plus de récupérer les données spécifiques à l’application ajoutées avec IContextNode::AddPropertyData, cette méthode est utilisée pour récupérer des propriétés courantes décrites par les constantes Propriétés du nœud de contexte .

Les propriétés de type chaîne sont les suivantes :

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

La valeur de retour est WCHAR*. Si vous castez le paramètre *ppbPropertyData en WCHAR* , sa longueur renvoyée est (length of the string + 1) * sizeof(WCHAR).

Les propriétés de type booléen sont les suivantes :

  • GUID_AHP_OVERRIDELANGUAGEID
  • GUID_AHP_COERCETOFACTOID
  • GUID_AHP_WORDMODE

La valeur de retour est VARIANT_BOOL. Si vous castez le paramètre *ppbPropertyData en VARIANT_BOOL* sa longueur renvoyée est sizeof(VARIANT_BOOL).

GUID_AHP_GUIDE est une propriété de type guide. La valeur de retour est InkAnalysisRecognitionGuide*. Si vous castez le paramètre *ppbPropertyData en InkAnalysisRecognitionGuide* sa longueur renvoyée est sizeof(InkAnalysisRecognitionGuide).

Les propriétés de type entier sont les suivantes :

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

La valeur de retour est LONG*. Si vous castez le paramètre *ppbPropertyData en LONG* sa longueur renvoyée est sizeof(LONG).

Les propriétés de type métriques de ligne sont les suivantes :

  • GUID_CNP_ASCENDERS
  • GUID_CNP_DESCENDERS
  • GUID_CNP_BASELINE
  • GUID_CNP_MIDLINE

La valeur de retour est LONG*. Si vous castez le paramètre *ppbPropertyData en LONG* sa longueur renvoyée est sizeof(LONG)*4, ce qui signifie les valeurs (x, y) pour les points de départ suivis des valeurs (x, y) pour les points de fin.

GUID_CNP_TEXTRECOGNIZERID est une propriété GUID . La valeur de retour est GUID*. Si vous castez le paramètre *ppbPropertyData en GUID*, sa longueur renvoyée est sizeof(GUID).

GUID_CNP_ROTATEDBOUNDINGBOX est une propriété de cadre englobant pivoté. La valeur de retour est LONG*. Si vous castez le paramètre *ppbPropertyData en LONG* sa longueur renvoyée est sizeof(LONG)*8, ce qui signifie les valeurs (x, y) pour les quatre coins de la zone.

GUID_CNP_HOTPOINT est une propriété de point chaud. La valeur de retour est LONG*. Si vous castez le paramètre *ppbPropertyData en LONG* sa longueur renvoyée est sizeof(LONG)*2, ce qui signifie les valeurs (x, y) pour le point.

GUID_AHP_WORDLIST est une propriété de liste de mots. La valeur de retour est WCHAR*. Si vous castez le paramètre *ppbPropertyData en WCHAR* , sa longueur renvoyée est n * sizeof(WCHAR), où n est la somme des longueurs de chaîne du nombre de chaînes dans la liste plus 1 pour chaque caractère d’arrêt NULL pour chaque chaîne.

Exemples

Cet exemple montre une méthode qui accède à la propriété de nœud de contexte AlignmentLevel d’un type de nœud de contexte 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;
}

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP Édition Tablet PC [applications de bureau uniquement]
Serveur minimal pris en charge
Aucun pris en charge
En-tête
IACom.h (nécessite également IACom_i.c)
DLL
IACom.dll

Voir aussi

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

Informations de référence sur l’analyse manuscrite