Compartir a través de


Interfaz IAnalysisWarning

Representa una advertencia o un error que se produce durante una operación de análisis de entrada de lápiz.

Miembros

La interfaz IAnalysisWarning hereda de la interfaz IUnknown . IAnalysisWarning también tiene estos tipos de miembros:

Métodos

La interfaz IAnalysisWarning tiene estos métodos.

Método Descripción
GetBackgroundError Recupera el código de error de la operación de análisis de lápiz en segundo plano si se produjo un error.
GetHint Recupera la sugerencia de análisis que provocó esta advertencia.
GetNodeIds Recupera los identificadores de los nodos de contexto pertinentes asociados a esta advertencia.
GetWarningCode Recupera el tipo de advertencia que se produjo mediante la enumeración AnalysisWarningCode .

Comentarios

Los tipos de advertencias que pueden producirse se describen en la enumeración AnalysisWarningCode . A menudo se producen advertencias cuando se intenta usar una característica que no es compatible con IInkAnalysisRecognizer que está usando IInkAnalyzer .

Algunas advertencias indican que IInkAnalyzer no completó la operación de análisis. Para obtener más información, vea AnalysisWarningCode.

Ejemplos

En el ejemplo siguiente se muestra un esquema de un controlador de eventos para el evento _IAnalysisEvents::Results . El controlador comprueba IAnalysisStatus::IsSuccessful. Si la operación de análisis genera advertencias, el controlador recorre en iteración la colección de objetos IAnalysisWarning .

// _IAnalysisEvents::Results event handler.
STDMETHODIMP CMyClass::Results(
    IInkAnalyzer *pInkAnalyzer,
    IAnalysisStatus *pAnalysisStatus)
{
    // Check the status of the analysis operation.
    VARIANT_BOOL bResult = VARIANT_FALSE;
    HRESULT hr = pAnalysisStatus->IsSuccessful(&bResult);

    if( SUCCEEDED(hr) )
    {
        if( bResult )
        {
            // Insert code that handles a successful result.
        }
        else
        {
            // Get the analysis warnings.
            IAnalysisWarnings* pAnalysisWarnings = NULL;
            hr = pAnalysisStatus->GetWarnings(&pAnalysisWarnings);
            if (SUCCEEDED(hr))
            {
                // Iterate through the warning collection.
                ULONG warningCount = 0;
                hr = pAnalysisWarnings->GetCount(&warningCount);
                if (SUCCEEDED(hr))
                {
                    IAnalysisWarning *pAnalysisWarning = NULL;
                    AnalysisWarningCode analysisWarningCode;
                    for (ULONG index=0; index<warningCount; index++)
                    {
                        // Get an analysis warning.
                        hr = pAnalysisWarnings->GetAnalysisWarning(
                            index, &pAnalysisWarning);

                        if (SUCCEEDED(hr))
                        {
                            // Get the warning code for the warning.
                            hr = pAnalysisWarning->GetWarningCode(
                                &analysisWarningCode);

                            if (SUCCEEDED(hr))
                            {
                                // Insert code that handles each
                                // analysis warning.
                            }
                        }

                        // Release this reference to the analysis warning.
                        if (pAnalysisWarning != NULL)
                        {
                            pAnalysisWarning->Release();
                            pAnalysisWarning = NULL;
                        }

                        if (FAILED(hr))
                        {
                            break;
                        }
                    }
                }
            }

            // Release this reference to the analysis warnings collection.
            if (pAnalysisWarnings != NULL)
            {
                pAnalysisWarnings->Release();
                pAnalysisWarnings = NULL;
            }
        }
    }
    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

IAnalysisWarnings

AnalysisWarningCode

Referencia de análisis de lápiz