Método IContextNode::GetPropertyData

Recupera datos específicos de la aplicación u otros datos de propiedad para el identificador especificado.

Sintaxis

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

Parámetros

pPropertyDataId [in]

Identificador de los datos.

pulPropertyDataSize [in, out]

Tamaño de los datos en bytes. No se usa el valor que se pasa en .

ppbPropertyData [out]

Puntero a una matriz de enteros sin signo de 8 bits que contiene los datos de propiedad.

Valor devuelto

Para obtener una descripción de los valores devueltos, vea Clases e interfaces : análisis de entrada de lápiz.

Observaciones

Precaución

Para evitar una pérdida de memoria, use CoTaskMemFree para liberar la memoria de *ppbPropertyData cuando ya no necesite la información.

Además de recuperar datos específicos de la aplicación que se agregaron con IContextNode::AddPropertyData, este método se usa para recuperar las propiedades comunes descritas por las constantes Propiedades del nodo de contexto .

Las propiedades de tipo de cadena incluyen:

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

El valor devuelto es WCHAR*. Si convierte el parámetro *ppbPropertyData en WCHAR* su longitud devuelta es (length of the string + 1) * sizeof(WCHAR).

Las propiedades booleanas de tipo incluyen:

  • GUID_AHP_OVERRIDELANGUAGEID
  • GUID_AHP_COERCETOFACTOID
  • GUID_AHP_WORDMODE

El valor devuelto es VARIANT_BOOL. Si convierte el parámetro *ppbPropertyData en VARIANT_BOOL* su longitud devuelta es sizeof(VARIANT_BOOL).

GUID_AHP_GUIDE es una propiedad de tipo guía. El valor devuelto es InkAnalysisRecognitionGuide*. Si convierte el parámetro *ppbPropertyData en InkAnalysisRecognitionGuide* su longitud devuelta es sizeof(InkAnalysisRecognitionGuide).

Entre las propiedades de tipo entero se incluyen:

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

El valor devuelto es LONG*. Si convierte el parámetro *ppbPropertyData en LONG* su longitud devuelta es sizeof(LONG).

Las propiedades de tipo de métricas de línea incluyen:

  • GUID_CNP_ASCENDERS
  • GUID_CNP_DESCENDERS
  • GUID_CNP_BASELINE
  • GUID_CNP_MIDLINE

El valor devuelto es LONG*. Si convierte el parámetro *ppbPropertyData en LONG* su longitud devuelta es sizeof(LONG)*4, lo que indica los valores (x, y) de los puntos iniciales seguidos de los valores (x, y) de los puntos finales.

GUID_CNP_TEXTRECOGNIZERID es una propiedad GUID . El valor devuelto es GUID*. Si convierte el parámetro *ppbPropertyData en GUID* su longitud devuelta es sizeof(GUID).

GUID_CNP_ROTATEDBOUNDINGBOX es una propiedad de rectángulo delimitador girado. El valor devuelto es LONG*. Si convierte el parámetro *ppbPropertyData en LONG* su longitud devuelta es sizeof(LONG)*8, lo que significa los valores (x, y) de las cuatro esquinas del cuadro.

GUID_CNP_HOTPOINT es una propiedad de punto frecuente. El valor devuelto es LONG*. Si convierte el parámetro *ppbPropertyData en LONG* su longitud devuelta es sizeof(LONG)*2, lo que indica los valores (x, y) del punto.

GUID_AHP_WORDLIST es una propiedad de lista de palabras. El valor devuelto es WCHAR*. Si convierte el parámetro *ppbPropertyData en WCHAR* su longitud devuelta es n * sizeof(WCHAR), donde n es la suma de las longitudes de cadena del número de cadenas de la lista más 1 para cada carácter de terminación NULL para cada cadena.

Ejemplos

En este ejemplo se muestra un método que tiene acceso a la propiedad de nodo de contexto AlignmentLevel de un tipo de nodo de contexto 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;
}

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP Tablet PC Edition [solo aplicaciones de escritorio]
Servidor mínimo compatible
No se admite ninguno
Encabezado
IACom.h (también requiere IACom_i.c)
Archivo DLL
IACom.dll

Consulte también

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

Referencia de análisis de lápiz