Метод IPortWaveCyclic::Notify (portcls.h)
Метод Notify
уведомляет драйвер порта о том, что произошло прерывание, указывающее на ход выполнения указателя DMA. Он должен вызываться из подпрограммы обслуживания прерываний водителя мини-порта (ISR).
Синтаксис
void Notify(
[in] PSERVICEGROUP ServiceGroup
);
Параметры
[in] ServiceGroup
Указатель на объект IServiceGroup драйвера мини-порта.
Возвращаемое значение
None
Remarks
Этот метод имеет жизненно важное значение для точного времени. Драйверы минипорта обычно вызывают этот метод в ответ на прерывание уведомления после очистки источника прерывания. Несмотря на то, что драйвер минипорта может использовать другие методы для определения того, когда следует вызывать этот метод, важно точное время и должно поддерживаться.
Когда драйвер адаптера устанавливает ISR, он отправляет параметр ServiceContext вместе с точкой входа ISR (дополнительные сведения см. в разделе Предоставление сведений о контексте ISR). При возникновении прерывания операционная система вызывает ISR и передает ServiceContext в качестве параметра вызова в ISR. Хотя значение параметра ServiceContext известно только разработчику драйвера, обычно это указатель на объект miniport. ISR использует этот указатель для доступа к сведениям об объекте miniport.
Драйвер порта вызывает метод IMiniportWaveCyclicStream::SetNotificationFreq , чтобы указать частоту, с которой ISR должен вызывать Notify
метод. Во всех текущих выпусках Windows драйвер порта задает регулярный интервал в 10 миллисекундах между последовательными уведомлениями. Это значение может измениться в будущем выпуске.
Параметр ServiceGroup соответствует соглашениям о подсчете ссылок для COM-объектов.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | portcls.h (включая Portcls.h) |
IRQL | Любой уровень |