Partager via


SRB_IO_CONTROL structure (ntddscsi.h)

Note Les modèles de pilote de port SCSI et de pilote miniport SCSI peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser les modèles de pilote Storport et de pilote miniport Storport .
 

Syntaxe

typedef struct _SRB_IO_CONTROL {
  ULONG HeaderLength;
  UCHAR Signature[8];
  ULONG Timeout;
  ULONG ControlCode;
  ULONG ReturnCode;
  ULONG Length;
} SRB_IO_CONTROL, *PSRB_IO_CONTROL;

Membres

HeaderLength

Est sizeof(SRB_IO_CONTROL).

Signature[8]

Identifie l’adaptateur HBA cible dédié à l’application pour cette requête. Cette signature est utilisée pour éviter les conflits dans les valeurs ControlCode entre les fournisseurs. Il doit s’agir d’une chaîne de caractères ASCII. Si un pilote miniport ne reconnaît pas la valeur signature d’entrée, il doit terminer la demande avec un status de SRB_STATUS_INVALID_REQUEST.

Timeout

Indique l’intervalle en secondes pendant lequel la requête peut s’exécuter avant que le pilote de port spécifique au système d’exploitation puisse considérer qu’elle a expiré. Les pilotes miniport doivent appliquer des délais d’expiration pour les SRB_IO_CONTROL, en particulier pour les SRB_IO_CONTROL définis en privé.

ControlCode

Indique l’opération à effectuer. Il n’existe aucune opération définie par le système. Les valeurs doivent être définies par le pilote en tant qu’ensemble de codes de contrôle d’E/S privés avec lesquels l’application peut effectuer des requêtes en appelant la fonction Win32 DeviceIoControl . Pour plus d’informations sur la définition de codes de contrôle d’E/S privés pour les demandes de contrôle d’appareil, consultez Utilisation de codes de contrôle d’E/S.

ReturnCode

Retourne un code status pour examen par l’application qui demande.

Length

Indique la taille en octets de la zone de données immédiatement suivante. Cette zone peut être divisée pour l’opération particulière en zones d’entrée et de sortie. Pour les demandes d’entrée, le contenu de DataBuffer est copié dans le demandeur jusqu’à la valeur retournée de DataTransferLength.

Remarques

Cette structure est utilisée par les applications pour envoyer des requêtes directement à un HBA dédié à l’application. Notez qu’une telle application doit également configurer des demandes pour programmer son HBA dédié.

Configuration requise

Condition requise Valeur
En-tête ntddscsi.h (inclure Ntddscsi.h)

Voir aussi

Codes de contrôle d’E/S du port SCSI

SCSI_REQUEST_BLOCK