Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
PORT_CONFIGURATION_INFORMATION содержит сведения о конфигурации адаптера шины узла (HBA).
Синтаксис
typedef struct _PORT_CONFIGURATION_INFORMATION {
ULONG Length;
ULONG SystemIoBusNumber;
INTERFACE_TYPE AdapterInterfaceType;
ULONG BusInterruptLevel;
ULONG BusInterruptVector;
KINTERRUPT_MODE InterruptMode;
ULONG MaximumTransferLength;
ULONG NumberOfPhysicalBreaks;
ULONG DmaChannel;
ULONG DmaPort;
DMA_WIDTH DmaWidth;
DMA_SPEED DmaSpeed;
ULONG AlignmentMask;
ULONG NumberOfAccessRanges;
ACCESS_RANGE( ) *AccessRanges[];
PVOID MiniportDumpData;
PVOID Reserved;
UCHAR NumberOfBuses;
CCHAR InitiatorBusId[8];
BOOLEAN ScatterGather;
BOOLEAN Master;
BOOLEAN CachesData;
BOOLEAN AdapterScansDown;
BOOLEAN AtdiskPrimaryClaimed;
BOOLEAN AtdiskSecondaryClaimed;
BOOLEAN Dma32BitAddresses;
BOOLEAN DemandMode;
UCHAR MapBuffers;
BOOLEAN NeedPhysicalAddresses;
BOOLEAN TaggedQueuing;
BOOLEAN AutoRequestSense;
BOOLEAN MultipleRequestPerLu;
BOOLEAN ReceiveEvent;
BOOLEAN RealModeInitialized;
BOOLEAN BufferAccessScsiPortControlled;
UCHAR MaximumNumberOfTargets;
UCHAR SrbType;
UCHAR AddressType;
UCHAR ReservedUchars[2];
ULONG SlotNumber;
ULONG BusInterruptLevel2;
ULONG BusInterruptVector2;
KINTERRUPT_MODE InterruptMode2;
ULONG DmaChannel2;
ULONG DmaPort2;
DMA_WIDTH DmaWidth2;
DMA_SPEED DmaSpeed2;
ULONG DeviceExtensionSize;
ULONG SpecificLuExtensionSize;
ULONG SrbExtensionSize;
UCHAR Dma64BitAddresses;
BOOLEAN ResetTargetSupported;
UCHAR MaximumNumberOfLogicalUnits;
BOOLEAN WmiDataProvider;
STOR_SYNCHRONIZATION_MODEL SynchronizationModel;
PHW_MESSAGE_SIGNALED_INTERRUPT_ROUTINE HwMSInterruptRoutine;
INTERRUPT_SYNCHRONIZATION_MODE InterruptSynchronizationMode;
MEMORY_REGION DumpRegion;
ULONG RequestedDumpBufferSize;
BOOLEAN VirtualDevice;
UCHAR DumpMode;
UCHAR DmaAddressWidth;
ULONG ExtendedFlags1;
ULONG MaxNumberOfIO;
ULONG MaxIOsPerLun;
ULONG InitialLunQueueDepth;
ULONG BusResetHoldTime;
ULONG FeatureSupport;
} PORT_CONFIGURATION_INFORMATION, *PPORT_CONFIGURATION_INFORMATION;
Members
Length
Размер в байтах PORT_CONFIGURATION_INFORMATION структуры. Инициализирован драйвером Storport этот элемент также служит в качестве версии структуры.
SystemIoBusNumber
Назначаемое системой номер шины ввода-вывода, к которому подключенА HBA. Драйверы мини-порта не должны изменять этот элемент. Его значение назначается системой, так как платформа может иметь несколько автобусов ввода-вывода указанного адаптераInterfaceType.
AdapterInterfaceType
Интерфейс шины ввода-вывода. Storport инициализирует этот элемент в значение, указанное драйвером мини-порта в структуре HW_INITIALIZATION_DATA . Драйверы мини-порта не должны изменять этот элемент.
BusInterruptLevel
Уровень запроса на прерывание относительно шины. Storport не предполагает использования прерываний HBA, поэтому значение по умолчанию равно нулю. Storport инициализирует этот элемент и драйверы минипорта не должны изменять его.
BusInterruptVector
Относительный вектор шины, возвращаемый HBA. Storport не предполагает использования прерываний HBA, поэтому значение по умолчанию равно нулю. Этот член не имеет значения для драйверов, которые настроили член BusInterruptLevel для их HBAs. Это важно для HBAs на типах автобусов ввода-вывода, использующих векторы прерываний, такие как PCIBus. Storport инициализирует этот элемент и драйверы минипорта не должны изменять его.
InterruptMode
Указывает, использует ли HBA прерывания LevelSensitive или Latched (иногда называемые пограничными триггерами). Storport инициализирует этот элемент в соответствующее значение шины и устройства, например LevelSensitive для PCIBus. Storport инициализирует этот элемент и драйверы минипорта не должны изменять его.
MaximumTransferLength
Максимальное количество байтов, которые HBA может передаваться в одной операции передачи. По умолчанию значение этого элемента SP_UNINITIALIZED_VALUE, указывающее неограниченный максимальный размер передачи. Если его HBA имеет более ограниченную поддержку передачи, минипорт-драйвер должен сбросить этот член в соответствии с пропускной способностью HBA. Если подпрограмма HwStorInterrupt мини-порта драйвера не может отключить прерывания на HBA, этот элемент можно настроить во время разработки драйверов, чтобы убедиться, что время, затраченное на isR драйвера минипорта, не снижает общую производительность системы.
NumberOfPhysicalBreaks
Максимальное количество физических страниц, которым адаптер хранилища может управлять в рамках одной передачи (другими словами, степень ее поддержки точечного или сбора). По умолчанию значение этого элемента 0x11. Драйвер минипорта должен сбросить этот элемент в соответствии с возможностью адаптера хранилища.
DmaChannel
Канал DMA, используемый подчиненным HBA. По умолчанию значение этого элемента SP_UNINITIALIZED_VALUE. Storport инициализирует этот элемент и драйверы минипорта не должны изменять его.
DmaPort
Порт DMA, используемый подчиненным HBA. По умолчанию значение этого элемента SP_UNINITIALIZED_VALUE. Storport инициализирует этот элемент и драйверы минипорта не должны изменять его.
DmaWidth
Ширина передачи DMA, если HBA использует DMA. По умолчанию значение этого элемента равно нулю. Storport инициализирует этот элемент и драйверы минипорта не должны изменять его.
DmaSpeed
Скорость передачи данных DMA для HBA Eisa . Storport инициализирует этот элемент и драйверы минипорта не должны изменять его.
AlignmentMask
Маска, указывающая ограничения выравнивания буферов, необходимых для операций передачи HBA. Некоторые примеры допустимых значений маски: 0 (выравнивание байтов), 1 (выравнивание по слову), 3 (выравнивание по DWORD) и 7 (двойное выравнивание DWORD). Минипорт-драйвер должен задать эту маску, если HBA поддерживает точечную или сборную. Следующие допустимые значения маски выравнивания определяются в wdm.h:
| Ценность | Meaning |
|---|---|
| FILE_BYTE_ALIGNMENT (0x00000000) | Данные выровнены по байтам (для устройства не требуется выравнивание) |
| FILE_WORD_ALIGNMENT (0x00000001) | Данные должны быть выровнены по 2-байтовой границе. |
| FILE_LONG_ALIGNMENT (0x00000003) | Данные должны быть выровнены по 4-байтовой границе. |
| FILE_QUAD_ALIGNMENT (0x00000007) | Данные должны быть выровнены по 8-байтовой границе. |
| FILE_OCTA_ALIGNMENT (0x0000000f) | Данные должны быть выровнены по 16-байтовой границе. |
| FILE_32_BYTE_ALIGNMENT (0x0000001f) | Данные должны быть выровнены по 32-байтовой границе. |
| FILE_64_BYTE_ALIGNMENT (0x0000003f) | Данные должны быть выровнены по 64-байтовой границе. |
| FILE_128_BYTE_ALIGNMENT (0x0000007f) | Данные должны быть выровнены по границе 128 байтов. |
| FILE_256_BYTE_ALIGNMENT (0x000000ff) | Данные должны быть выровнены по границе 256 байтов. |
| FILE_512_BYTE_ALIGNMENT (0x000001ff) | Данные должны быть выровнены по границе 512-байтов. |
NumberOfAccessRanges
Указывает количество элементов AccessRanges в массиве.
AccessRanges
Указатель на массив элементов ACCESS_RANGE типа. Storport выделяет память для диапазонов доступа и инициализирует этот элемент. Драйверы мини-порта не должны изменять этот элемент.
MiniportDumpData
Указатель на контекст дампа, используемый во время сбоя или гибернации.
Reserved
Зарезервировано для использования системы (до Windows 8).
NumberOfBuses
Количество автобусов, контролируемых адаптером. По умолчанию значение этого элемента равно нулю. Этот элемент имеет максимальное значение SCSI_MAXIMUM_BUSES_PER_ADAPTER. Этот член доступен начиная с Windows 8.
InitiatorBusId[8]
Идентификатор шины инициатора. Если входной инициаторBusId[0] имеет значение SP_UNINITIALIZED_VALUE, драйвер минипорта может назначить значение по умолчанию, если его HBA не требует использования определенных значений, определенных путем запроса HBA. В противном случае мини-драйвер должен использовать любое ненулевое значение, назначенное драйвером порта, если это возможно. Как правило, это значение привязано набором значений для MaximumNumberOfTargets.
ScatterGather
Если значение TRUE, HBA поддерживает точечную или сборную. Storport инициализирует этот элемент в TRUE , так как его драйверы минипорта должны поддерживать точечную или сборную. Драйверы минипорта, работающие с Storport, не должны изменять это значение. (Примечание. В версиях Windows до Windows Server 2008 R2 и Windows 7 этот член имеет значение FALSE. В этом случае минипорт-драйверы должны задать для этого элемента значение TRUE. Не задано значение TRUE , устройство HBA не будет запущено.)
Master
Если значение TRUE, HBA является главной шиной. Storport инициализирует этот член в TRUE , так как его мини-порты должны поддерживать DMA для главного автобуса. Драйверы минипорта, работающие с Storport, не должны изменять это значение. (Примечание. В версиях Windows до Windows Server 2008 R2 и Windows 7 этот член имеет значение FALSE. В этом случае минипорт-драйверы должны задать для этого элемента значение TRUE. Не задано значение TRUE , устройство HBA не будет запущено.)
CachesData
Если значение TRUE, HBA кэширует данные или сохраняет кэшированное состояние на периферийных устройствах. Если значение FALSE, HBA не кэширует данные или сохраняет кэшированное состояние на периферийных устройствах. По умолчанию значение этого элемента равно FALSE. Если этот параметр сбрасывается до TRUE, Storport уведомляет драйвер минипорта при возникновении определенных системных событий, таких как очистка кэша файловой системы.
AdapterScansDown
Storport игнорирует этот элемент.
AtdiskPrimaryClaimed
Storport не использует этот элемент, и его мини-драйверы не должны устанавливать его.
AtdiskSecondaryClaimed
Storport не использует этот элемент, и его мини-драйверы не должны устанавливать его.
Dma32BitAddresses
Если значение TRUE, HBA имеет 32 адресных строки и может получить доступ к памяти с физическими адресами, превышающими 0x00FFFFFF. Storport инициализирует этот элемент в TRUE, так как его мини-порты должны поддерживать DMA ширины шины. Драйверы минипорта не должны изменять это значение, так как это адресация DMA по умолчанию, если значение для Dma64BitAddresses не задано. ПРИМЕЧАНИЕ. Если аппаратное обеспечение поддерживает только 32-разрядные адреса, то для Dma64BitAddresses должно быть установлено значение 0.
DemandMode
Указывает, следует ли программировать системный контроллер DMA для операций с запросом, а не для операций с одним циклом. Storport инициализирует этот член в FALSE, так как он не поддерживает DMA в подчиненном режиме. Минипорт-драйверы не должны изменять это значение.
MapBuffers
Указывает, сопоставляет ли Storport адреса буфера данных SRB с системными виртуальными адресами. Драйвер минипорта задает этому элементу одно из следующих значений для управления сопоставлением адресов буфера данных SRB.
| Ценность | Meaning |
|---|---|
| STOR_MAP_NO_BUFFERS | Сопоставляет буфер только для SRB_FUNCTION_IO_CONTROL и SRB_FUNCTION_WMI. |
| STOR_MAP_ALL_BUFFERS | Является устаревшей. Это значение имеет тот же эффект, что и STOR_MAP_NON_READ_WRITE_BUFFERS. |
| STOR_MAP_NON_READ_WRITE_BUFFERS | Сопоставляет буфер для всех операций ввода-вывода, за исключением запросов на чтение и запись. |
| STOR_MAP_ALL_BUFFERS_INCLUDING_READ_WRITE | Сопоставляет буфер для всех операций ввода-вывода, включая запросы на чтение и запись. Мини-порты, поддерживающие загрузку, должны обрабатывать запрос на чтение или запись PAGE_SIZE длиной. Эти запросы на чтение или запись должны всегда выполняться успешно. Storport может не сопоставить буфер в условиях низкой системной памяти. В этом случае элемент DataBuffer в SRB будет иметь значение NULL. |
NeedPhysicalAddresses
Если значение TRUE, минипорт-драйвер должен переводить виртуальные адреса на физические адреса, как это требуется для HBA. Storport инициализирует этот элемент в TRUE, так как его драйверы мини-порта должны поддерживать списки точечной и сборной. Минипорт не должен изменять это значение.
TaggedQueuing
Если значение TRUE, HBA поддерживает очередь нескольких запросов с тегами SCSI. Storport инициализирует этот член в TRUE , так как его мини-порты должны поддерживать тегированные очереди. Минипорт-драйверы не должны изменять это значение.
AutoRequestSense
Если значение TRUE, HBA поддерживает функцию автоматического запроса. Storport инициализирует этот элемент в TRUE , так как его драйверы мини-порта должны поддерживать функцию автозапросить. Минипорт-драйверы не должны изменять это значение.
MultipleRequestPerLu
Если значение TRUE, HBA поддерживает несколько запросов на логическую единицу. Storport инициализирует этот элемент в TRUE , так как его мини-драйверы должны поддерживать несколько запросов, выданных логическому блоку во время. Минипорт-драйверы не должны изменять это значение.
ReceiveEvent
Storport не использует этот элемент, и его мини-драйверы не должны устанавливать его.
RealModeInitialized
Storport не использует этот элемент, и его мини-драйверы не должны устанавливать его.
BufferAccessScsiPortControlled
Storport не использует этот элемент, и его мини-драйверы не должны устанавливать его.
MaximumNumberOfTargets
Число конечных периферийных устройств, которые адаптер может управлять. По умолчанию значение этого элемента SCSI_MAXIMUM_TARGETS_PER_BUS. Минипорт-драйвер может сбросить этот элемент на меньшее значение, если HBA имеет более ограниченные возможности или большее значение, указывая, что HBA имеет расширенные возможности шины. Максимальное значение для этого элемента — 255.
SrbType
Тип СРБ, отправляемых в минипорт-драйвер. Доступно начиная с Windows 8. Для этого задано одно из следующих значений:
| Ценность | Meaning |
|---|---|
| SRB_TYPE_SCSI_REQUEST_BLOCK | Минипорт-драйвер получает стандартные SRB. |
| SRB_TYPE_STORAGE_REQUEST_BLOCK | Минипорт-драйвер получает расширенные SRB. |
AddressType
Тип адреса, используемый между Storport и драйвером мини-порта. Доступно начиная с Windows 8. Для этого можно задать следующее значение:
| Ценность | Meaning |
|---|---|
| STORAGE_ADDRESS_TYPE_BTL8 | 8-разрядная адресация шины, целевого объекта и LUN (BTL). |
ReservedUchars[2]
Зарезервировано для использования системы (до Windows 8).
SlotNumber
Зарезервировано для использования Storport. Драйверы мини-порта не должны изменять этот элемент.
BusInterruptLevel2
Зарезервировано для использования Storport. Драйверы мини-порта не должны изменять этот элемент.
BusInterruptVector2
Зарезервировано для использования Storport. Драйверы мини-порта не должны изменять этот элемент.
InterruptMode2
Зарезервировано для использования Storport. Драйверы мини-порта не должны изменять этот элемент.
DmaChannel2
Зарезервировано для использования Storport. Драйверы мини-порта не должны изменять этот элемент.
DmaPort2
Зарезервировано для использования Storport. Драйверы мини-порта не должны изменять этот элемент.
DmaWidth2
Зарезервировано для использования Storport. Драйверы мини-порта не должны изменять этот элемент.
DmaSpeed2
Зарезервировано для использования Storport. Драйверы мини-порта не должны изменять этот элемент.
DeviceExtensionSize
Размер в байтах, необходимый мини-драйверу для расширения устройства для каждого адаптера. Минипорт-драйвер использует расширение устройства в качестве хранилища для сведений HBA, определяемых драйвером. Драйвер порта для конкретной операционной системы инициализирует каждое расширение устройства один раз, когда он сначала выделяет расширение и заполняет его нулями. Он передает указатель на расширение устройства hBA в каждом вызове минипорта драйвера. Указанный размер не включает в себя запрошенное мини-драйвером хранилище для логического блока. Размер хранилища для каждого логического блока указывается с помощью поля SpecificLuExtensionSize , описанного далее в этом разделе.
Storport не следует модели SCSIPort (которая повторно инициализирует расширение устройства при остановке адаптера и таким образом последующие вызовы HwScsiFindAdapter получают расширение устройства с отсчитываемой от нуля). Скорее, Storport сбрасывает расширение устройства до нуля только при первом выделении, поэтому только первый вызов HwStorFindAdapter для данного адаптера получает расширение устройства с отсчитывается от нуля. Последующие вызовы HwStorFindAdapter и другие функции минипорта получают расширение устройства, как последнее изменение драйвером мини-порта. Это позволяет минипорт-драйверу поддерживать знания о состоянии адаптера между подключаемым модулем и перезапуском (PnP), что позволяет мини-драйверу оптимизировать процедуру инициализации.
SpecificLuExtensionSize
Размер в байтах, необходимый драйверу минипорта для каждого логического хранилища, если таковые есть, для обработки передачи данных размером более 64 КБ. Storport инициализирует этот элемент значением в том же элементе HW_INITIALIZATION_DATA структуры , отправленной в подпрограмме StorPortInitialize .
Установите для этого элемента значение нулю, если мини-драйвер не поддерживает сведения о lu-LU, для которых требуется хранилище. Это значение основано на предположении, что HBA может получать 32-разрядные адреса независимо от того, что контроллер может фактически поддерживать. Если требуется дополнительное пространство в расширениях LUN или SRB для обработки 64-разрядных адресов, необходимо внести соответствующие корректировки в это значение, прежде чем использовать его с подпрограммами, такими как StorPortGetUncachedExtension.
SrbExtensionSize
Размер в байтах, необходимый драйверу мини-порта для своего хранилища по запросу, если таковые есть, для обработки передачи данных размером более 64 КБ. Storport инициализирует этот элемент значением в том же элементе HW_INITIALIZATION_DATA структуры , отправленной в подпрограмме StorPortInitialize .
Задайте этот член перед вызовом StorPortGetUncachedExtension , чтобы изменить размер хранилища на основе NumberOfPhysicalBreaks. Задайте для этого элемента значение нулю, если драйвер минипорта не поддерживает сведения о SRB, для которых требуется хранилище. Это значение основано на предположении, что HBA может получать 32-разрядные адреса независимо от того, что контроллер может фактически поддерживать. Если требуется дополнительное пространство в расширениях LUN или SRB для обработки 64-разрядных адресов, необходимо внести соответствующие корректировки в это значение, прежде чем использовать его с подпрограммами, такими как ScsiPortGetUncachedExtension.
Dma64BitAddresses
Если оборудование устройства поддерживает только 32-разрядные адреса, то для Dma64BitAddresses должно быть установлено значение 0. Если устройство поддерживает 64-разрядные адреса, это поле указывает, может ли HBA получить доступ к адресам, превышающим 4 ГБ.
Адаптеры Storport необходимы для поддержки DMA ширины шины. Поэтому на 64-разрядном компьютере или компьютере PAE Storport инициализирует Dma64BitAddresses в SCSI_DMA64_SYSTEM_SUPPORTED, указывая, что адаптер может получить доступ к полному диапазону адресов. Когда драйверы минипорта обнаруживают это значение, они должны вернуть одно из значений в следующей таблице в том же члене, чтобы указать драйверу порта, который драйвер минипорта поддерживает 64-разрядную DMA. Если минипорт не удается сделать это, это может значительно снизить производительность адаптера.
| Ценность | Meaning |
|---|---|
| SCSI_DMA64_MINIPORT_SUPPORTED | Минипорт-драйвер поддерживает 64-разрядные физические адреса для передачи ввода-вывода. |
| SCSI_DMA64_MINIPORT_FULL64BIT_SUPPORTED | Минипорт-драйвер поддерживает 64-разрядную адресацию. Это означает, что запросы ввода-вывода могут иметь физические > адреса 4 ГБ. Некшированные расширения, SenseInfo и Srb Extension могут существовать выше 4 ГБ. Выделение ограничивается выравниванием границ 4 ГБ, чтобы предотвратить пересечение границы 4 ГБ. |
| SCSI_DMA64_MINIPORT_FULL64BIT_NO_BOUNDARY_REQ_SUPPORTED | Минипорт-драйвер поддерживает 64-разрядную адресацию. Это означает, что запросы ввода-вывода могут иметь физические > адреса 4 ГБ. Некшированные расширения, SenseInfo и Srb Extension могут существовать выше 4 ГБ. Выделение не требует выравнивания границ. |
| SCSI_DMA64_MINIPORT_64BIT_ONE_4GB_SUPPORTED | Минипорт-драйвер поддерживает 64-разрядную адресацию в одном регионе 4 ГБ. Это означает, что запросы ввода-вывода, некичированные расширения, SenseInfo и расширения Srb могут иметь физические > адреса 4 ГБ в одном регионе 4 ГБ. |
ResetTargetSupported
Является устаревшей. Не используйте этот элемент.
MaximumNumberOfLogicalUnits
Максимальное количество логических единиц на целевой объект, которым может управлять HBA. По умолчанию значение этого элемента SCSI_MAXIMUM_LOGICAL_UNITS. Минипорт-драйвер может сбросить этот элемент на меньшее значение, если HBA имеет более ограниченные возможности или в большее значение, указывая, что HBA имеет расширенные возможности. Максимальное значение этого элемента — SCSI_MAXIMUM_LUNS_PER_TARGET.
WmiDataProvider
Если значение TRUE, минипорт-драйвер отвечает на запросы инструментария управления Windows (WMI). Storport инициализирует этот член в TRUE , так как его мини-драйверы должны поддерживать WMI. Кроме того, для поддержки ИНТЕРФЕЙСА управления RAID-интерфейсом требуются мини-драйверы для адаптеров fibre channel для API HBA управления SAN через WMI, а мини-порты для адаптеров RAID на основе узлов.
Минипорт-драйверы не должны изменять это значение.
SynchronizationModel
Модель синхронизации ввода-вывода, которую поддерживает драйвер мини-порта. Возможные значения:
| Ценность | Meaning |
|---|---|
| StorSynchronizeFullDuplex | Минипорт поддерживает полно дуплексный режим. |
| StorSynchronizeHalfDuplex | Минипорт поддерживает полудуплексный режим. |
HwMSInterruptRoutine
Указатель на подпрограмму HwMSInterruptRoutine драйвера miniport, которая требуется для любого драйвера минипорта HBA, который создает сигнализированные прерывания сообщений (MSIs). Драйвер мини-порта задает этому члену значение NULL , если HBA не создает MSIs.
InterruptSynchronizationMode
Значение INTERRUPT_SYNCHRONIZATION_MODE , указывающее режим синхронизации прерываний. Режим синхронизации прерываний определяет, как драйвер порта синхронизирует сигнальные прерывания сообщения.
DumpRegion
Структура MEMORY_REGION , описывающая область физической непрерывной памяти, которую минипорт-драйверы могут использовать во время аварийного дампа или гибернации.
RequestedDumpBufferSize
Размер в байтах некичированного расширения, выделенного для использования во время дампа или гибернации.
VirtualDevice
Если значение TRUE, за этим устройством не существует реального оборудования (например, нет объекта DMA, прерывания, портов ввода-вывода). Storport ведет себя по-другому в некоторых случаях, когда он поддерживает "виртуальный" минипорт вместо минипорта, который управляет реальным оборудованием.
DumpMode
Указывает использование минипорта в режиме дампа. Он может иметь одно из следующих значений.
| Ценность | Meaning |
|---|---|
| DUMP_MODE_CRASH | Минипорт в режиме дампа используется для аварийного выполнения. |
| DUMP_MODE_HIBER | Минипорт в режиме дампа используется для гибернации. |
| DUMP_MODE_MARK_MEMORY | Минипорт в режиме дампа используется для маркировки требуемой памяти. |
| DUMP_MODE_RESUME | Минипорт в режиме дампа используется для возобновления с гибернации. |
DmaAddressWidth
Ширина DMA-адреса адаптера. Минипорты должны указывать STOR_ADAPTER_DMA_ADDRESS_WIDTH_SPECIFIED в FeatureSupport при предоставлении этого значения. Указанное значение должно быть (0 <DmaAddressWidth<= 64). Это поле можно использовать начиная с Windows 10 версии 2004.
ExtendedFlags1
Зарезервировано для использования системы.
MaxNumberOfIO
Максимальное количество невыполненных операций ввода-вывода, поддерживаемых HBA. Значение по умолчанию — 1000 по Storport. Если HBA не поддерживает 1000 невыполненных операций ввода-вывода, минипорт должен настроить это на соответствующее меньшее значение.
Если HBA может поддерживать более 1000 невыполненных операций ввода-вывода, минипорт может увеличить этот элемент до любого значения, поддерживаемого оборудованием адаптера. Чтобы разрешить более 1000 невыполненных операций ввода-вывода, HBA должен поддерживать один из следующих 64-разрядных методов адресации DMA, заданных в поле Dma64BitAddresses :
- SCSI_DMA64_MINIPORT_FULL64BIT_SUPPORTED
- SCSI_DMA64_MINIPORT_FULL64BIT_NO_BOUNDARY_REQ_SUPPORTED
- SCSI_DMA64_MINIPORT_64BIT_ONE_4GB_SUPPORTED
MaxIOsPerLun
Максимальное количество запросов ввода-вывода, поддерживаемых в LUN. Storport установит для этого значение по умолчанию 255. Если LUN не поддерживает 255 невыполненных запросов ввода-вывода, минипорт должен настроить этот элемент на соответствующее меньшее значение. Этот элемент должен быть <= MaxNumberOfIO. Чтобы поддерживать MaxIOsPerLun> 255, для поля SrbType необходимо задать значение SRB_TYPE_STORAGE_REQUEST_BLOCK. Доступно начиная с Windows 8.
InitialLunQueueDepth
Начальная глубина очереди ввода-вывода LUN. Storport установите для этого значение по умолчанию 20 для физических мини-портов и 250 для виртуальных мини-портов. Этот элемент настраивает начальную глубину очереди для всех LUN на адаптере. Глубина очереди для отдельного LUN задается путем вызова StorPortSetDeviceQueueDepth. Обычно этот элемент имеет то же значение, что и MaxIOsPerLun. Доступно начиная с Windows 8.
BusResetHoldTime
Время в микросекундах для приостановки адаптера после обнаружения сброса. Задайте для этого значения значение 0, если время ожидания не требуется после сброса шины. Доступно начиная с Windows 8.
FeatureSupport
Функции Storport, запрошенные для адаптера. Доступно начиная с Windows 8. Минипорт-драйвер может задать для этого элемента побитовую маску любого из следующих значений:
| Ценность | Meaning |
|---|---|
| STOR_ADAPTER_FEATURE_DEVICE_TELEMETRY 0x00000001 | Минипорт-драйвер поддерживает данные телеметрии устройства хранения. |
| STOR_ADAPTER_FEATURE_STOP_UNIT_DURING_POWER_DOWN 0x00000002 | Минипорт запрашивает получение команды STOP_UNIT во время завершения работы системы. |
| STOR_ADAPTER_UNCACHED_EXTENSION_NUMA_NODE_PREFERRED 0x00000004 | Драйвер минипорта хочет, чтобы UncachedExtension был выделен из узла NUMA адаптера. |
| STOR_ADAPTER_DMA_V3_PREFERRED 0x00000008 | Драйвер минипорта предпочитает использовать API ядра DMA версии 3 для адаптера. |
| STOR_ADAPTER_FEATURE_ABORT_COMMAND 0x00000010 | Минипорт-драйвер поддерживает возможность прерывания выдающейся команды с помощью SRB_FUNCTION_ABORT_COMMAND. |
| STOR_ADAPTER_FEATURE_RICH_TEMPERATURE_THRESHOLD 0x00000020 | Адаптер поддерживает более подробные сведения о пороговых значениях температуры, чем определено в спецификации SCSI SPC4. |
| STOR_ADAPTER_DMA_ADDRESS_WIDTH_SPECIFIED 0x00000040 | Минипорт-драйвер указал ширину адреса DMA в DmaAddressWidth для адаптера. Это значение было добавлено в Windows 10 версии 2004. |
| STOR_ADAPTER_FEATURE_UNIQUE_QUEUEING_TAG 0x00000080 | Минипорт-драйвер поддерживает уникальные теги очередей для операций ввода-вывода. Это значение было добавлено в Windows 11 версии 24H2. |
Замечания
Драйвер Storport выделяет и инициализирует эту структуру, предоставляет как можно больше сведений о конфигурации HBA и передает структуру в подпрограмму HwStorFindAdapter драйвера miniport. Storport не поддерживает устройства, отличные от PnP, поэтому HwStorFindAdapter не ищет адаптер. Ее основная функция — инициализация PORT_CONFIGURATION_INFORMATION.
Требования
| Требование | Ценность |
|---|---|
| Header | storport.h (include Srb.h, Storport.h, Strmini.h) |