Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Уведомляет драйвер порта Storport об изменении состояния для логического номера единиц (LUN), порта адаптера шины узла (HBA) или целевого устройства.
Синтаксис
ULONG StorPortStateChangeDetected(
[in] PVOID HwDeviceExtension,
[in] ULONG ChangedEntity,
[in] PSTOR_ADDRESS Address,
[in] ULONG Attributes,
[in, optional] PHW_STATE_CHANGE HwStateChange,
[in, optional] PVOID HwStateChangeContext
);
Параметры
[in] HwDeviceExtension
Указатель на расширение аппаратного устройства. Это область хранения на уровне HBA, которую драйвер портов выделяет и инициализирует от имени мини-порта. Драйверы минипорта обычно хранят сведения, относящиеся к HBA, в этом расширении, например состояние HBA и сопоставленные диапазоны доступа для HBA. Эта область доступна драйверу мини-порта сразу после вызова драйвера мини-порта StorPortInitialize. Драйвер портов освобождает эту память при удалении устройства.
[in] ChangedEntity
Флаги, указывающие сущности, состояние которых изменилось. Это побитовое ИЛИ комбинации следующих значений:
Ценность | Значение |
---|---|
|
Состояние LUN изменилось. |
|
Целевое состояние изменилось. |
|
Состояние шины или порта изменилось. |
[in] Address
Адрес сущности с изменением состояния. значение адреса невозможно изменить до вызова обратного вызова HwStateChange. Если адрес выделен в памяти, память должна освободиться подпрограммой обратного вызова.
[in] Attributes
Атрибуты, связанные с сущностью. Это побитовая ИЛИ комбинация следующих элементов:
Ценность | Значение |
---|---|
|
LUN зарезервированы для использования виртуальных машин. |
[in, optional] HwStateChange
Указатель на подпрограмму обратного вызова, предоставляемую минипортом. При наличии драйвер Storport вызовет эту подпрограмму, когда драйвер завершит обработку уведомления об изменении состояния.
[in, optional] HwStateChangeContext
Значение контекста, предоставленное минипортом, которое включается при вызове подпрограммы в HwStateChange.
Возвращаемое значение
Значение состояния, указывающее результат уведомления. Это может быть одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
Уведомление об изменении состояния запланировано на обработку. |
|
Недопустимый тип адреса или тип сущности. |
|
Предварительное уведомление выполняется, и это не может быть запланировано. |
Замечания
Успешный вызов StorPortStateChangeDetected приводит к повторному перечислению измененной сущности.
В любое время может быть активен только один запрос на изменение состояния. Если минипорту необходимо выполнить еще один вызов StorPortStateChangeDetected, он должен предоставить обратного вызова HwStateChange и выполнить другой вызов StorPortStateChangeDetected после обратного вызова в HwStateChange. Если минипорт хочет одновременно указывать несколько изменений состояния, минипорт может вызывать StorPortStateChangeDetected с измененными сущностями, установленными в ChangedEntity, включающих все текущие изменения состояния.
Если несколько флагов указаны в ChangedEntity, флаг с большим значением будет иметь приоритет над меньшими.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows 8 и более поздних версиях Windows. |
целевая платформа | Всеобщий |
заголовка | storport.h (include Storport.h) |
IRQL | Любой |