IAnalysisWarning 接口

表示在墨迹分析操作期间发生的警告或错误。

成员

IAnalysisWarning 接口继承自 IUnknown 接口。 IAnalysisWarning 也有以下类型的成员:

方法

IAnalysisWarning 接口具有这些方法。

方法 说明
GetBackgroundError 如果发生错误,则检索后台墨迹分析操作的错误代码。
GetHint 检索导致此警告的分析提示
GetNodeIds 检索与此警告关联的任何相关上下文节点的标识符。
GetWarningCode 使用 AnalysisWarningCode 枚举检索发生的警告类型。

备注

AnalysisWarningCode 枚举描述了可能发生的警告类型。 当你尝试使用 IInkAnalysisRecognizer 正在使用的 IInkAnalysisRecognizer 不支持的功能时,通常会发生警告。

某些警告指示 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 [仅限桌面应用]
最低受支持的服务器
无受支持的版本
标头
IACom.h (还需要 IACom_i.c)
DLL
IACom.dll

另请参阅

IAnalysisWarnings

AnalysisWarningCode

墨迹分析参考