STRUCTURE INQUIRYDATA (scsi.h)
La structure INQUIRYDATA est utilisée conjointement avec les routines TapeMiniExtensionInit et TapeMiniVerifyInquiry pour signaler les données d’enquête SCSI associées à un périphérique à bande.
Syntaxe
typedef struct _INQUIRYDATA {
UCHAR DeviceType : 5;
UCHAR DeviceTypeQualifier : 3;
UCHAR DeviceTypeModifier : 7;
UCHAR RemovableMedia : 1;
UCHAR Versions;
UCHAR ResponseDataFormat : 4;
UCHAR HiSupport : 1;
UCHAR NormACA : 1;
UCHAR ReservedBit : 1;
UCHAR AERC : 1;
UCHAR AdditionalLength;
UCHAR Reserved[2];
UCHAR SoftReset : 1;
UCHAR CommandQueue : 1;
UCHAR Reserved2 : 1;
UCHAR LinkedCommands : 1;
UCHAR Synchronous : 1;
UCHAR Wide16Bit : 1;
UCHAR Wide32Bit : 1;
UCHAR RelativeAddressing : 1;
UCHAR VendorId[8];
UCHAR ProductId[16];
UCHAR ProductRevisionLevel[4];
UCHAR VendorSpecific[20];
UCHAR Reserved3[2];
VERSION_DESCRIPTOR VersionDescriptors[8];
UCHAR Reserved4[30];
} INQUIRYDATA, *PINQUIRYDATA;
Membres
DeviceType
Spécifie le type d’appareil. DeviceType peut être l’une des valeurs suivantes, définies dans scsi.h.
Valeur | Signification |
---|---|
DIRECT_ACCESS_DEVICE 0x00 | Disque |
SEQUENTIAL_ACCESS_DEVICE 0x01 | Périphérique à bande |
PRINTER_DEVICE 0x02 | Imprimante |
PROCESSOR_DEVICE 0x03 | Scanneur, imprimante, etc. |
WRITE_ONCE_READ_MULTIPLE_DEVICE 0x04 | WORM |
READ_ONLY_DIRECT_ACCESS_DEVICE 0x05 | CD-ROM |
SCANNER_DEVICE 0x06 | Scanneur |
OPTICAL_DEVICE 0x07 | Disque optique |
MEDIUM_CHANGER 0x08 | Jukebox |
COMMUNICATION_DEVICE 0x09 | Appareil réseau |
ARRAY_CONTROLLER_DEVICE 0x0C | Contrôleur de tableau |
SCSI_ENCLOSURE_DEVICE 0x0D | Périphérique de boîtier SCSI |
REDUCED_BLOCK_DEVICE 0x0E | Par exemple, disque 1394 |
OPTICAL_CARD_READER_WRITER_DEVICE 0x0F | Lecteur/enregistreur de carte optique |
BRIDGE_CONTROLLER_DEVICE 0x10 | Contrôleur de pont |
OBJECT_BASED_STORAGE_DEVICE 0x11 | Appareil OSD |
HOST_MANAGED_ZONED_BLOCK_DEVICE 0x14 | Hôte d’un périphérique de bloc interzone managé |
UNKNOWN_OR_NO_DEVICE 0x1F | Type d’appareil inconnu ou aucun |
LOGICAL_UNIT_NOT_PRESENT_DEVICE 0x7F | Une unité logique n’est pas présente |
DeviceTypeQualifier
Qualificateur pour DeviceType. Les valeurs que ce membre peut prendre sont les suivantes :
Valeur | Signification |
---|---|
DEVICE_QUALIFIER_ACTIVE | Le système d’exploitation prend en charge l’appareil et l’appareil est présent. |
DEVICE_QUALIFIER_NOT_ACTIVE | Le système d’exploitation prend en charge l’appareil, mais l’appareil n’est pas présent. |
DEVICE_QUALIFIER_NOT_SUPPORTED | Le système d’exploitation ne prend pas en charge cet appareil. |
DeviceTypeModifier
Spécifie le modificateur de type d’appareil, le cas échéant, tel que défini par SCSI. S’il n’existe aucun modificateur de type d’appareil, ce membre est égal à zéro.
RemovableMedia
Indique, quand TRUE, que le média est amovible et que le média n’est pas amovible.
Versions
Indique la version de la norme de données d’interrogation à laquelle ces données sont conformes. Pour plus d’informations sur les valeurs de version autorisées dans ce champ, consultez la spécification SCSI Primary Commands - 2 (SPC-2).
ResponseDataFormat
Indique la norme SCSI qui régit le format des données de réponse. La valeur de ce membre doit être 2.
HiSupport
Indique, quand zéro, que la cible n’utilise pas le modèle d’adressage hiérarchique pour affecter des LUN à des unités logiques. La valeur 1 indique que la cible utilise le modèle d’adressage hiérarchique pour affecter des LUN à des unités logiques.
NormACA
Indique, lorsqu’il est défini sur un, que le système d’exploitation prend en charge la définition du bit NACA sur un dans l’octet de contrôle du bloc de descripteur de commande (CDB). La valeur zéro indique que le système ne prend pas en charge la définition du bit NACA sur un. Pour plus d’informations sur la fonction du bit NACA et de l’octet de contrôle dans une base de données CDB, consultez la spécification SCSI Primary Commands - 2 (SPC-2).
ReservedBit
Réservé.
AERC
Indique, lorsqu’il est défini sur un, que l’appareil cible prend en charge la fonctionnalité de rapport d’événements asynchrone. La valeur zéro indique que l’appareil cible ne prend pas en charge les rapports d’événements asynchrones. Les détails de la prise en charge des rapports d’événements asynchrones sont spécifiques au protocole. Pour plus d’informations sur la création de rapports pair asynchrones, consultez la spécification SCSI Primary Commands - 2 (SPC-2).
AdditionalLength
Spécifie la longueur en octets des paramètres du bloc de descripteur de commande (CDB).
Reserved[2]
Réservé.
SoftReset
Indique, lorsqu’il est défini sur un, que l’appareil cible prend en charge les réinitialisations réversibles. La valeur zéro indique que la cible ne prend pas en charge les réinitialisations réversibles.
CommandQueue
Indique, lorsqu’il est défini sur un, que l’appareil cible prend en charge la mise en file d’attente de commandes pour cette unité logique. Toutefois, une valeur de zéro n’indique pas nécessairement que l’appareil cible ne prend pas en charge la mise en file d’attente de commandes. La signification de ces valeurs dépend des valeurs présentes dans les données d’interrogation SCSI. Pour plus d’informations sur la signification du bit de mise en file d’attente de commande, consultez la spécification SCSI Primary Commands - 2 (SPC-2).
Reserved2
Réservé.
LinkedCommands
Indique, lorsqu’il est défini sur un, que le système d’exploitation prend en charge les commandes liées. La valeur zéro indique que le système d’exploitation ne prend pas en charge les commandes liées.
Synchronous
Indique, lorsqu’elle est définie sur un, que la cible prend en charge le transfert de données synchrone. La valeur zéro indique que la cible ne prend pas en charge le transfert de données synchrone.
Wide16Bit
Indique, lorsqu’elle est définie sur un, que la cible prend en charge les transferts de données de large de 16 bits. La valeur zéro indique que l’appareil ne prend pas en charge les transferts de données de large de 16 bits.
Wide32Bit
Indique, lorsqu’elle est définie sur un, que la cible prend en charge les transferts de données de large de 32 bits. La valeur zéro indique que l’appareil ne prend pas en charge les transferts de données de large 32 bits.
RelativeAddressing
Indique, lorsqu’il est défini sur un, que le système d’exploitation prend en charge le mode d’adressage relatif. La valeur zéro indique que le système d’exploitation ne prend pas en charge l’adressage relatif.
VendorId[8]
Contient huit octets de données ASCII qui identifient le fournisseur du produit.
ProductId[16]
Contient seize octets de données ASCII qui indiquent l’ID de produit, tel que défini par le fournisseur. Les données doivent être alignées à gauche dans ce champ et les octets inutilisés doivent être remplis de vides ASCII.
ProductRevisionLevel[4]
Contient quatre octets de données ASCII qui indiquent le niveau de révision du produit, tel que défini par le fournisseur.
VendorSpecific[20]
Contient 20 octets de données spécifiques au fournisseur.
Reserved3[2]
Réservé.
VersionDescriptors[8]
Définit le membre UCHARVersionDescriptors[8].
Reserved4[30]
Réservé.
Remarques
Des membres supplémentaires définis dans la directive conditionnelle #else dans la définition de structure dans scsi.h.
ANSIVersion
Indique la version ANSI de la norme de données d’enquête à laquelle ces données sont conformes. Pour plus d’informations sur les valeurs de version autorisées dans ce champ, consultez la spécification SCSI Primary Commands - 2 (SPC-2).
ECMAVersion
Indique la version ECMA de la norme de données d’enquête à laquelle ces données sont conformes. Pour plus d’informations sur les valeurs de version autorisées dans ce champ, consultez la spécification SCSI Primary Commands - 2 (SPC-2).
ISOVersion
Indique la version ISO de la norme de données d’enquête à laquelle ces données sont conformes. Pour plus d’informations sur les valeurs de version autorisées dans ce champ, consultez la spécification SCSI Primary Commands - 2 (SPC-2).
TerminateTask
Indique, lorsqu’il est défini sur un, que l’appareil cible prend en charge la fonction de gestion des tâches SCSI TERMINATE TASK. La valeur zéro indique que l’appareil cible ne prend pas en charge la fonction de gestion des tâches TERMINATE TASK.
Addr16
Indique, lorsqu’elle est définie sur un, que la cible prend en charge les adresses SCSI larges 16 bits. La valeur zéro indique que l’appareil ne prend pas en charge les adresses SCSI larges 32 bits.
Addr32
Indique, lorsqu’elle est définie sur un, que la cible prend en charge les adresses SCSI larges 32 bits. La valeur zéro indique que l’appareil ne prend pas en charge les adresses SCSI larges 32 bits.
AckReqQ
Indique, lorsqu’elle est définie sur un, que la cible prend en charge une requête et qu’elle accepte la négociation de transfert de données sur le bus secondaire. La valeur zéro indique que la cible ne prend pas en charge cette fonction.
MediumChanger
Indique, lorsqu’il est défini sur un, que l’appareil est incorporé ou attaché à un élément de transport moyen. La valeur zéro indique que l’appareil n’est pas incorporé ou attaché à un élément de transport moyen.
Multiport
Indique, lorsqu’il est défini sur un, que l’appareil cible est un appareil multiport (2 ports ou plus) conforme à la configuration requise pour l’appareil multiport SCSI-3. La valeur zéro indique que cet appareil a un seul port et n’implémente pas les exigences multiports.
ReservedBit2
Réservé.
EnclosureServices
Indique, lorsqu’il est défini sur un, que l’appareil contient un composant de services de boîtier incorporé. La valeur zéro indique que l’appareil ne contient pas de composant de services de boîtier incorporé.
ReservedBit3
Réservé.
TransferDisable
Indique, lorsqu’elle est définie sur un, que la cible prend en charge les messages SCSI CONTINUE TASK et TARGET TRANSFER DISABLE. La valeur zéro indique que l’appareil ne prend pas en charge l’un de ces messages ou les deux. Pour plus d’informations sur les messages CONTINUE TASK et TARGET TRANSFER DISABLE, consultez la spécification SCSI Primary Commands - 2 (SPC-2).
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | scsi.h (inclure Scsi.h, Minitape.h, Storport.h) |