Método IContextNode::GetPropertyData

Recupera dados específicos do aplicativo ou outros dados de propriedade para o identificador especificado.

Sintaxe

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

Parâmetros

pPropertyDataId [in]

O identificador dos dados.

pulPropertyDataSize [in, out]

O tamanho dos dados em bytes. O valor passado não é usado.

ppbPropertyData [out]

Um ponteiro para uma matriz de inteiros sem sinal de 8 bits que contém os dados da propriedade.

Valor retornado

Para obter uma descrição dos valores retornados, consulte Classes e Interfaces – Análise de Tinta.

Comentários

Cuidado

Para evitar um vazamento de memória, use CoTaskMemFree para liberar a memória de *ppbPropertyData quando você não precisar mais das informações.

Além de recuperar dados específicos do aplicativo que foram adicionados com IContextNode::AddPropertyData, esse método é usado para recuperar propriedades comuns descritas pelas constantes Propriedades do Nó de Contexto .

As propriedades do tipo cadeia de caracteres incluem:

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

O valor retornado é WCHAR*. Se você converter o parâmetro *ppbPropertyData para WCHAR* seu comprimento retornado será (length of the string + 1) * sizeof(WCHAR).

As propriedades do tipo booliano incluem:

  • GUID_AHP_OVERRIDELANGUAGEID
  • GUID_AHP_COERCETOFACTOID
  • GUID_AHP_WORDMODE

O valor retornado é VARIANT_BOOL. Se você converter o parâmetro *ppbPropertyData para VARIANT_BOOL* seu comprimento retornado será sizeof(VARIANT_BOOL).

GUID_AHP_GUIDE é uma propriedade do tipo guia. O valor retornado é InkAnalysisRecognitionGuide*. Se você converter o parâmetro *ppbPropertyData para InkAnalysisRecognitionGuide* seu comprimento retornado será sizeof(InkAnalysisRecognitionGuide).

As propriedades do tipo inteiro incluem:

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

O valor retornado é LONG*. Se você converter o parâmetro *ppbPropertyData para LONG* seu comprimento retornado será sizeof(LONG).

As propriedades do tipo métricas de linha incluem:

  • GUID_CNP_ASCENDERS
  • GUID_CNP_DESCENDERS
  • GUID_CNP_BASELINE
  • GUID_CNP_MIDLINE

O valor retornado é LONG*. Se você converter o parâmetro *ppbPropertyData para LONG* seu comprimento retornado é sizeof(LONG)*4, significando os valores (x, y) para os pontos iniciais seguidos pelos valores (x, y) para os pontos finais.

GUID_CNP_TEXTRECOGNIZERID é uma propriedade GUID . O valor retornado é GUID*. Se você converter o parâmetro *ppbPropertyData para GUID* seu comprimento retornado será sizeof(GUID).

GUID_CNP_ROTATEDBOUNDINGBOX é uma propriedade de caixa delimitadora girada. O valor retornado é LONG*. Se você converter o parâmetro *ppbPropertyData para LONG* seu comprimento retornado é sizeof(LONG)*8, significando os valores (x, y) para os quatro cantos da caixa.

GUID_CNP_HOTPOINT é uma propriedade de ponto quente. O valor retornado é LONG*. Se você converter o parâmetro *ppbPropertyData para LONG* seu comprimento retornado é sizeof(LONG)*2, significando os valores (x, y) para o ponto.

GUID_AHP_WORDLIST é uma propriedade de lista de palavras. O valor retornado é WCHAR*. Se você converter o parâmetro *ppbPropertyData para WCHAR* seu comprimento retornado é n * sizeof(WCHAR), em que n é a soma dos comprimentos de cadeia de caracteres do número de cadeias de caracteres na lista mais 1 para cada caractere de terminação NULL para cada cadeia de caracteres.

Exemplos

Este exemplo mostra um método que acessa a propriedade de nó de contexto AlignmentLevel de um tipo de nó 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 Valor
Cliente mínimo com suporte
Windows XP Tablet PC Edition [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Nenhum compatível
Cabeçalho
IACom.h (também requer IACom_i.c)
DLL
IACom.dll

Confira também

IContextNode

IContextNode::AddPropertyData

IContextNode::RemovePropertyData

IContextNode::GetPropertyDataIds

IContextNode::ContainsPropertyData

IContextNode::LoadPropertiesData

IContextNode::SavePropertiesData

Referência de análise de tinta