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。

返回值

此方法可以返回其中一个值。

返回值 说明
S_OK
函数已成功退出。
E_POINTER
ModelData 指针为 NULL
E_INVALIDARG
KeywordIdLangId 参数无效。
HRESULT_FROM_WIN32 (ERROR_GEN_FAILURE)
处理无法完成。
E_HW_RESET
由于内部故障而导致的硬件重置。

注解

如果驱动程序从其关键字 (keyword) 检测器引脚的突发关键字 (keyword) /命令流中包含语音关键字 (keyword) 的任何部分,则驱动程序必须返回 KeywordEndTime 的有效值。 否则,驱动程序可以选择返回 0。

如果驱动程序返回 KeywordStartTimeKeywordEndTime,则返回的值必须与从驱动程序的 IMiniportWaveRTInputStream::GetReadPacket 例程返回的时间戳一致。

无论驱动程序是否在突发关键字 (keyword) /命令流中包含语音关键字 (keyword) 的任何部分,驱动程序都可以返回 KeywordStartTimeKeywordEndTime 的有效值。

如果调用方收到E_HW_RESET,则硬件未检测到任何关键字 (keyword) ,并且状态已丢失。 需要重新臂才能恢复到监视状态。

要求

要求
最低受支持的客户端 Windows 10
最低受支持的服务器 Windows Server 2016
目标平台 Windows
标头 keyworddetectoroemadapter.h

另请参阅

CoTaskMemAlloc

CoTaskMemFree

IKeywordDetectorOemAdapter

IMiniportWaveRTInputStream::GetReadPacket

KSPROPERTY_SOUNDDETECTOR_MATCHRESULT

SOUNDDETECTOR_PATTERNHEADER