Condividi tramite


Interfaccia IAnalysisStatus

Rappresenta lo stato dell'operazione di analisi dell'input penna descrivendo se l'analisi è stata completata correttamente e se si sono verificati avvisi.

Membri

L'interfaccia IAnalysisStatus eredita dall'interfaccia IUnknown . IAnalysisStatus ha anche questi tipi di membri:

Metodi

L'interfaccia IAnalysisStatus dispone di questi metodi.

Metodo Descrizione
GetAppliedChangesRegion Recupera l'area del documento che corrisponde alle modifiche apportate nell'albero dei nodi di contesto dell'oggetto IInkAnalyzer in seguito all'analisi dell'input penna.
GetWarnings Recupera un insieme IAnalysisWarnings che descrive eventuali errori e avvisi generati dall'operazione di analisi.
IsSuccessful Recupera un riepilogo booleano dei risultati dell'operazione di analisi.

Esempio

Nell'esempio seguente viene illustrata una struttura di un gestore eventi per l'evento _IAnalysisEvents::Results . Il gestore controlla IAnalysisStatus::IsSuccessful. Se l'operazione di analisi genera avvisi, il gestore scorre l'insieme di oggetti 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;
}

Requisiti

Requisito Valore
Client minimo supportato
Windows XP Tablet PC Edition [solo app desktop]
Server minimo supportato
Nessuno supportato
Intestazione
IACom.h (richiede anche IACom_i.c)
DLL
IACom.dll

Vedi anche

Metodo IInkAnalyzer::Analyze

Metodo IInkAnalyzer::BackgroundAnalyze

Riferimento all'analisi dell'input penna