Функция AtaPortRequestSynchronizedRoutine (irb.h)
Подпрограмма AtaPortRequestSynchronizedRoutine используется драйвером miniport для запроса синхронизации с подпрограммой службы прерываний (ISR).
Синтаксис
BOOLEAN AtaPortRequestSynchronizedRoutine(
[in] PVOID ChannelExtension,
IDE_HW_DPC CallBackRoutine
);
Параметры
[in] ChannelExtension
Указатель на расширение канала.
CallBackRoutine
Указатель на вызываемую подпрограмму.
Возвращаемое значение
None
Remarks
Эта подпрограмма обычно используется драйверами мини-порта, которые устанавливают для элемента SyncWithIsr структуры IDE_CHANNEL_CONFIGURATIONзначение FALSE. Если параметр SyncWithIsr имеет значение FALSE, драйвер мини-порта должен использовать подпрограмму AtaPortRequestSynchronizedRoutine , чтобы обеспечить синхронизированный доступ к структурам данных, измененным в ISR.
Указатель на расширение канала, хранящееся в ChannelExtension , будет передан подпрограмме рабочей роли при ее вызове.
Когда драйвер порта вызывает подпрограмму, на которую указывает SynchronizedRoutine, он передает указатель на расширение канала, хранящееся в ChannelExtension.
Указатель функции SynchronizedRoutine объявляется в Irb.h следующим образом:
typedef
VOID
(*IDE_HW_DPC) (
IN PVOID ChannelExtension
);
Требования
Требование | Значение |
---|---|
Целевая платформа | Персональный компьютер |
Верхняя часть | irb.h (включая Ata.h, Irb.h) |