Поделиться через


Метод IKeywordDetectorOemAdapter::P arseDetectionResultData (keyworddetectoroemadapter.h)

Метод ParseDetectionResultData вызывается операционной системой после обработки события обнаружения ключевое слово и получения результирующих данных из KSPROPERTY_SOUNDDETECTOR_MATCHRESULT. Операционная система передает в этот метод данные результатов соответствия, относящиеся к изготовителю оборудования, чтобы получить результаты обнаружения ключевое слово. 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, привязанный к данным модели для шаблона arming.

[in] Result

Указатель на SOUNDDETECTOR_PATTERNHEADER из DDI.

[out] KeywordId

Определяет функцию ключевое слово. Драйвер может вернуть значение 0, чтобы указать отсутствие совпадений.

[out] LangId

Определяет язык.

[out] pIsUserMatch

Указывает, соответствует ли пользователь.

[out] KeywordStartPerformanceCounterValue

При необходимости возвращает время начала ключевое слово с точки зрения счетчика производительности Windows. OEMDLL должен возвращать значение 0, если этот параметр недоступен.

[out] KeywordEndPerformanceCounterValue

При необходимости возвращает время окончания ключевое слово с точки зрения счетчика производительности Windows. OEMDLL должен возвращать значение 0, если этот параметр недоступен.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Возвращаемое значение Описание
S_OK
Функция успешно завершена.
E_POINTER
Указатель ModelData имеет значение NULL.
E_INVALIDARG
Недопустимые параметры KeywordId или LangId .
HRESULT_FROM_WIN32(ERROR_GEN_FAILURE)
Не удалось завершить обработку.
E_HW_RESET
Сброс оборудования из-за внутреннего сбоя.

Комментарии

Если драйвер включает какую-либо часть произнесенного ключевое слово в потоке ключевое слово или команд для ключевое слово детектора, драйвер должен вернуть допустимое значение для KeywordEndTime. В противном случае драйвер может при необходимости вернуть значение 0.

Если драйвер возвращает KeywordStartTime или KeywordEndTime, возвращаемые значения должны соответствовать меткам времени, возвращенным из подпрограммы IMiniportWaveRTInputStream::GetReadPacket драйвера.

Драйвер может возвращать допустимые значения для KeywordStartTime и KeywordEndTime независимо от того, включает ли драйвер какую-либо часть произнесенных ключевое слово в потоке ключевое слово или команд.

Если вызывающий объект получает E_HW_RESET, оборудование не обнаружило ключевое слово и состояние было потеряно. Чтобы вернуться в состояние мониторинга, потребуется перезахоружить.

Требования

Требование Значение
Минимальная версия клиента Windows 10
Минимальная версия сервера Windows Server 2016
Целевая платформа Windows
Header keyworddetectoroemadapter.h

См. также раздел

CoTaskMemAlloc

CoTaskMemFree

IKeywordDetectorOemAdapter

IMiniportWaveRTInputStream::GetReadPacket

KSPROPERTY_SOUNDDETECTOR_MATCHRESULT

SOUNDDETECTOR_PATTERNHEADER