IInkAnalyzer::AddStrokeToCustomRecognizer 方法
将单个笔划的笔划数据添加到自定义识别器节点。
语法
HRESULT AddStrokeToCustomRecognizer(
[in] ULONG ulStrokeId,
[in] ULONG ulStrokePacketDataCount,
[in] LONG *plStrokePacketData,
[in] ULONG ulStrokePacketDescriptionCount,
[in] GUID *pStrokePacketDescriptionGuids,
[in] IContextNode *pCustomRecognizer,
[out] IContextNode **ppContextNodeStrokeAddedTo
);
参数
-
ulStrokeId [in]
-
要添加的笔划的标识符。
-
ulStrokePacketDataCount [in]
-
笔划中的数据包数。
-
plStrokePacketData [in]
-
包含笔划的数据包数据的数组。
-
ulStrokePacketDescriptionCount [in]
-
每个数据包中的数据包属性数。
-
pStrokePacketDescriptionGuids [in]
-
包含数据包属性标识符的数组。
-
pCustomRecognizer [in]
-
要向其添加笔划的 CustomRecognizer 类型的 IContextNode。
-
ppContextNodeStrokeAddedTo [out]
-
墨迹分析器向其添加笔划的 IContextNode 。
返回值
有关返回值的说明,请参阅 类和接口 - 墨迹分析。
备注
注意
若要避免内存泄漏,请在不再需要使用 对象时调用 iUnknown::Release on ppContextNodeStrokeAddedTo 。
当 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 返回E_INVALIDARG的 HRESULT。
- IInkAnalyzer 已包含与要添加的笔划具有相同标识符的笔划。
- pCustomRecognizer 参数包含与不同 IInkAnalyzer 对象关联的自定义识别器节点。
- pCustomRecognizer 参数包含不属于 CustomRecognizer 类型的 IContextNode。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP Tablet PC Edition [仅限桌面应用] |
最低受支持的服务器 |
无受支持的版本 |
标头 |
|
DLL |
|