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 |
|
Archivo DLL |
|