Interfaccia IAnalysisWarning

Rappresenta un avviso o un errore che si verifica durante un'operazione di analisi dell'input penna.

Membri

L'interfaccia IAnalysisWarning eredita dall'interfaccia IUnknown . IAnalysisWarning include anche questi tipi di membri:

Metodi

L'interfaccia IAnalysisWarning include questi metodi.

Metodo Descrizione
GetBackgroundError Recupera il codice di errore per l'operazione di analisi dell'input penna in background se si è verificato un errore.
GetHint Recupera l'hint di analisi che ha causato questo avviso
GetNodeIds Recupera gli identificatori di tutti i nodi di contesto pertinenti associati a questo avviso.
GetWarningCode Recupera il tipo di avviso che si è verificato usando l'enumerazione AnalysisWarningCode .

Commenti

I tipi di avvisi che possono verificarsi sono descritti dall'enumerazione AnalysisWarningCode . Spesso si verificano avvisi quando si tenta di usare una funzionalità che non è supportata dall'IInkAnalysisRecognizer usato da IInkAnalyzer .

Alcuni avvisi indicano che IInkAnalyzer non ha completato l'operazione di analisi. Per altre informazioni, vedere AnalysisWarningCode.

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 esegue l'iterazione tramite la raccolta 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

IAnalysisWarnings

AnalysisWarningCode

Informazioni di riferimento per l'analisi dell'input penna