Метод IMiniportWaveRTStreamNotification::RegisterNotificationEvent (portcls.h)

Метод RegisterNotificationEvent регистрирует событие для уведомления о событиях на основе DMA.

Синтаксис

NTSTATUS RegisterNotificationEvent(
  [in] PKEVENT NotificationEvent
);

Параметры

[in] NotificationEvent

Указатель на событие ядра (PKEVENT), регистрируемое для уведомления по мере выполнения DMA.

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

RegisterNotificationEvent возвращает значение состояния STATUS_SUCCESS, если вызов был выполнен успешно. В противном случае метод возвращает соответствующий код состояния ошибки.

Комментарии

Драйвер порта вызывает этот метод в ответ на запрос свойства KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT от клиента. Драйвер порта сопоставляет дескриптор событий пользовательского режима с указателем на событие ядра и передает указатель с параметром NotificationEvent .

Как правило, если включено уведомление о событиях на основе DMA, оборудование DMA запрограммировано на создание аппаратных прерываний в предполагаемых точках уведомлений в циклическом звуковом буфере. Когда подпрограмма службы прерываний драйвера (ISR) обнаруживает это прерывание, она помещает в очередь отложенный вызов процедуры (DPC). DPC, в свою очередь, сигнализирует о каждом зарегистрированном событии. Мы рекомендуем использовать конструкцию try/except вокруг события, которое сигнализирует о вызове.

Дополнительные сведения о поведении свойства KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT см. в KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY.

Требования

Требование Значение
Минимальная версия клиента Доступно в Операционных системах Windows Vista и более поздних версий.
Целевая платформа Универсальное
Верхняя часть portcls.h
IRQL Пассивный уровень.

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

IMiniportWaveRTStreamNotification

KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT

KSRTAUDIO_NOTIFICATION_EVENT_PROPERTY