struttura STORAGE_REQUEST_BLOCK (storport.h)

Il STORAGE_REQUEST_BLOCK è la struttura SRB (Extended Format Request Block). La struttura fornisce l'aggiunta di dati estesi associati a una funzione SRB.

Nota

I modelli di driver di porta SCSI e miniport SCSI potrebbero essere modificati o non disponibili in futuro. È invece consigliabile usare il driver Storport e i modelli di driver miniport Storport .

Sintassi

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;
  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;

Members

Length

Specifica le dimensioni dell'intestazione SRB per la compatibilità con la struttura SCSI_REQUEST_BLOCK . È uguale all'offset del membro Signature di questa struttura.

Function

Impostare su SRB_FUNCTION_STORAGE_REQUEST_BLOCK per indicare che si tratta di una SRB estesa. A differenza di SCSI_REQUEST_BLOCK, l'identificatore della funzione SRB si trova invece nel membro SrbFunction .

SrbStatus

Restituisce lo stato della richiesta completata. Questo membro deve essere impostato dal driver miniport prima di notificare al driver specifico del sistema operativo che la richiesta è stata completata chiamando StorPortNotification con RequestComplete. Il valore di questo membro può essere uno dei seguenti:

Valore Significato
SRB_STATUS_PENDING Indica che la richiesta è in corso. Il driver di porta specifico del sistema operativo inizializza SrbStatus su questo valore.
SRB_STATUS_SUCCESS Indica che la richiesta è stata completata correttamente.
SRB_STATUS_ABORTED Indica che la richiesta è stata interrotta come indicato dal driver della porta. Un driver miniport imposta questo stato nel membro NextSrb per una richiesta di SRB_FUNCTION_ABORT_COMMAND riuscita.
SRB_STATUS_ABORT_FAILED Indica un tentativo di interruzione della richiesta non riuscita. Restituisce questo stato per una richiesta di SRB_FUNCTION_ABORT_COMMAND quando non è possibile individuare la richiesta specificata.
SRB_STATUS_ERROR Indica che la richiesta è stata completata con un errore nello stato del bus SCSI.
SRB_STATUS_BUSY Indica che il driver miniport o il dispositivo di destinazione non è riuscito ad accettare la richiesta in questo momento. Il driver di porta specifico del sistema operativo invia di nuovo la richiesta in un secondo momento.
SRB_STATUS_INTERNAL_ERROR Indica che il driver Storport non è riuscito a recapitare la richiesta al driver miniport o al dispositivo di destinazione. In questi casi, lo stato viene registrato in InternalStatus.
SRB_STATUS_INVALID_REQUEST Indica che il driver miniport non supporta la richiesta specificata.
SRB_STATUS_NO_DEVICE Indica che il dispositivo non ha risposto.
SRB_STATUS_TIMEOUT Indica il timeout della richiesta.
SRB_STATUS_SELECTION_TIMEOUT Indica il timeout della selezione del dispositivo SCSI.
SRB_STATUS_COMMAND_TIMEOUT Indica che la destinazione non ha completato il comando entro il limite di tempo.
SRB_STATUS_MESSAGE_REJECTED Indica la destinazione rifiutata da un messaggio. Questa operazione viene in genere restituita solo per le richieste di tipo messaggio come SRB_FUNCTION_TERMINATE_IO.
SRB_STATUS_BUS_RESET Indica che si è verificato un ripristino del bus durante l'esecuzione di questa richiesta.
SRB_STATUS_PARITY_ERROR Indica che si è verificato un errore di parità nel bus SCSI e che un nuovo tentativo non è riuscito.
SRB_STATUS_REQUEST_SENSE_FAILED Indica che il comando request-sense non è riuscito. Viene restituito solo se l'adattatore bus host (HBA) esegue il rilevamento automatico della richiesta e il driver miniport imposta AutoRequestSense su TRUE nel PORT_CONFIGURATION_INFORMATION per questo HBA.
SRB_STATUS_NO_HBA Indica che l'HBA non risponde.
SRB_STATUS_DATA_OVERRUN Indica che si è verificato un errore di sovraccarico o sottorun dei dati. Il driver miniport deve anche aggiornare il membro DataTransferLength di SRB per indicare la quantità di dati effettivamente trasferiti se si verifica una sottorun.
SRB_STATUS_UNEXPECTED_BUS_FREE Indica la destinazione disconnessa in modo imprevisto.
SRB_STATUS_PHASE_SEQUENCE_FAILURE Indica che l'HBA ha rilevato un errore di errore della sequenza di fasi non valido.
SRB_STATUS_REQUEST_FLUSHED Indica che la richiesta di stato è stata arrestata.
SRB_STATUS_BAD_FUNCTION Indica che il codice della funzione SRB non è supportato.
SRB_STATUS_INVALID_PATH_ID Indica che il PathId specificato in SRB non esiste.
SRB_STATUS_INVALID_TARGET_ID Indica che il valore TargetID in SRB non è valido.
SRB_STATUS_INVALID_LUN Indica che il valore Lun in SRB non è valido.
SRB_STATUS_ERROR_RECOVERY Indica che la richiesta è stata completata con un errore nello stato del bus SCSI e che il messaggio SCSI INITIATE RECOVERY è stato ricevuto.
SRB_STATUS_AUTOSENSE_VALID Indica che le informazioni restituite in SenseInfoBuffer sono valide.
SRB_STATUS_QUEUE_FROZEN Un driver miniport non deve mai impostare il membro SrbStatus su questo valore. Il driver della porta di Windows può impostare questo valore per informare un driver della classe di archiviazione che la coda di richieste per una determinata periferica è stata bloccata.
SRB_STATUS_NOT_POWERED Indica che la richiesta non è riuscita perché la destinazione non è alimentato. Per le richieste con SRB_FLAGS_NO_KEEP_AWAKE impostate in SrbFlags, le richieste inviate ai LUN spenti avranno esito negativo con questo stato.
SRB_STATUS_LINK_DOWN Indica che la richiesta non è riuscita perché il collegamento è inattivo.
SRB_STATUS_BAD_SRB_BLOCK_LENGTH Indica che la richiesta non è riuscita perché la lunghezza di SRB non è valida.

ReservedUlong1

Riservato. Impostare su 0.

Signature

Firma del formato SRB esteso. Questa opzione è impostata su SRB_SIGNATURE.

Version

Versione della struttura utilizzata. La versione corrente è STORAGE_REQUEST_BLOCK_VERSION_1.

SrbLength

Lunghezza di questo SRB esteso, espressa in byte, inclusa questa struttura, indirizzo ed eventuali dati estesi di SRB.

SrbFunction

Specifica l'operazione da eseguire, che può essere uno dei valori seguenti:

Valore Significato
SRB_FUNCTION_EXECUTE_SCSI (0x00) È necessario eseguire una richiesta di I/O del dispositivo SCSI nell'unità logica di destinazione. Quando NumSrbExData> 0, una o più delle strutture di blocchi di richiesta estese seguenti si trovano in corrispondenza degli offset specificati in SrbExDataOffset: SRBEX_DATA_SCSI_CDB16, SRBEX_DATA_SCSI_CDB32, SRBEX_DATA_SCSI_CDB_VAR, SRBEX_DATA_BIDIRECTIONAL, SRBEX_DATA_IO_INFO
SRB_FUNCTION_IO_CONTROL (0x02) La richiesta è una richiesta di controllo di I/O, che ha origine in un'applicazione in modalità utente con un hbA dedicato. SRB DataBuffer punta a un'intestazione SRB_IO_CONTROL seguita dall'area dati. Il valore in DataBuffer può essere usato dal driver, indipendentemente dal valore di MapBuffers. Solo i membri SRB Function, SrbFlags, TimeOutValue, DataBuffer e DataTransferLength sono validi, insieme al membro SrbExtension se il driver miniport ha richiesto estensioni SRB durante l'inizializzazione. Se un driver miniport controlla un HBA dedicato all'applicazione in modo che supporti questa richiesta, il driver miniport deve eseguire la richiesta e inviare una notifica al driver di porta specifico del sistema operativo al termine di SRB, usando il normale meccanismo di chiamate a StorPortNotification con RequestComplete e NextRequest.
SRB_FUNCTION_RECEIVE_EVENT (0x03) L'HBA deve essere preparata per ricevere una notifica degli eventi asincrona dalla destinazione indirizzata. Il membro DataBuffer SRB indica dove devono essere inseriti i dati. NOTA: questa funzione non viene inviata al miniport da Storport.
SRB_FUNCTION_SHUTDOWN (0x07) Il sistema viene arrestato. Un driver miniport può ricevere diverse di queste notifiche prima che tutte le attività di sistema si arrestino effettivamente. Tuttavia, l'ultima notifica di arresto verrà eseguita dopo l'ultimo I/O di avvio. I dati SRB estesi non sono necessari per questa funzione.
SRB_FUNCTION_FLUSH (0x08) Il driver miniport deve scaricare tutti i dati memorizzati nella cache per il dispositivo di destinazione. Questa richiesta viene inviata al driver miniport solo se imposta CachesData su TRUE nel PORT_CONFIGURATION_INFORMATION per l'HBA. I dati SRB estesi non sono necessari per questa funzione.
SRB_FUNCTION_ABORT_COMMAND (0x10) Un messaggio di SCSIMESS_ABORT deve essere inviato per annullare la richiesta a cui punta il membro NextSrb . Se si tratta di una richiesta di accodamento con tag, è necessario usare un messaggio SCSIMESS_ABORT_WITH_TAG. Se la richiesta indicata è stata completata, questa richiesta deve essere completata normalmente. I dati SRB estesi non sono necessari per questa funzione. NOTA: questa funzione non viene inviata al miniport da Storport.
SRB_FUNCTION_RELEASE_RECOVERY (0x11) Un messaggio SCSIMESS_RELEASE_RECOVERY deve essere inviato al controller di destinazione. I dati SRB estesi non sono necessari per questa funzione. NOTA: questa funzione non viene inviata al miniport da Storport.
SRB_FUNCTION_RESET_BUS (0x12) Il bus SCSI deve essere reimpostato usando il messaggio SCSIMESS_BUS_DEVICE_RESET. Un driver miniport riceve questa richiesta solo se si è verificato il timeout di una determinata richiesta e una richiesta successiva per interrompere il timeout della richiesta di timeout è scaduta. I dati SRB estesi non sono necessari per questa funzione.
SRB_FUNCTION_TERMINATE_IO (0x14) Un messaggio di SCSIMESS_TERMINATE_IO_PROCESS deve essere inviato per annullare la richiesta a cui punta il membro NextSrb . Se la richiesta indicata è già stata completata, questa richiesta deve essere completata normalmente. I dati SRB estesi non sono necessari per questa funzione. NOTA: questa funzione non viene inviata al miniport da Storport.
SRB_FUNCTION_RESET_DEVICE (0x16) Il controller di destinazione SCSI deve essere reimpostato usando il messaggio SCSIMESS_BUS_DEVICE_RESET. Il driver miniport deve completare tutte le richieste attive per il controller di destinazione. I dati SRB estesi non sono necessari per questa funzione.
SRB_FUNCTION_WMI (0x17) La richiesta è una richiesta estesa per il risparmio di energia formattata come struttura SRBEX_DATA_WMI . L'offset ai dati della richiesta estesa si trova in SrbExDataOffset[0].
SRB_FUNCTION_LOCK_QUEUE (0x18) Contiene le richieste accodate dal driver di porta per una determinata unità logica, in genere durante l'elaborazione di una richiesta di alimentazione. Sono validi solo i membri SRB Length, Function, SrbFlags e OriginalRequest . Quando la coda è bloccata, verranno elaborate solo le richieste con SrbFlags ORed con SRB_FLAGS_BYPASS_LOCKED_QUEUE . I driver miniport SCSI non elaborano SRB_FUNCTION_LOCK_QUEUE richieste.
SRB_FUNCTION_UNLOCK_QUEUE (0x19) Rilascia la coda del driver di porta per un'unità logica bloccata in precedenza con SRB_FUNCTION_LOCK_QUEUE. Gli SrbFlags della richiesta di sblocco devono essere ORed con SRB_FLAGS_BYPASS_LOCKED_QUEUE. Sono validi solo i membri SRB Length, Function, SrbFlags e OriginalRequest . I driver miniport SCSI non elaborano SRB_FUNCTION_UNLOCK_QUEUE richieste.
SRB_FUNCTION_QUIESCE_DEVICE (0x1A) La richiesta è solo tra una classe di archiviazione e un driver della porta di archiviazione e non viene inviata al miniport. Questa funzione funge da attesa dal driver di classe per il completamento di tutte le operazioni di I/O in sospeso.
SRB_FUNCTION_RESET_LOGICAL_UNIT (0x20) Se possibile, l'unità logica deve essere reimpostata. Il driver miniport HBA deve completare tutte le richieste attive per l'unità logica. I dati SRB estesi non sono necessari per questa funzione. Storport supporta questo tipo di reimpostazione, ma la porta SCSI non lo supporta.
SRB_FUNCTION_POWER (0x24) La richiesta è una richiesta estesa di alimentazione formattata come struttura SRBEX_DATA_POWER . L'offset ai dati della richiesta estesa si trova in SrbExDataOffset[0].
SRB_FUNCTION_PNP (0x25) La richiesta è una richiesta estesa PnP formattata come struttura SRBEX_DATA_PNP . L'offset ai dati della richiesta estesa si trova in SrbExDataOffset[0].
SRB_FUNCTION_DUMP_POINTERS (0x26) Una richiesta con questa funzione viene inviata a un driver miniport Storport usato per controllare il disco che contiene i dati del dump di arresto anomalo del sistema. La richiesta raccoglie le informazioni necessarie dal driver miniport per supportare il dump di arresto anomalo e l'ibernazione. Vedere la struttura MINIPORT_DUMP_POINTERS . Un driver miniport fisico deve impostare il flag STOR_FEATURE_DUMP_POINTERS nel membro FeatureSupport del relativo HW_INITIALIZATION_DATA per ricevere una richiesta con questa funzione.
SRB_FUNCTION_FREE_DUMP_POINTERS (0x27) Una richiesta con questa funzione viene inviata a un driver miniport Storport per rilasciare tutte le risorse allocate durante una richiesta precedente per SRB_FUNCTION_DUMP_POINTERS.

SrbFlags

Indica vari parametri e opzioni per la richiesta. SrbFlags è di sola lettura, tranne quando SRB_FLAGS_UNSPECIFIED_DIRECTION è impostato e i driver miniport delle schede DMA subordinate sono necessari per aggiornare SRB_FLAGS_DATA_IN o SRB_FLAGS_DATA_OUT. Questo membro può avere uno o più flag impostati.

Contrassegno Significato
SRB_FLAGS_QUEUE_ACTION_ENABLE Indica che le azioni della coda con tag devono essere abilitate.
SRB_FLAGS_DISABLE_AUTOSENSE Indica che le informazioni sul senso della richiesta non devono essere restituite.
SRB_FLAGS_DATA_IN Indica che i dati verranno trasferiti dal dispositivo al sistema.
SRB_FLAGS_DATA_OUT Indica che i dati verranno trasferiti dal sistema al dispositivo.
SRB_FLAGS_UNSPECIFIED_DIRECTION Definito per la compatibilità con le versioni precedenti con le interfacce SCSI ASPI/CAM, questo flag indica che la direzione di trasferimento potrebbe essere una delle due precedenti, perché vengono impostati entrambi i flag precedenti. Se questo flag è impostato, un driver miniport deve determinare la direzione di trasferimento esaminando la fase di dati per la destinazione sul bus SCSI.
SRB_FLAGS_NO_DATA_TRANSFER Indica che non viene trasferito alcun dato con questa richiesta. Se questa impostazione è impostata, i flag SRB_FLAGS_DATA_OUT, SRB_FLAGS_DATA_IN e SRB_FLAGS_UNSPECIFIED_DIRECTION sono chiari.
SRB_FLAGS_DISABLE_SYNCH_TRANSFER Indica l'HBA, se possibile, deve eseguire operazioni di I/O asincrone per questa richiesta di trasferimento. Se in precedenza è stato negoziato I/O sincrono, l'HBA deve rinegoziare per I/O asincrona prima di eseguire il trasferimento.
SRB_FLAGS_DISABLE_DISCONNECT Indica che l'HBA non deve consentire alla destinazione di disconnettersi dal bus SCSI durante l'elaborazione di questa richiesta.
SRB_FLAGS_BYPASS_FROZEN_QUEUE Questo flag è irrilevante per i driver miniport.
SRB_FLAGS_NO_QUEUE_FREEZE Questo flag è irrilevante per i driver miniport.
SRB_FLAGS_IS_ACTIVE Questo flag è irrilevante per i driver miniport.
SRB_FLAGS_ALLOCATED_FROM_ZONE Questo flag è irrilevante per i driver miniport ed è obsoleto per i nuovi driver di classe Windows. Per un driver di classe legacy di Windows, questo indica se la SRB è stata allocata da un buffer di zona. Se questo flag è impostato, il driver di classe deve chiamare ExInterlockedFreeToZone per rilasciare SRB; in caso contrario, deve chiamare ExFreePool. I nuovi driver di classe devono usare elenchi lookaside anziché buffer di zona.
SRB_FLAGS_SGLIST_FROM_POOL Questo flag è irrilevante per i driver miniport. Per il driver di classe, questo indica che la memoria per un elenco di dispersione/raccolta è stata allocata da un pool non con pagine. Se questo flag è impostato, il driver di classe deve chiamare ExFreePool per rilasciare la memoria dopo il completamento della SRB.
SRB_FLAGS_BYPASS_LOCKED_QUEUE Questo flag è irrilevante per i driver miniport. Per il driver della porta, questo flag indica che la richiesta deve essere elaborata se la coda di unità logica è bloccata o meno. Un driver di livello superiore deve impostare questo flag per inviare una richiesta di SRB_FUNCTION_UNLOCK_QUEUE .
SRB_FLAGS_NO_KEEP_AWAKE Questo flag è irrilevante per i driver miniport. Un driver di classe Windows usa questo flag per indicare al driver della porta di non riuscire la richiesta anziché attivare il dispositivo per gestire questa richiesta.
SRB_FLAGS_FREE_SENSE_BUFFER Indica che la porta o il driver miniport ha allocato un buffer per i dati di senso. In questo modo il driver della classe informa che deve liberare il buffer dei dati del senso dopo l'estrazione dei dati.
SRB_FLAGS_D3_PROCESSING Indica che la richiesta fa parte dell'elaborazione D3. I miniport che supportano il controllo della potenza di runtime non devono chiamare StorPortPoFxActivateComponent o StorPortPoFxIdleComponent con queste richieste.
SRB_FLAGS_ADAPTER_CACHE_ENABLE Indica che l'adapter può memorizzare nella cache i dati.

ReservedUlong2

Riservato. Impostare su 0.

RequestTag

Contiene il valore di queue-tag assegnato dal driver di porta specifico del sistema operativo. Se questo membro viene usato per l'accodamento con tag, l'HBA supporta l'accodamento interno delle richieste a unità logiche e il driver miniport impostato Con tagQueueing su TRUE nella PORT_CONFIGURATION_INFORMATION per questo HBA.

RequestPriority

Assegnazione di priorità per SRB. Può essere uno dei valori seguenti.

Valore Significato
StorIoPriorityVeryLow (0) Priorità molto bassa.
StorIoPriorityLow (1) A bassa priorità.
StorIoPriorityNormal (2) Priorità normale.
StorIoPriorityHigh (3) Ad alta priorità.
StorIoPriorityCritical (4) Priorità critica.

RequestAttribute

Indica il messaggio di accodamento contrassegnato da usare quando viene impostato il flag di SRB_FLAGS_QUEUE_ACTION_ENABLE . Il valore può essere uno dei seguenti: SRB_SIMPLE_TAG_REQUEST, SRB_HEAD_OF_QUEUE_TAG_REQUEST o SRB_ORDERED_QUEUE_TAG_REQUEST.

TimeOutValue

Indica l'intervallo, in secondi, che la richiesta può essere eseguita prima che il driver di porta specifico del sistema operativo possa considerarlo timeout. I driver miniport non sono necessari per le richieste di tempo perché il driver di porta è già in corso.

SystemStatus

Usato dal driver Storport, invece di SrbStatus, per segnalare lo stato della richiesta completata ogni volta che la richiesta non può essere recapitata al driver miniport. In questi casi, SrbStatus è impostato su SRB_STATUS_INTERNAL_ERROR. Questo membro viene usato esclusivamente per la comunicazione tra Storport e il driver di classe e non deve essere usato dai driver miniport.

ZeroGuard1

Un'area di guardia da proteggere dai driver che interpretano questa struttura come SCSI_REQUEST_BLOCK. Impostare su 0.

AddressOffset

Offset dell'indirizzo della richiesta di archiviazione dall'inizio di questa struttura. Questo offset individua una struttura STOR_ADDRESS che contiene l'indirizzo per la richiesta.

NumSrbExData

Numero di blocchi di dati SRB estesi per questa richiesta.

DataTransferLength

Indica le dimensioni, in byte, del buffer di dati. Se si verifica un'esecuzione, il driver miniport deve aggiornare questo membro al numero di byte effettivamente trasferiti.

DataBuffer

Punta al buffer dei dati. I driver Miniport non devono usare questo valore come puntatore dati a meno che il driver miniport imposta MapBuffers su TRUE nella PORT_CONFIGURATION_INFORMATION per l'HBA. Nel caso di richieste di SRB_FUNCTION_IO_CONTROL, tuttavia, i driver miniport possono usare questo valore come puntatore dati indipendentemente dal valore di MapBuffers.

ZeroGuard2

Un'area di guardia da proteggere dai driver che interpretano questa struttura come SCSI_REQUEST_BLOCK. Impostare su 0.

OriginalRequest

Punta all'IRP per questa richiesta. Questo membro è irrilevante per i driver miniport.

ClassContext

Punta ai dati del contesto del driver di classe per questa richiesta. Questo membro è irrilevante per i driver miniport.

PortContext

Punta ai dati del contesto del driver di porta per questa richiesta. Questo membro è irrilevante per i driver miniport.

MiniportContext

Punta all'estensione Srb. Un driver miniport non deve usare questo membro se imposta SrbExtensionSize su zero in HW_INITIALIZATION_DATA. La memoria in MiniportContext non viene inizializzata dal driver di porta specifica del sistema operativo e i dati determinati dal driver miniport possono essere accessibili direttamente dall'HBA. L'indirizzo fisico corrispondente può essere ottenuto chiamando StorportGetPhysicalAddress con il puntatore MiniportContext .

NextSrb

Indica la STORAGE_REQUEST_BLOCK a cui si applica questa richiesta. Solo un piccolo subset di richieste usa un secondo SRB, ad esempio SRB_FUNCTION_ABORT_COMMAND.

_STORAGE_REQUEST_BLOCK

SrbExDataOffset[ANYSIZE_ARRAY]

Matrice di offset che specifica la posizione dei blocchi di dati estesi per SRB. Questa matrice è vuota se NumSrbExData = 0.

Commenti

A partire da Windows 8, un tipo SRB esteso è supportato con l'uso della struttura STORAGE_REQUEST_BLOCK. STORAGE_REQUEST_BLOCK estende le funzioni SRB, consentendo l'aggiunta di blocchi di dati estesi per la funzione SRB alla richiesta. Il supporto per le richieste SRB usando la struttura SCSI_REQUEST_BLOCK continuerà.

Se NumSrbExData> 0, gli offset per i blocchi di dati estesi SRB si trovano nella matrice SrbExDataOffset . Ogni offset è relativo all'inizio di questa struttura e punta a una struttura SRBEX_DATA contenente il blocco di dati esteso.

L'indirizzo del dispositivo di destinazione per SRB si trova in una struttura STOR_ADDRESS indicata da AddressOffset.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows 8 e versioni successive di Windows.
Intestazione storport.h (include Storport.h, Srb.h, Minitape.h)

Vedi anche

SCSI_REQUEST_BLOCK

STOR_ADDRESS