IAnalysisWarning interface
Represents a warning or error that occurs during an ink analysis operation.
Members
The IAnalysisWarning interface inherits from the IUnknown interface. IAnalysisWarning also has these types of members:
Methods
The IAnalysisWarning interface has these methods.
Method | Description |
---|---|
GetBackgroundError | Retrieves the error code for the background ink analysis operation if an error occurred. |
GetHint | Retrieves the analysis hint that caused this warning |
GetNodeIds | Retrieves the identifiers of any relevant context nodes that are associated with this warning. |
GetWarningCode | Retrieves the type of warning that occurred by using the AnalysisWarningCode enumeration. |
Remarks
The types of warnings that can occur are described by the AnalysisWarningCode enumeration. Often warnings occur when you try to use a feature that is not supported by the IInkAnalysisRecognizer that the IInkAnalyzer is using.
Some warnings indicate that the IInkAnalyzer did not complete the analysis operation. For more information, see AnalysisWarningCode.
Examples
The following example shows an outline of an event handler for the _IAnalysisEvents::Results event. The handler checks IAnalysisStatus::IsSuccessful. If the analysis operation generates warnings, the handler iterates through the collection of IAnalysisWarning objects.
// _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;
}
Requirements
Requirement | Value |
---|---|
Minimum supported client |
Windows XP Tablet PC Edition [desktop apps only] |
Minimum supported server |
None supported |
Header |
|
DLL |
|