Интерфейс IAnalysisStatus
Представляет состояние операции анализа рукописного ввода, описывая, был ли анализ успешно выполнен и были ли предупреждения.
Элементы
Интерфейс IAnalysisStatus наследуется от интерфейса IUnknown . IAnalysisStatus также имеет следующие типы элементов:
Методы
Интерфейс IAnalysisStatus содержит следующие методы.
Метод | Описание |
---|---|
GetAppliedChangesRegion | Извлекает область документа, соответствующую изменениям, выполненным в дереве контекстных узлов объекта IInkAnalyzer в результате анализа рукописного ввода. |
GetWarnings | Извлекает коллекцию IAnalysisWarnings , которая описывает все ошибки и предупреждения, созданные операцией анализа. |
IsSuccessful | Извлекает логическую сводку результатов операции анализа. |
Примеры
В следующем примере показана структура обработчика событий для события _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 |
|