Интерфейс IAnalysisWarning
Представляет предупреждение или ошибку, которая возникает во время операции анализа рукописного ввода.
Элементы
Интерфейс IAnalysisWarning наследуется от интерфейса IUnknown . IAnalysisWarning также имеет следующие типы элементов:
Методы
Интерфейс IAnalysisWarning содержит следующие методы.
Метод | Описание |
---|---|
GetBackgroundError | Извлекает код ошибки для фоновой операции анализа рукописного ввода, если произошла ошибка. |
GetHint | Извлекает указание анализа, вызвавшее это предупреждение. |
GetNodeIds | Извлекает идентификаторы всех соответствующих узлов контекста, связанных с этим предупреждением. |
GetWarningCode | Извлекает тип предупреждения с помощью перечисления AnalysisWarningCode . |
Комментарии
Типы предупреждений, которые могут возникать, описаны перечислением AnalysisWarningCode . Часто предупреждения возникают при попытке использовать функцию, не поддерживаемую IInkAnalysisRecognizer , которую использует IInkAnalyzer .
Некоторые предупреждения указывают на то, что IInkAnalyzer не завершил операцию анализа. Дополнительные сведения см. в разделе AnalysisWarningCode.
Примеры
В следующем примере показана структура обработчика событий для события _IAnalysisEvents::Results . Обработчик проверяет IAnalysisStatus::IsSuccessful. Если операция анализа создает предупреждения, обработчик выполняет итерацию по коллекции объектов 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;
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows XP Tablet PC Edition [только классические приложения] |
Минимальная версия сервера |
Ни одна версия не поддерживается |
Заголовок |
|
DLL |
|