Compartir a través de


Interfaz IAnalysisStatus

Representa el estado de la operación de análisis de entrada de lápiz mediante la descripción de si el análisis se completó correctamente y si se produjo alguna advertencia.

Miembros

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

Métodos

La interfaz IAnalysisStatus tiene estos métodos.

Método Descripción
GetAppliedChangesRegion Recupera la región del documento que corresponde a los cambios realizados en el árbol de nodos de contexto del objeto IInkAnalyzer como resultado del análisis de entrada de lápiz.
GetWarnings Recupera una colección IAnalysisWarnings que describe los errores y advertencias generados por la operación de análisis.
IsSuccessful Recupera un resumen booleano de los resultados de la operación de análisis.

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

Vea también

IInkAnalyzer::Analyze (Método)

IInkAnalyzer::BackgroundAnalyze (Método)

Referencia de análisis de lápiz