IKeywordDetectorOemAdapter::P arseDetectionResultData 方法 (keyworddetectoroemadapter.h)
在處理關鍵詞偵測事件以及從KSPROPERTY_SOUNDDETECTOR_MATCHRESULT擷取結果數據之後,操作系統會呼叫 ParseDetectionResultData 方法。 操作系統會將 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
系結至 Arming 模式之模型數據的 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 |
目標平台 | Windows |
標頭 | keyworddetectoroemadapter.h |
另請參閱
IMiniportWaveRTInputStream::GetReadPacket