Freigeben über


IContextNode::GetPropertyData-Methode

Ruft anwendungsspezifische Daten oder andere Eigenschaftendaten 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 ganzzahliges 8-Bit-Array ohne Vorzeichen, das die Eigenschaftendaten enthält.

Rückgabewert

Eine Beschreibung der Rückgabewerte finden Sie unter Klassen und Schnittstellen – Freihandanalyse.

Bemerkungen

Achtung

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

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

Zu den Eigenschaften vom Typ Zeichenfolgen gehören:

  • 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* umwandeln, ist (length of the string + 1) * sizeof(WCHAR)die zurückgegebene Länge .

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* umwandeln, ist sizeof(VARIANT_BOOL)die zurückgegebene Länge .

GUID_AHP_GUIDE ist eine Eigenschaft vom Typ "Guide". Der Rückgabewert ist InkAnalysisRecognitionGuide*. Wenn Sie den *ppbPropertyData-Parameter in InkAnalysisRecognitionGuide* umwandeln, ist sizeof(InkAnalysisRecognitionGuide)die zurückgegebene Länge .

Zu den Eigenschaften vom Typ Integer gehören:

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

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

Zu den Eigenschaften des Zeilenmetrikentyps gehören:

  • GUID_CNP_ASCENDERS
  • GUID_CNP_DESCENDERS
  • GUID_CNP_BASELINE
  • GUID_CNP_MIDLINE

Der Rückgabewert ist LONG*. Wenn Sie den *ppbPropertyData-Parameter in LONG* umwandeln, ist sizeof(LONG)*4seine zurückgegebene Länge , die die Werte (x, y) für die Startpunkte, gefolgt von den (x, y)-Werten für die Endpunkte darstellt.

GUID_CNP_TEXTRECOGNIZERID ist eine GUID-Eigenschaft . Der Rückgabewert ist GUID*. Wenn Sie den Parameter *ppbPropertyData in GUID* umwandeln, ist sizeof(GUID)die zurückgegebene Länge .

GUID_CNP_ROTATEDBOUNDINGBOX ist eine gedrehte Begrenzungsrahmeneigenschaft. Der Rückgabewert ist LONG*. Wenn Sie den *ppbPropertyData-Parameter in LONG* umwandeln, ist sizeof(LONG)*8seine zurückgegebene Länge , was die Werte (x, y) für die vier Ecken des Felds anzeigt.

GUID_CNP_HOTPOINT ist eine Heißpunkteigenschaft. Der Rückgabewert ist LONG*. Wenn Sie den *ppbPropertyData-Parameter in LONG* umwandeln, ist sizeof(LONG)*2seine zurückgegebene Länge , was die Werte (x, y) für den Punkt anzeigt.

GUID_AHP_WORDLIST ist eine Wortlisteneigenschaft. Der Rückgabewert ist WCHAR*. Wenn Sie den *ppbPropertyData-Parameter in WCHAR* umwandeln, ist n * sizeof(WCHAR)seine zurückgegebene Länge , wobei n die Summe der 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;
}

Anforderungen

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

Siehe auch

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

Freihandanalysereferenz