Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма StorPortSynchronizeAccess предоставляет синхронизированный доступ к расширению устройства минипорта.
Синтаксис
STORPORT_API BOOLEAN StorPortSynchronizeAccess(
[in] PVOID HwDeviceExtension,
[in] PSTOR_SYNCHRONIZED_ACCESS SynchronizedAccessRoutine,
[in, optional] PVOID Context
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства. Это область хранения HBA, которую драйвер портов выделяет и инициализирует от имени мини-порта. Драйверы минипорта обычно хранят сведения, относящиеся к HBA, в этом расширении, например состояние HBA и сопоставленные диапазоны доступа для HBA. Эта область доступна драйверу мини-порта сразу после вызова драйвера мини-порта StorPortInitialize. Драйвер портов освобождает эту память при удалении устройства.
[in] SynchronizedAccessRoutine
Указатель на подпрограмму, предоставляемую вызывающим пользователем, выполнение которой должно быть синхронизировано с выполнением ISR, связанного с объектами прерывания. Прототип этой подпрограммы см. в разделе "Примечания" далее в этом разделе.
[in, optional] Context
Указатель на область контекста, передаваемую вызывающей процедуре обратного вызова при вызове.
Возвращаемое значение
Возвращаемое значение из SynchronizedAccessRoutine.
Замечания
Минипорт-драйверы, работающие в полно дуплексном режиме, и что доступ к данным, совместно используемым между их HwStorStartIo подпрограммой и подпрограммой прерывания, должен использовать эту подпрограмму для доступа к общим данным синхронизированным образом.
Минипорт-драйвер передает подпрограмму обратного вызова StorPortSynchronizeAccess, а StorPortSynchronizeAccess вызывает его после обеспечения монопольного доступа к структурам конфиденциальных данных. Подпрограмма обратного вызова минипорта драйвера должна соответствовать следующему прототипу:
typedef
BOOLEAN
(* PSTOR_SYNCHRONIZED_ACCESS) (
IN PVOID HwDeviceExtension,
IN PVOID Context
);
где HwDeviceExtension является указателем на расширение аппаратного устройства, а Контекст — это только указатель на те же сведения контекста, что и вызывающий объект при вызове StorPortSynchronizeAccess.
Дополнительные сведения см. в разделе Синхронизированный доступ в несинхронизованных подпрограммах драйвера минипорта.
Дополнительные сведения о подпрограммах синхронизации см. в KeSynchronizeExecution.
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | storport.h (include Storport.h) |
библиотеки | Storport.lib |