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 |
|
DLL |
|