IContextNode::GetPropertyData-Methode

Ruft anwendungsspezifische Daten oder andere Eigenschaftsdaten für den angegebenen Bezeichner ab.

Syntax

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

Parameter

pPropertyDataId [ In]

Der Bezeichner für die Daten.

pulPropertyDataSize [ in, out]

Die Größe der Daten in Bytes. Der übergebene Wert wird nicht verwendet.

ppbPropertyData [ out]

Ein Zeiger auf ein 8-Bit-Ganzzahlarray ohne Vorzeichen, das die Eigenschaftsdaten enthält.

Rückgabewert

Eine Beschreibung der Rückgabewerte finden Sie unter Klassen und Schnittstellen – Ink-Analyse.

Bemerkungen

Achtung

Um einen Speicherverlust zu vermeiden, verwenden Sie CoTaskMemFree, um den Arbeitsspeicher von * ppbPropertyData freizugeben, wenn Sie die Informationen nicht mehr benötigen.

Zusätzlich zum Abrufen anwendungsspezifischer Daten, die mit IContextNode::AddPropertyDatahinzugefügt wurden, wird diese Methode verwendet, um allgemeine Eigenschaften abzurufen, die von den Konstanten für Kontextknoteneigenschaften beschrieben werden.

Die Eigenschaften des Zeichenfolgentyps umfassen Folgendes:

  • GUID _ CNP _ RECOGNIZEDSTRING
  • GUID _ CNP _ SHAPENAME
  • GUID _ AHP _ ANALYSISHINTNAME
  • GUID _ AHP _ PREFIXTEXT
  • GUID _ AHP _ SUFFIXTEXT
  • GUID _ AHP _ FACTOID

Der Rückgabewert ist **WCHAR **. Wenn Sie den _ ppbPropertyData-Parameter in ** WCHAR umbenennen, lautet die zurückgegebene Länge (length of the string + 1) _ sizeof(WCHAR) .

Zu den Booleschen Eigenschaften gehören:

  • GUID _ AHP _ OVERRIDELANGUAGEID
  • GUID _ AHP _ COERCETOFACTOID
  • GUID _ AHP _ WORDMODE

Der Rückgabewert ist VARIANT _ BOOL. Wenn Sie den * ppbPropertyData-Parameter in VARIANT _ BOOL * umbenennen, lautet die zurückgegebene Länge sizeof(VARIANT_BOOL) .

GUID _ AHP _ GUIDE ist eine Eigenschaft vom Typ "Guide". Der Rückgabewert ist *InkAnalysisRecognitionGuide * _. Wenn Sie den _ ppbPropertyData-Parameter in * InkAnalysisRecognitionGuide umbenennen, lautet die zurückgegebene Länge sizeof(InkAnalysisRecognitionGuide) .

Eigenschaften vom Typ "Integer" umfassen:

  • GUID _ CNP _ LINENUMBER
  • _ _ GUID-CNP-PUNKTEPERINCH
  • GUID _ CNP _ CONFIDENCELEVEL
  • _GUID-CNP-BESTÄTIGUNG _
  • GUID _ CNP _ MAXIMUMSTROKECOUNT
  • _GUID-CNP-SEGMENTIERUNG _
  • GUID _ CNP _ ALIGNMENTLEVEL

Der Rückgabewert ist *LONG * _. Wenn Sie den _ ppbPropertyData-Parameter in LONG * umbenennen, lautet die zurückgegebene Länge sizeof(LONG) .

Eigenschaften vom Typ "Linienmetriken" umfassen Folgendes:

  • GUID _ CNP _ ASCENDERS
  • GUID _ CNP _ DESCENDERS
  • _GUID-CNP-BASELINE _
  • GUID _ CNP _ MIDLINE

Der Rückgabewert ist **LONG **. Wenn Sie den _ ppbPropertyData-Parameter in *LONG * umbenennen, ist die zurückgegebene Länge sizeof(LONG)_4 , was die (x, y) Werte für die Startpunkte gefolgt von den (x, y) Werten für die Endpunkte anschreibt.

GUID _ CNP _ TEXTRECOGNIZERID ist eine GUID-Eigenschaft. Der Rückgabewert ist *GUID * _. Wenn Sie den _ ppbPropertyData-Parameter in GUID umbenennen, lautet die zurückgegebene * Länge sizeof(GUID) .

GUID _ CNP _ ROTATEDBOUNDINGBOX ist eine gedrehte Begrenzungsfeldeigenschaft. Der Rückgabewert ist **LONG **. Wenn Sie den _ ppbPropertyData-Parameter in ** LONG umbenennen, ist die zurückgegebene Länge sizeof(LONG)_8 , was die (x, y) -Werte für die vier Ecken des Felds darstellt.

GUID _ CNP _ HOTPOINT ist eine Hot Point-Eigenschaft. Der Rückgabewert ist **LONG **. Wenn Sie den _ ppbPropertyData-Parameter in *LONG * umbenennen, lautet die zurückgegebene Länge sizeof(LONG)_2 , was die (x, y) -Werte für den Punkt darstellt.

GUID _ AHP _ WORDLIST ist eine Wortlisteneigenschaft. Der Rückgabewert ist **WCHAR **. Wenn Sie den _ ppbPropertyData-Parameter in *WCHAR * umbenennen, lautet die zurückgegebene Länge n _ sizeof(WCHAR) , wobei die Summe der n Zeichenfolgenlängen der Anzahl der Zeichenfolgen in der Liste plus 1 für jedes NULL-Beendigungszeichen für jede Zeichenfolge ist.

Beispiele

Dieses Beispiel zeigt eine Methode, die auf die AlignmentLevel-Kontextknoteneigenschaft eines Absatzkontextknotentyps zugreift.

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

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Nur Desktop-Apps der XP Tablet PC Edition []
Unterstützte Mindestversion (Server)
Nicht unterstützt
Header
IACom.h (erfordert auch IACom _ i.c)
DLL
IACom.dll

Weitere Informationen

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

Referenz zur Ink-Analyse