Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Retrieves the IAnalysisWarning object at the specified index.
Syntax
HRESULT GetAnalysisWarning(
[in] ULONG ulIndex,
[out] IAnalysisWarning **ppWarning
);
Parameters
-
ulIndex [in]
-
The zero-based index of the IAnalysisWarning object to get.
-
ppWarning [out]
-
A pointer to the IAnalysisWarning object at the specified index.
Return value
For a description of the return values, see Classes and Interfaces - Ink Analysis.
Remarks
Caution
To avoid a memory leak, call IUnknown::Release on *ppWarning when you no longer need to use the warning.
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 |
|