структура STORAGE_REQUEST_BLOCK (minitape.h)
STORAGE_REQUEST_BLOCK — это структура блока запросов SCSI (SRB) расширенного формата. Структура обеспечивает добавление расширенных данных, связанных с функцией SRB.
Примечание
В будущем модели драйвера портов SCSI и драйвера для минипорта SCSI могут быть изменены или недоступны. Вместо этого рекомендуется использовать модели драйверов Storport и драйверов для мини-портов Storport .
Синтаксис
typedef struct _STORAGE_REQUEST_BLOCK {
USHORT Length;
UCHAR Function;
UCHAR SrbStatus;
ULONG ReservedUlong1;
ULONG Signature;
ULONG Version;
ULONG SrbLength;
ULONG SrbFunction;
ULONG SrbFlags;
ULONG ReservedUlong2;
ULONG RequestTag;
USHORT RequestPriority;
USHORT RequestAttribute;
ULONG TimeOutValue;
union {
ULONG SystemStatus;
ULONG RequestTagHigh4Bytes;
} DUMMYUNIONNAME;
ULONG SystemStatus;
ULONG ZeroGuard1;
ULONG AddressOffset;
ULONG NumSrbExData;
ULONG DataTransferLength;
PVOID POINTER_ALIGN DataBuffer;
PVOID POINTER_ALIGN ZeroGuard2;
PVOID POINTER_ALIGN OriginalRequest;
PVOID POINTER_ALIGN ClassContext;
PVOID POINTER_ALIGN PortContext;
PVOID POINTER_ALIGN MiniportContext;
_STORAGE_REQUEST_BLOCK POINTER_ALIGN *NextSrb;
struct _STORAGE_REQUEST_BLOCK;
ULONG SrbExDataOffset[ANYSIZE_ARRAY];
} STORAGE_REQUEST_BLOCK, *PSTORAGE_REQUEST_BLOCK;
Члены
Length
Задает размер заголовка SRB для совместимости со структурой SCSI_REQUEST_BLOCK . Это равно смещению элемента Signature данной структуры.
Function
Задайте значение SRB_FUNCTION_STORAGE_REQUEST_BLOCK , чтобы указать, что это расширенный SRB. В отличие от SCSI_REQUEST_BLOCK, идентификатор функции SRB находится в элементе SrbFunction .
SrbStatus
Возвращает состояние завершенного запроса. Этот член должен быть задан драйвером мини-порта, прежде чем он уведомит драйвер операционной системы о том, что запрос выполнен, вызвав StorPortNotification с requestComplete. SrbStatus может иметь одно из следующих значений.
Значение | Значение |
---|---|
SRB_STATUS_PENDING | Указывает, что запрос выполняется. Драйвер порта операционной системы инициализирует SrbStatus этим значением. |
SRB_STATUS_SUCCESS | Указывает, что запрос был успешно выполнен. |
SRB_STATUS_ABORTED | Указывает, что запрос был прерван в соответствии с указаниями драйвера порта. Драйвер мини-порта устанавливает это состояние в элементе NextSrb для успешного SRB_FUNCTION_ABORT_COMMAND запроса. |
SRB_STATUS_ABORT_FAILED | Указывает, что попытка прервать запрос завершилась сбоем. Возвращает это состояние для запроса SRB_FUNCTION_ABORT_COMMAND, если не удается найти указанный запрос. |
SRB_STATUS_ERROR | Указывает, что запрос был выполнен с ошибкой в состоянии шины SCSI. |
SRB_STATUS_BUSY | Указывает, что драйверу мини-порта или целевому устройству не удалось принять запрос в настоящее время. Драйвер порта операционной системы повторно отправляет запрос позже. |
SRB_STATUS_INTERNAL_ERROR | Указывает, что драйверу Storport не удалось доставить запрос драйверу мини-порта или целевому устройству. В таких случаях состояние записывается в InternalStatus. |
SRB_STATUS_INVALID_REQUEST | Указывает, что драйвер мини-порта не поддерживает данный запрос. |
SRB_STATUS_NO_DEVICE | Указывает, что устройство не ответило. |
SRB_STATUS_TIMEOUT | Указывает, что истекло время ожидания запроса. |
SRB_STATUS_SELECTION_TIMEOUT | Указывает, что истекло время ожидания выбора устройства SCSI. |
SRB_STATUS_COMMAND_TIMEOUT | Указывает, что целевой объект не выполнил команду в течение ограниченного времени. |
SRB_STATUS_MESSAGE_REJECTED | Указывает, что целевой объект отклонил сообщение. Обычно возвращается только для таких запросов типа сообщений, как SRB_FUNCTION_TERMINATE_IO. |
SRB_STATUS_BUS_RESET | Указывает, что во время выполнения этого запроса произошел сброс шины. |
SRB_STATUS_PARITY_ERROR | Указывает, что в шине SCSI произошла ошибка четности и что повторная попытка завершилась сбоем. |
SRB_STATUS_REQUEST_SENSE_FAILED | Указывает, что команда с чувством запроса завершилась сбоем. Возвращается только в том случае, если адаптер шины узла (HBA) выполняет функцию автоматического запроса, а драйвер мини-порта устанавливает для параметра AutoRequestSense значение TRUE в PORT_CONFIGURATION_INFORMATION для этого адаптера HBA. |
SRB_STATUS_NO_HBA | Указывает, что HBA не отвечает. |
SRB_STATUS_DATA_OVERRUN | Указывает, что произошла ошибка переполнения или недостаточного выполнения данных. Драйвер мини-порта также должен обновить элемент DataTransferLength SRB, чтобы указать, сколько данных фактически было передано в случае недостаточного выполнения. |
SRB_STATUS_UNEXPECTED_BUS_FREE | Указывает, что целевой объект неожиданно отключен. |
SRB_STATUS_PHASE_SEQUENCE_FAILURE | Указывает, что адаптер HBA обнаружил недопустимую ошибку сбоя последовательности фазы. |
SRB_STATUS_REQUEST_FLUSHED | Указывает, что запрос состояния был остановлен. |
SRB_STATUS_BAD_FUNCTION | Указывает, что код функции SRB не поддерживается. |
SRB_STATUS_INVALID_PATH_ID | Указывает, что pathId , указанный в SRB, не существует. |
SRB_STATUS_INVALID_TARGET_ID | Указывает, что значение TargetID в SRB является недопустимым. |
SRB_STATUS_INVALID_LUN | Указывает, что значение lun в SRB является недопустимым. |
SRB_STATUS_ERROR_RECOVERY | Указывает, что запрос был выполнен с ошибкой в состоянии шины SCSI и что было получено сообщение SCSI INITIAT RECOVERY. |
SRB_STATUS_AUTOSENSE_VALID | Указывает, что данные, возвращаемые в SenseInfoBuffer , являются допустимыми. |
SRB_STATUS_QUEUE_FROZEN | Драйвер мини-порта никогда не должен присваивать члену SrbStatus это значение. Драйвер порта Windows может задать это значение, чтобы сообщить драйверу класса хранения о том, что его очередь запросов для определенного периферийного устройства была заблокирована. |
SRB_STATUS_NOT_POWERED | Указывает, что запрос завершился сбоем, так как целевой объект не работает. Для запросов с SRB_FLAGS_NO_KEEP_AWAKE, заданными в SrbFlags, запросы, отправленные в LUN, которые отключены, завершаются ошибкой с таким состоянием. |
SRB_STATUS_LINK_DOWN | Указывает, что запрос завершился сбоем, так как ссылка не работает. |
SRB_STATUS_BAD_SRB_BLOCK_LENGTH | Указывает, что запрос завершился сбоем из-за недопустимой длины SRB. |
ReservedUlong1
Зарезервировано. Задайте значение 0.
Signature
Сигнатура расширенного формата SRB. Для этого параметра задано значение SRB_SIGNATURE.
Version
Версия используемой структуры. Текущая версия — STORAGE_REQUEST_BLOCK_VERSION_1.
SrbLength
Длина этого расширенного SRB в байтах, включая эту структуру, адрес и все расширенные данные SRB.
SrbFunction
Указывает выполняемую операцию, которая может иметь одно из следующих значений:
Значение | Значение |
---|---|
SRB_FUNCTION_EXECUTE_SCSI (0x00) | Запрос ввода-вывода устройства SCSI должен выполняться в целевой логической единице. При использовании NumSrbExData> 0 одна или несколько следующих расширенных структур блоков запросов находятся в смещениях, указанных в SrbExDataOffset: SRBEX_DATA_SCSI_CDB16, SRBEX_DATA_SCSI_CDB32, SRBEX_DATA_SCSI_CDB_VAR, SRBEX_DATA_BIDIRECTIONALSRBEX_DATA_IO_INFO |
SRB_FUNCTION_ABORT_COMMAND (0x10) | Должно быть отправлено SCSIMESS_ABORT сообщение для отмены запроса, на который указывает участник NextSrb . Если это запрос с тегами очереди, вместо него следует использовать SCSIMESS_ABORT_WITH_TAG сообщение. Если указанный запрос был выполнен, этот запрос должен быть выполнен в обычном режиме. Расширенные данные SRB не требуются для этой функции. ПРИМЕЧАНИЕ. Эта функция не отправляется в мини-порт от Storport. |
SRB_FUNCTION_RESET_DEVICE (0x16) | Контроллер целевого объекта SCSI должен быть сброшен с помощью сообщения SCSIMESS_BUS_DEVICE_RESET. Драйвер мини-порта должен выполнять все активные запросы для целевого контроллера. Расширенные данные SRB не требуются для этой функции. |
SRB_FUNCTION_RESET_LOGICAL_UNIT (0x20) | Логическая единица должна быть сброшена, если это возможно. Драйвер мини-порта HBA должен выполнять все активные запросы для логической единицы. Расширенные данные SRB не требуются для этой функции. Storport поддерживает этот тип сброса, но порт SCSI — нет. |
SRB_FUNCTION_RESET_BUS (0x12) | Шину SCSI следует сбросить с помощью сообщения SCSIMESS_BUS_DEVICE_RESET. Драйвер мини-порта получает этот запрос только в том случае, если истекло время ожидания заданного запроса, а для последующего запроса на прерывание запроса истекло время ожидания. Расширенные данные SRB не требуются для этой функции. |
SRB_FUNCTION_TERMINATE_IO (0x14) | Должно быть отправлено SCSIMESS_TERMINATE_IO_PROCESS сообщение для отмены запроса, на который указывает участник NextSrb . Если указанный запрос уже выполнен, этот запрос должен быть выполнен в обычном режиме. Расширенные данные SRB не требуются для этой функции. ПРИМЕЧАНИЕ. Эта функция не отправляется в мини-порт от Storport. |
SRB_FUNCTION_RELEASE_RECOVERY (0x11) | На целевой контроллер должно быть отправлено SCSIMESS_RELEASE_RECOVERY сообщение. Расширенные данные SRB не требуются для этой функции. ПРИМЕЧАНИЕ. Эта функция не отправляется в мини-порт от Storport. |
SRB_FUNCTION_RECEIVE_EVENT (0x03) | Адаптер безопасности должен быть подготовлен к получению асинхронного уведомления о событии от целевого объекта. Элемент SRB DataBuffer указывает место размещения данных. ПРИМЕЧАНИЕ. Эта функция не отправляется в мини-порт от Storport. |
SRB_FUNCTION_SHUTDOWN (0x07) | Система завершает работу. Драйвер мини-порта может получить несколько из этих уведомлений, прежде чем все действия системы фактически остановятся. Однако последнее уведомление о завершении работы будет появляться после последнего запуска ввода-вывода. Расширенные данные SRB не требуются для этой функции. |
SRB_FUNCTION_FLUSH (0x08) | Драйвер мини-порта должен очистить все кэшированные данные для целевого устройства. Этот запрос отправляется драйверу мини-порта только в том случае, если для параметра CachesData задано значение TRUE в PORT_CONFIGURATION_INFORMATION для адаптера шины. Расширенные данные SRB не требуются для этой функции. |
SRB_FUNCTION_IO_CONTROL (0x02) | Запрос — это запрос элемента управления вводом-выводом, который создается в приложении пользовательского режима с выделенным адаптером HBA. DataBuffer SRB указывает на заголовок SRB_IO_CONTROL, за которым следует область данных. Значение в DataBuffer может использоваться драйвером независимо от значения MapBuffers. Допустимы только члены функции SRB, SrbFlags, TimeOutValue, DataBuffer и DataTransferLength , а также член SrbExtension , если драйвер мини-порта запросил расширения SRB при инициализации. Если драйвер мини-порта управляет выделенным приложением адаптером HBA таким образом, чтобы он поддерживал этот запрос, драйвер мини-порта должен выполнить запрос и уведомить драйвер порта операционной системы о завершении SRB, используя обычный механизм вызовов StorPortNotification с помощью RequestComplete и NextRequest. |
SRB_FUNCTION_LOCK_QUEUE (0x18) | Содержит запросы, которые помещаются в очередь драйвером порта для определенной логической единицы, обычно во время обработки запроса на питание. Допустимы только элементы SRB Length, Function, SrbFlags и OriginalRequest . Если очередь заблокирована, будут обрабатываться только запросы с SrbFlags ORed с SRB_FLAGS_BYPASS_LOCKED_QUEUE . Драйверы SCSI miniport не обрабатывают запросы SRB_FUNCTION_LOCK_QUEUE . |
SRB_FUNCTION_UNLOCK_QUEUE (0x19) | Освобождает очередь драйвера порта для логической единицы, которая ранее была заблокирована SRB_FUNCTION_LOCK_QUEUE. SrbFlags запроса на разблокировку должны быть помечены SRB_FLAGS_BYPASS_LOCKED_QUEUE. Допустимы только элементы SRB Length, Function, SrbFlags и OriginalRequest . Драйверы SCSI miniport не обрабатывают запросы SRB_FUNCTION_UNLOCK_QUEUE . |
SRB_FUNCTION_DUMP_POINTERS (0x26) | Запрос с этой функцией отправляется драйверу порта Storport, который используется для управления диском, на котором хранятся данные аварийного дампа. Запрос собирает сведения, необходимые от драйвера мини-порта для поддержки аварийного дампа и гибернации. См . структуру MINIPORT_DUMP_POINTERS . Чтобы получить запрос с этой функцией, физический драйвер мини-порта должен установить флаг STOR_FEATURE_DUMP_POINTERS в элементе FeatureSupportсвоего HW_INITIALIZATION_DATA . |
SRB_FUNCTION_FREE_DUMP_POINTERS (0x27) | Запрос с этой функцией отправляется драйверу мини-порта Storport, чтобы освободить все ресурсы, выделенные во время предыдущего запроса на SRB_FUNCTION_DUMP_POINTERS. |
SRB_FUNCTION_QUIESCE_DEVICE (0x1A) | Запрос выполняется только между классом хранения и драйвером порта хранения и не отправляется в мини-порт. Эта функция служит в качестве ожидания драйвера класса, чтобы драйвер порта завершил все незавершенные операции ввода-вывода. |
SRB_FUNCTION_PNP (0x25) | Запрос является расширенным запросом PnP в формате SRBEX_DATA_PNP структуры. Смещение данных расширенного запроса находится в SrbExDataOffset[0]. |
SRB_FUNCTION_POWER (0x24) | Запрос — это расширенный запрос power, отформатированный в виде SRBEX_DATA_POWER структуры. Смещение данных расширенного запроса находится в SrbExDataOffset[0]. |
SRB_FUNCTION_WMI (0x17) | Запрос — это расширенный запрос power, отформатированный в виде SRBEX_DATA_WMI структуры. Смещение данных расширенного запроса находится в SrbExDataOffset[0]. |
SrbFlags
Указывает различные параметры и параметры для запроса. SrbFlags доступен только для чтения, за исключением случаев, когда задано SRB_FLAGS_UNSPECIFIED_DIRECTION и для обновления SRB_FLAGS_DATA_IN или SRB_FLAGS_DATA_OUT требуются драйверы miniport подчиненных адаптеров DMA. Этот элемент может иметь один или несколько из этих флагов.
Flag | Значение |
---|---|
SRB_FLAGS_QUEUE_ACTION_ENABLE | Указывает, что действия с очередью с тегами должны быть включены. |
SRB_FLAGS_DISABLE_AUTOSENSE | Указывает, что не следует возвращать информацию о смысле запроса. |
SRB_FLAGS_DATA_IN | Указывает, что данные будут передаваться с устройства в систему. |
SRB_FLAGS_DATA_OUT | Указывает, что данные будут передаваться из системы на устройство. |
SRB_FLAGS_UNSPECIFIED_DIRECTION | Этот флаг, определенный для обратной совместимости с интерфейсами ASPI/CAM SCSI, указывает, что направление передачи может быть любой из предыдущих, так как установлены оба предыдущих флага. Если этот флаг установлен, драйвер мини-порта должен определить направление передачи, проверив этап данных для целевого объекта в шине SCSI. |
SRB_FLAGS_NO_DATA_TRANSFER | Указывает на отсутствие передачи данных с этим запросом. Если этот параметр установлен, флаги SRB_FLAGS_DATA_OUT, SRB_FLAGS_DATA_IN и SRB_FLAGS_UNSPECIFIED_DIRECTION будут ясными. |
SRB_FLAGS_DISABLE_SYNCH_TRANSFER | Указывает, что HBA, если это возможно, должен выполнять асинхронные операции ввода-вывода для этого запроса на передачу. Если синхронные операции ввода-вывода были согласованы ранее, перед выполнением передачи адаптеру HBA необходимо пересмотреть согласование для асинхронного ввода-вывода. |
SRB_FLAGS_DISABLE_DISCONNECT | Указывает, что HBA не должен разрешать целевому объекту отключаться от шины SCSI во время обработки этого запроса. |
SRB_FLAGS_BYPASS_FROZEN_QUEUE | Этот флаг не имеет отношения к драйверам мини-портов. |
SRB_FLAGS_NO_QUEUE_FREEZE | Этот флаг не имеет отношения к драйверам мини-портов. |
SRB_FLAGS_IS_ACTIVE | Этот флаг не имеет отношения к драйверам мини-портов. |
SRB_FLAGS_ALLOCATED_FROM_ZONE | Этот флаг не имеет отношения к драйверам мини-портов и устарел для новых драйверов класса Windows. Для устаревшего драйвера класса Windows это указывает, был ли SRB выделен из буфера зоны. Если этот флаг установлен, драйвер класса должен вызвать ExInterlockedFreeToZone , чтобы освободить SRB; В противном случае он должен вызывать ExFreePool. Новые драйверы классов должны использовать списки lookaside, а не буферы зоны. |
SRB_FLAGS_SGLIST_FROM_POOL | Этот флаг не имеет отношения к драйверам мини-портов. Для драйвера класса это означает, что память для точечных и собираемых списков была выделена из непагрегированного пула. Если этот флаг установлен, драйвер класса должен вызвать ExFreePool , чтобы освободить память после завершения SRB. |
SRB_FLAGS_BYPASS_LOCKED_QUEUE | Этот флаг не имеет отношения к драйверам мини-портов. Для драйвера порта этот флаг указывает, что запрос должен быть обработан независимо от того, заблокирована ли очередь логических единиц. Драйвер более высокого уровня должен установить этот флаг для отправки запроса SRB_FUNCTION_UNLOCK_QUEUE . |
SRB_FLAGS_NO_KEEP_AWAKE | Этот флаг не имеет отношения к драйверам мини-портов. Драйвер класса Windows использует этот флаг, чтобы указать драйверу порта на сбой запроса, а не для включения устройства для обработки этого запроса. |
SRB_FLAGS_FREE_SENSE_BUFFER | Указывает, что порт или драйвер минипорта выделили буфер для данных контроля. Это сообщает драйверу класса, что он должен освободить буфер данных осмысления после извлечения данных. |
SRB_FLAGS_D3_PROCESSING | Указывает, что запрос является частью обработки D3. Минипорты, поддерживающие управление питанием среды выполнения, не должны вызывать StorPortPoFxActivateComponent или StorPortPoFxIdleComponent с этими запросами. |
SRB_FLAGS_ADAPTER_CACHE_ENABLE | Указывает, что адаптер может кэшировать данные. |
ReservedUlong2
Зарезервировано. Задайте значение 0.
RequestTag
Содержит значение тега очереди, назначенное драйвером порта операционной системы. Если этот элемент используется для постановки в очередь с тегами, HBA поддерживает внутреннюю очередь запросов к логическим единицам , а драйвер мини-порта задает для taggedQueueing значение TRUE в PORT_CONFIGURATION_INFORMATION для этого адаптера HBA.
RequestPriority
Назначение приоритета для SRB.
RequestAttribute
Указывает сообщение с тегами о очереди, которое будет использоваться при установке флага SRB_FLAGS_QUEUE_ACTION_ENABLE . Значение может быть одним из следующих: SRB_SIMPLE_TAG_REQUEST, SRB_HEAD_OF_QUEUE_TAG_REQUEST или SRB_ORDERED_QUEUE_TAG_REQUEST.
TimeOutValue
Указывает интервал (в секундах), который может выполнить запрос, прежде чем драйвер порта операционной системы может считать, что истекло время ожидания. Драйверы мини-портов не требуются для запросов времени, так как драйвер порта уже это делает.
DUMMYUNIONNAME
Объединение, содержащее поля Windows 10 и более поздних версий.
DUMMYUNIONNAME.SystemStatus
Используется для хранения сведений о состоянии сбоя системы в условиях сбоя SrbStatus (например, SRB_STATUS_INTERNAL_ERROR).
DUMMYUNIONNAME.RequestTagHigh4Bytes
Используется для хранения четырех байтов уникального тега, если включена функция уникального тега.
SystemStatus
Используется драйвером Storport вместо SrbStatus, чтобы сообщать о состоянии завершенного запроса всякий раз, когда запрос не может быть доставлен драйверу мини-порта. В таких случаях SrbStatus имеет значение SRB_STATUS_INTERNAL_ERROR. Этот элемент используется исключительно для обмена данными между Storport и драйвером класса и не должен использоваться драйверами мини-портов.
ZeroGuard1
Защитная область для защиты от драйверов, которые интерпретируют эту структуру как SCSI_REQUEST_BLOCK. Задайте значение 0.
AddressOffset
Смещение адреса запроса хранилища от начала этой структуры. Это смещение находит структуру STOR_ADDRESS , содержащую адрес запроса.
NumSrbExData
Количество расширенных блоков данных SRB для этого запроса.
DataTransferLength
Указывает размер буфера данных (в байтах). Если происходит недостаточное выполнение, драйвер мини-порта должен обновить этот элемент до количества фактически переданных байтов.
DataBuffer
Указывает на буфер данных. Драйверы мини-портов не должны использовать это значение в качестве указателя данных, если драйвер мини-порта не устанавливает mapBuffers значение TRUE в PORT_CONFIGURATION_INFORMATION для адаптера HBA. Однако в случае SRB_FUNCTION_IO_CONTROL запросов драйверы мини-портов могут использовать это значение в качестве указателя данных независимо от значения MapBuffers.
ZeroGuard2
Защитная область для защиты от драйверов, которые интерпретируют эту структуру как SCSI_REQUEST_BLOCK. Задайте значение 0.
OriginalRequest
Указывает на IRP для этого запроса. Этот член не имеет отношения к драйверам минипорта.
ClassContext
Указывает на данные контекста драйвера класса для этого запроса. Этот член не имеет отношения к драйверам минипорта.
PortContext
Указывает на данные контекста драйвера порта для этого запроса. Этот член не имеет отношения к драйверам минипорта.
MiniportContext
Указывает на расширение Srb. Драйвер мини-порта не должен использовать этот член, если для SrbExtensionSize задано нулевое значение в HW_INITIALIZATION_DATA. Память в MiniportContext не инициализируется драйвером порта, зависящим от операционной системы, и к данным, определяемым драйвером мини-порта, можно получить непосредственно с помощью адаптера HBA. Соответствующий физический адрес можно получить, вызвав StorportGetPhysicalAddress с указателем MiniportContext .
NextSrb
Указывает STORAGE_REQUEST_BLOCK , к которому применяется этот запрос. Только небольшое подмножество запросов использует второй SRB, например SRB_FUNCTION_ABORT_COMMAND.
_STORAGE_REQUEST_BLOCK
SrbExDataOffset[ANYSIZE_ARRAY]
Массив смещения, указывающий расположение расширенных блоков данных для SRB. Этот массив пуст, если NumSrbExData = 0.
Комментарии
Начиная с Windows 8, расширенный тип SRB поддерживается с использованием структуры STORAGE_REQUEST_BLOCK. STORAGE_REQUEST_BLOCK расширяет функции SRB, позволяя добавлять в запрос расширенные блоки данных для функции SRB. Поддержка запросов SRB с использованием структуры SCSI_REQUEST_BLOCK будет продолжена.
Если значение NumSrbExData> 0, смещения для расширенных блоков данных SRB находятся в массиве SrbExDataOffset . Каждое смещение относится к началу этой структуры и указывает на SRBEX_DATA структуру, содержащую расширенный блок данных.
Адрес целевого устройства для SRB находится в STOR_ADDRESS структуре, указанной в параметре AddressOffset.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Верхняя часть | minitape.h (включая Storport.h, Srb.h, Minitape.h) |