Compartir a través de


IInkAnalyzer::GetRecognizedString (Método)

Recupera la cadena de mejor resultado de la operación de reconocimiento para todo el árbol de nodos de contexto en IInkAnalyzer.

Sintaxis

HRESULT GetRecognizedString(
  [out] BSTR *pbstrRecognizedString
);

Parámetros

pbstrRecognizedString [out]

Cadena de mejor resultado de la operación de reconocimiento para todo el árbol de nodos de contexto en IInkAnalyzer.

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, llame a SysFreeString para pbstrRecognizedString cuando ya no necesite usar la cadena.

Este método devuelve el mismo valor que los datos de propiedad del nodo raíz para la cadena reconocida. (Vea IInkAnalyzer::GetRootNode (Método),IContextNode::GetPropertyData y propiedades del nodo de contexto).

Ejemplos

En el ejemplo siguiente se muestra un método que recorre el árbol de resultados de IContextNode del analizador de lápiz. Si el IInkAnlyzer no está realizando actualmente análisis de entrada de lápiz, el método realiza lo siguiente.

  • Obtiene la cadena de reconocimiento superior.
  • Obtiene el nodo raíz del analizador de lápiz.
  • Llama a un método auxiliar, ExploreContextNode, para examinar el nodo raíz y sus nodos secundarios.
// Helper method that explores the current analysis results of an ink analyzer.
HRESULT CMyClass::ExploreAnalysisResults(
    IInkAnalyzer *pInkAnalyzer)
{
    // Check that the ink analyzer is not currently analyzing ink.
    VARIANT_BOOL bIsAnalyzing;
    HRESULT hr = pInkAnalyzer->IsAnalyzing(&bIsAnalyzing);

    if (SUCCEEDED(hr))
    {
        if (bIsAnalyzing)
        {
            return E_PENDING;
        }

        // Get the ink analyzer's best-result string.
        BSTR recognizedString = NULL;
        hr = pInkAnalyzer->GetRecognizedString(&recognizedString);

        if (SUCCEEDED(hr))
        {
            // Insert code that records the ink analyzer's best-result string here.

            // Get the ink analyzer's root node.
            IContextNode *pRootNode = NULL;
            hr = pInkAnalyzer->GetRootNode(&pRootNode);

            if (SUCCEEDED(hr))
            {
                // Call a helper method that recursively explores context
                // nodes and their subnodes.
                hr = this->ExploreContextNode(pRootNode);
            }

            // Release this reference to the root node.
            if (pRootNode != NULL)
            {
                pRootNode->Release();
                pRootNode = NULL;
            }
        }

        // Free the system resources for the recognized string.
        SysFreeString(recognizedString);
    }

    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

Vea también

IInkAnalyzer

Referencia de análisis de lápiz