IKeywordDetectorOemAdapter::P arseDetectionResultData 方法 (keyworddetectoroemadapter.h)
在处理关键字 (keyword) 检测事件并从KSPROPERTY_SOUNDDETECTOR_MATCHRESULT检索结果数据后,操作系统调用 ParseDetectionResultData方法。 操作系统将 OEM 特定的匹配结果数据传递给此方法,以获取关键字 (keyword) 检测的结果。 OEMDLL 处理结果并返回有关匹配关键字 (keyword) 、与匹配关键字 (keyword) 关联的语言以及匹配用户 ((如果有任何) )的信息。
语法
HRESULT ParseDetectionResultData(
[in] IStream *UserModelData,
[in] SOUNDDETECTOR_PATTERNHEADER *Result,
[out] KEYWORDID *KeywordId,
[out] LANGID *LangId,
[out] BOOL *pIsUserMatch,
[out] ULONG64 *KeywordStartPerformanceCounterValue,
[out] ULONG64 *KeywordEndPerformanceCounterValue
);
参数
[in] UserModelData
指向 IStream 的指针,该指针绑定到 arming 模式的模型数据。
[in] Result
指向 DDI 中SOUNDDETECTOR_PATTERNHEADER 的指针。
[out] KeywordId
标识关键字 (keyword) 函数。 驱动程序可能会返回 0 以指示没有匹配项。
[out] LangId
标识语言。
[out] pIsUserMatch
指示用户是否匹配。
[out] KeywordStartPerformanceCounterValue
(可选)根据 Windows 性能计数器返回关键字 (keyword) 的开始时间。 如果它不可用,OEMDLL 应返回 0。
[out] KeywordEndPerformanceCounterValue
(可选)根据 Windows 性能计数器返回关键字 (keyword) 的结束时间。 如果它不可用,OEMDLL 应返回 0。
返回值
此方法可以返回其中一个值。
返回值 | 说明 |
---|---|
|
函数已成功退出。 |
|
ModelData 指针为 NULL。 |
|
KeywordId 或 LangId 参数无效。 |
|
处理无法完成。 |
|
由于内部故障而导致的硬件重置。 |
注解
如果驱动程序从其关键字 (keyword) 检测器引脚的突发关键字 (keyword) /命令流中包含语音关键字 (keyword) 的任何部分,则驱动程序必须返回 KeywordEndTime 的有效值。 否则,驱动程序可以选择返回 0。
如果驱动程序返回 KeywordStartTime 或 KeywordEndTime,则返回的值必须与从驱动程序的 IMiniportWaveRTInputStream::GetReadPacket 例程返回的时间戳一致。
无论驱动程序是否在突发关键字 (keyword) /命令流中包含语音关键字 (keyword) 的任何部分,驱动程序都可以返回 KeywordStartTime 和 KeywordEndTime 的有效值。
如果调用方收到E_HW_RESET,则硬件未检测到任何关键字 (keyword) ,并且状态已丢失。 需要重新臂才能恢复到监视状态。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 |
最低受支持的服务器 | Windows Server 2016 |
目标平台 | Windows |
标头 | keyworddetectoroemadapter.h |
另请参阅
IMiniportWaveRTInputStream::GetReadPacket