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