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


Функция AtaPortRequestSynchronizedRoutine (irb.h)

Подпрограмма AtaPortRequestSynchronizedRoutine используется драйвером miniport для запроса синхронизации с подпрограммой службы прерываний (ISR).

Примечание Модели драйвера портов ATA и драйвера минипорта ATA могут быть изменены или недоступны в будущем. Вместо этого рекомендуется использовать модели драйверов Storport и драйверов для мини-портов Storport .
 

Синтаксис

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)

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

AtaPortControllerSyncRoutine