Метод IPortWavePci::Notify (portcls.h)

Метод Notify уведомляет драйвер порта о том, что произошло прерывание, указывающее ход выполнения указателя DMA.

Синтаксис

void Notify(
  [in] PSERVICEGROUP ServiceGroup
);

Параметры

[in] ServiceGroup

Указатель на объект IServiceGroup драйвера miniport.

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

Отсутствует

Замечания

Некоторые драйверы минипорта вызывают этот метод из ISR в ответ на аппаратное прерывание после очистки источника прерываний. Другие драйверы вызывают этот метод из DPC таймера, который планируется выполнять через регулярные интервалы. Как правило, только драйверы, управляющие одним потоком отрисовки из KMixer, должны полагаться на аппаратные прерывания. Драйверы, поддерживающие аппаратное ускорение DirectSound, должны отключить аппаратные прерывания и использовать ЦП таймера. Дополнительные сведения см. в разделе IPortWavePciStream::GetMapping.

Хотя минипорт-драйвер может выбрать собственный метод определения времени вызова этого метода, этот метод должен вызываться достаточно часто, чтобы разрешить драйверу порта запускать ожидающие позиции и часовые события с регулярными интервалами. Время для этого метода не так важно, как для метода IPortWaveCyclic::Notify , однако.

Когда драйвер адаптера устанавливает ISR, он отправляет параметр ServiceContext вместе с точкой входа ISR (дополнительные сведения см. в предоставлении сведений о контексте ISR). При прерывании операционная система вызывает ISR и передает ServiceContext в качестве параметра вызова в ISR. Хотя значение параметра ServiceContext известно только разработчику драйвера, это, как правило, указатель на минипорт-объект. IsR использует этот указатель для доступа к сведениям о минипорте.

Параметр ServiceGroup следует соглашениям подсчета ссылок для объектов COM.

Требования

Требование Ценность
целевая платформа универсальный
Заголовок portcls.h (include Portcls.h)
IRQL Любой уровень

См. также

IPortWaveCyclic::Notify

IPortWavePci

IPortWavePciStream::GetMapping

IServiceGroup