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