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