IInkAnalyzer::AddStrokesToCustomRecognizer 方法
将多个笔划的笔划数据添加到自定义识别器节点。
语法
HRESULT AddStrokesToCustomRecognizer(
[in] ULONG ulStrokeIdsCount,
[in] LONG *plStrokeIds,
[in] ULONG ulStrokePacketDescriptionCount,
[in] GUID *pStrokePacketDescriptionGuids,
[in] ULONG *pulPacketDataCountPerStroke,
[in] LONG *plStrokePacketData,
[in] IContextNode *pCustomRecognizer,
[out] IContextNode **ppContextNodeStrokeAddedTo
);
parameters
-
ulStrokeIdsCount [in]
-
要添加的笔划数。
-
plStrokeIds [in]
-
包含笔划标识符的数组。
-
ulStrokePacketDescriptionCount [in]
-
每个数据包中的属性数。
-
pStrokePacketDescriptionGuids [in]
-
包含数据包属性标识符的数组。
-
pulPacketDataCountPerStroke [in]
-
一个数组,其中包含每个笔划中的数据包数。
-
plStrokePacketData [in]
-
包含笔划的数据包数据的数组。
-
pCustomRecognizer [in]
-
要向其添加笔划的 CustomRecognizer 类型的 IContextNode。
-
ppContextNodeStrokeAddedTo [out]
-
墨迹分析器向其中添加笔划的 IContextNode 。
返回值
有关返回值的说明,请参阅 类和接口 - 墨迹分析。
备注
注意
若要避免内存泄漏,请在不再需要使用 对象时在 ppContextNodeStrokeAddedTo 上调用 IUnknown::Release。
当 ppContextNodeStrokeAddedTo 为 NULL 时,表示调用方对方法的返回值不感兴趣。
IInkAnalyzer 将笔划添加到 CustomRecognizer 类型的 IContextNode (请参阅上下文节点类型) 。 此节点位于根节点的子节点集合中, (请参阅 IInkAnalyzer::GetRootNode 方法和IContextNode::GetSubNodes 方法) 。
IInkAnalyzer 将活动输入线程的区域性标识符分配给笔划,并将笔划添加到 CustomRecognizer 节点下的第一个 UnclassifiedInk 节点。 如果 UnclassifiedInk 节点不存在,则会创建该节点。 如果与 CustomRecognizer 节点关联的 IInkAnalysisRecognizer 不支持区域性标识符,则 IInkAnalyzer 将继续分析并生成 IAnalysisWarning 警告。 此警告的 AnalysisWarningCode 值为 AnalysisWarningCode_LanguageIdNotRespected。
plStrokePacketData 包含所有笔划的数据包数据。 pStrokePacketDescriptionGuids 包含全局唯一标识符 (GUID) ,用于描述每个笔划中每个点包含的数据包数据类型。 有关可用数据包属性的完整列表,请参阅 PacketPropertyGuids 常量。
注意
在对 IInkAnalyzer::AddStrokesToCustomRecognizer 方法的单个调用中,只能添加具有相同数据包说明的笔划。
此方法将脏区域扩展到该区域的当前值和所添加笔划的边界框的联合。
在以下情况下,IInkAnalyzer 返回E_INVALIDARGHRESULT。
- IInkAnalyzer 已包含一个笔划,其标识符与要添加的笔划之一相同。
- pCustomRecognizer 参数包含与不同 IInkAnalyzer 对象关联的自定义识别器节点。
- pCustomRecognizer 参数包含不属于 CustomRecognizer 类型的 IContextNode。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 |
无受支持的版本 |
标头 |
|
DLL |
|