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


KSEVENT_PINCAPS_FORMATCHANGE

Событие KSEVENT_PINCAPS_FORMATCHANGE указывает звуковому стеку, что формат звуковых данных для звукового устройства изменился.

Сводная таблица использования

Назначение Тип дескриптора события Тип значения события

Pin

KSEVENT

KSEVENTDATA

Тип значения события (данные операции) — это структура KSEVENTDATA , задающая метод уведомления, используемый для этого события.

Комментарии

Когда драйвер аудиопорта вызывает подпрограмму EventHandler для своего драйвера мини-порта, он передает PCEVENT_REQUEST структуру. Эта структура содержит указатель на структуру PCEVENT_ITEM , которая используется для описания события, поддерживаемого фильтром, закреплением или узлом.

Например, драйвер, поддерживающий KSEVENT_PINCAPS_FORMATCHANGE событие, должен заполнить структуру PCEVENT_ITEM следующим образом:

static PCEVENT_ITEM FormatChangePinEvent[] = {
  {
    &KSEVENTSETID_PinCapsChange,
    KSEVENT_PINCAPS_FORMATCHANGE,
    KSEVENT_TYPE_ENABLE | KSEVENT_TYPE_BASICSUPPORT,
    MyEventHandler
  }
};

В предыдущем примере кода настраиваемый обработчик событий MyEventHandler должен отслеживать KSEVENT_PINCAPS_FORMATCHANGE событие и регистрировать его с помощью portcls при активации KSEVENT_PINCAPS_FORMATCHANGE. Драйвер мини-порта должен вызвать метод IPortEvents::AddEventToEventList , чтобы зарегистрировать событие.

Чтобы получить описание контактов, узлов, соединений и свойств, поддерживаемых драйвером мини-порта, драйвер порта вызывает метод IMiniport::GetDescription . Этот вызов метода возвращает структуру PCFILTER_DESCRIPTOR , указывающую на таблицу автоматизации (PCAUTOMATION_TABLE). Структура PCAUTOMATION_TABLE содержит элемент Events . Этот элемент указывает на массив событий, связанных с фильтром, поддерживаемым драйвером мини-порта. Поэтому необходимо задать элемент Events так, чтобы он указывал на массив событий, содержащий структуру PCEVENT_ITEM для KSEVENT_PINCAPS_FORMATCHANGE события.

Когда драйвер мини-порта обнаруживает динамическое изменение формата, он должен вызвать метод IPortEvents::GenerateEventList , чтобы сообщить о событии KSEVENT_PINCAPS_FORMATCHANGE .

Требования

Версия

Доступно в Windows 7 и более поздних версиях операционных систем Windows.

Заголовок

Ks.h (включая Ks.h)

См. также

Eventhandler

IMiniport::GetDescription

IPortEvents::AddEventToEventList

IPortEvents::GenerateEventList

KSEVENT

KSEVENTDATA

PCAUTOMATION_TABLE

PCEVENT_ITEM

PCEVENT_REQUEST

PCFILTER_DESCRIPTOR