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


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

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

Синтаксис

void Notify(
  [in] PSERVICEGROUP ServiceGroup
);

Параметры

[in] ServiceGroup

Указатель на объект IServiceGroup драйвера мини-порта.

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

None

Remarks

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

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

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

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

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть portcls.h (включая Portcls.h)
IRQL Любой уровень

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

IPortWaveCyclic::Notify

IPortWavePci

IPortWavePciStream::GetMapping

IServiceGroup