Partager via


GET_CHANGER_PARAMETERS structure (ntddchgr.h)

Récupère les caractéristiques du changeur.

Syntaxe

typedef struct _GET_CHANGER_PARAMETERS {
  ULONG  Size;
  USHORT NumberTransportElements;
  USHORT NumberStorageElements;
  USHORT NumberCleanerSlots;
  USHORT NumberIEElements;
  USHORT NumberDataTransferElements;
  USHORT NumberOfDoors;
  USHORT FirstSlotNumber;
  USHORT FirstDriveNumber;
  USHORT FirstTransportNumber;
  USHORT FirstIEPortNumber;
  USHORT FirstCleanerSlotAddress;
  USHORT MagazineSize;
  ULONG  DriveCleanTimeout;
  ULONG  Features0;
  ULONG  Features1;
  UCHAR  MoveFromTransport;
  UCHAR  MoveFromSlot;
  UCHAR  MoveFromIePort;
  UCHAR  MoveFromDrive;
  UCHAR  ExchangeFromTransport;
  UCHAR  ExchangeFromSlot;
  UCHAR  ExchangeFromIePort;
  UCHAR  ExchangeFromDrive;
  UCHAR  LockUnlockCapabilities;
  UCHAR  PositionCapabilities;
  UCHAR  Reserved1[2];
  ULONG  Reserved2[2];
} GET_CHANGER_PARAMETERS, *PGET_CHANGER_PARAMETERS;

Membres

Size

Taille de cette structure en octets. Définissez sur sizeof(GET_CHANGER_PARAMETERS). En effet, ce membre indique la version de cette structure utilisée par le pilote miniclass.

NumberTransportElements

Indique le nombre d’éléments de transport dans le changeur. Pour un changeur SCSI, cela est défini dans la page d’adresse de l’élément. Cette valeur est presque toujours égale à 1, car la plupart des changeurs ont un seul élément de transport, qui peut avoir un ou deux mécanismes de sélecteur. Un changeur qui a deux mécanismes de sélecteur sur son transport ne doit pas être représenté comme ayant deux transports, car les sélecteurs ne peuvent pas être traités individuellement. Les bibliothèques multimédias haut de gamme peuvent avoir des éléments de transport doubles et multiples pour la tolérance de panne.

NumberStorageElements

Indique le nombre d’éléments de stockage (emplacements) dans le changeur. Pour un changeur SCSI, cela est défini dans la page d’adresse de l’élément. Cette valeur représente le nombre maximal d’emplacements disponibles pour ce changeur, y compris ceux dans les magazines amovibles, si les magazines sont installés. Si NumberCleanerSlots a la valeur 1, NumberStorageElements est inférieur de 1 au nombre maximal d’emplacements dans le changeur.

NumberCleanerSlots

Indique le nombre d’éléments de stockage (emplacements) pour les cartouches plus propres dans le changeur. Pour un changeur SCSI, cette valeur n’est pas signalée dans les données de sens du mode. Le pilote miniclasse doit donc la fournir. Le pilote de miniclasse doit définir NumberCleanerSlots sur 1 uniquement si le repère de l’opérateur pour le changeur identifie un emplacement spécifique en tant qu’emplacement plus propre. Si NumberCleanerSlots a la valeur 1, FirstCleanerSlotAddress indique l’adresse de base zéro de l’emplacement dans lequel un nettoyeur de lecteur doit être inséré. Si le changeur ne prend pas en charge le nettoyage du lecteur en déplaçant par programmation la cartouche de nettoyage de son emplacement vers un lecteur, le pilote miniclasse doit définir NumberCleanerSlots sur 0. NumberCleanerSlots ne doit pas être supérieur à 1.

NumberIEElements

Indique le nombre d’éléments IEport dont dispose le changeur pour l’insertion et l’éjection du média. Pour un changeur SCSI, cela est défini dans la page d’adresse de l’élément. Un élément IEport ne doit pas faire partie de l’espace de l’élément de stockage (emplacement) et il doit être possible de transporter un média entre iEport et un emplacement à l’aide d’une commande MOVE MEDIUM SCSI. Si le changeur a une porte et non un vrai IEport, le pilote de miniclasse doit définir NumberIEElements sur 0.

NumberDataTransferElements

Indique le nombre d’éléments de transfert de données (lecteurs) dans le changeur. Pour un changeur SCSI, cela est défini dans la page d’adresse de l’élément. Contrairement à NumberStorageElements, qui indique le nombre total d’emplacements possibles si les emplacements sont réellement présents, NumberDataTransferElements indique le nombre de lecteurs réellement présents dans le changeur.

NumberOfDoors

Indique le nombre de portes dont dispose le changeur. Pour un changeur SCSI, cette valeur n’est pas signalée dans les données de sens du mode. Le pilote miniclasse doit donc la fournir. Une porte permet d’accéder à tous les supports du changeur à la fois, contrairement à un IEport qui permet d’accéder à un ou plusieurs supports, mais pas à tous. La porte d’un changeur peut être une porte d’entrée physique ou un seul magazine qui contient tous les médias. Si un changeur prend uniquement en charge un IEport pour l’insertion et l’éjection d’un média, la valeur NumberOfDoors doit être 0.

FirstSlotNumber

Indique le numéro utilisé par le fournisseur du changeur pour identifier le premier élément de stockage (emplacement) dans le changeur pour l’utilisateur final, soit en marquant un magazine, soit en définissant un schéma de numérotation d’emplacement dans le guide des opérateurs du changeur. FirstSlotNumber est généralement 0 ou 1, mais il peut s’agir de la première adresse dans une plage consécutive d’adresses d’emplacements définie par le fournisseur.

FirstDriveNumber

Indique le numéro utilisé par le fournisseur du changeur pour identifier le premier élément de transfert de données (lecteur) dans le changeur à l’utilisateur final. FirstDriveNumber est généralement 0 ou 1, mais il peut s’agir de la première adresse dans une plage consécutive d’adresses de lecteur définie par le fournisseur.

FirstTransportNumber

Indique le numéro utilisé par le fournisseur du changeur pour identifier le premier (et généralement le seul) élément de transport dans le changeur pour l’utilisateur final. FirstTransportNumber est généralement 0 ou 1, mais il peut s’agir de la première adresse dans une plage consécutive d’adresses de transport définies par le fournisseur.

FirstIEPortNumber

Indique le nombre utilisé par le fournisseur du changeur pour identifier le premier (et généralement le seul) IEport dans le changeur à l’utilisateur final. FirstIEPortNumber est généralement 0 ou 1, mais il peut s’agir de la première adresse dans une plage consécutive d’adresses IEport définies par le fournisseur. Si NumberIEElements a la valeur 0, FirstIEPortNumber doit également être 0.

FirstCleanerSlotAddress

Indique le numéro utilisé par le fournisseur du changeur pour identifier la première (et la seule) adresse d’emplacement affectée à une cartouche de nettoyage de lecteur à l’utilisateur final. Il doit s’agir de la valeur définie par le fournisseur dans le guide des opérateurs du changeur. Par exemple, si un changeur a 8 emplacements numérotés de 1 à 8 et que son repère d’opérateur désigne l’emplacement 8 comme emplacement de nettoyage de lecteur, FirstSlotNumber est 1 et FirstCleanerSlotAddress est 8. Si les 8 mêmes emplacements étaient numérotés de 0 à 7, FirstSlotNumber serait 0 et FirstCleanerSlotAddress serait 7. Si NumberCleanerSlots a la valeur 0, FirstCleanerSlotAddress doit être 0.

MagazineSize

Indique le nombre d’emplacements dans les magazines amovibles du changeur. Ce membre est valide uniquement si CHANGER_CARTRIDGE_MAGAZINE est défini dans Features0.

DriveCleanTimeout

Indique deux fois le nombre maximal de secondes qu’un nettoyage est censé prendre. Les lecteurs du changeur doivent être nettoyés par sa cartouche de nettoyage dans la moitié du temps spécifié par DriveCleanTimeout. Par exemple, si un lecteur est généralement nettoyé en 300 secondes (5 minutes), DriveCleanTimeout doit être défini sur 600.

Features0

Indique les fonctionnalités prises en charge par le changeur. Ce membre peut avoir une ou plusieurs des valeurs suivantes au niveau du bit ORed.

CHANGER_BAR_CODE_SCANNER_INSTALLED

Le changeur prend en charge un lecteur de code-barres et le lecteur est installé. Un pilote de miniclasse ne doit pas coder en dur cet indicateur, sauf si le lecteur de code-barres du changeur est toujours installé. Si le lecteur de code-barres est facultatif, le pilote miniclasse doit déterminer si le lecteur est réellement installé et définir l’indicateur en conséquence.

CHANGER_INIT_ELEM_STAT_WITH_RANGE

Le changeur peut initialiser des éléments dans une plage spécifiée. Pour un changeur SCSI, cet indicateur indique si le changeur prend en charge la commande INITIALIZE ELEMENT STATUS WITH RANGE SCSI.

CHANGER_CLOSE_IEPORT

Le changeur a un IEport et peut retirer l’IEport par programmation.

CHANGER_OPEN_IEPORT

Le changeur a un IEport et peut étendre l’IEport par programmation.

CHANGER_STATUS_NON_VOLATILE

Le changeur utilise la mémoire non volatile pour les informations de status d’éléments.

CHANGER_EXCHANGE_MEDIA

Prend en charge la commande EXCHANGE MEDIUM SCSI en gérant deux volumes à la fois ou en utilisant d’autres éléments de changement pour émuler cette fonctionnalité.

CHANGER_CLEANER_SLOT

Indique que le changeur a un emplacement spécifique désigné pour une cartouche plus propre. Si cet indicateur est défini, NumberCleanerSlots doit être un et FirstCleanerSlotAddress doit spécifier l’adresse de l’emplacement de nettoyage. Ce bit ne peut être défini que si CHANGER_DRIVE_CLEANING_REQUIRED est défini et CHANGER_CLEANER_OPS_NOT_SUPPORTED est réinitialisé.

CHANGER_LOCK_UNLOCK

La porte du changeur, IEport ou le clavier peuvent être verrouillés ou déverrouillés par programmation. Si cet indicateur est défini, LockUnlockCapabilities indique quels éléments peuvent être verrouillés ou déverrouillés.

CHANGER_CARTRIDGE_MAGAZINE

Le changeur utilise des chargeurs de cartouche amovibles pour tout ou partie des emplacements de stockage.

CHANGER_MEDIUM_FLIP

L’élément de transport du changeur prend en charge le média de retournement (rotation). Pour un changeur SCSI, cet indicateur reflète le bit de rotation dans la page des paramètres de la géométrie de transport.

CHANGER_POSITION_TO_ELEMENT

Le changeur peut positionner le transport vers une destination particulière. Pour un changeur SCSI, cet indicateur indique si le changeur prend en charge la commande POSITION TO ELEMENT SCSI. Si cet indicateur est défini, PositionCapabilities indique les éléments sur lesquels le transport peut être positionné.

CHANGER_REPORT_IEPORT_STATE

Le changeur peut indiquer si le média est présent dans l’IEport. Un tel changeur doit avoir un capteur dans l’IEport pour détecter la présence ou l’absence de média.

CHANGER_STORAGE_DRIVE

Le changeur peut utiliser un lecteur comme élément de stockage indépendant ; autrement dit, il peut stocker du contenu multimédia dans le lecteur sans le lire. Pour un changeur SCSI, cet indicateur reflète l’état du bit DT dans la page des fonctionnalités de l’appareil.

CHANGER_STORAGE_IEPORT

Le changeur peut utiliser un IEport comme élément de stockage indépendant. Pour un changeur SCSI, cet indicateur reflète l’état du bit E/E dans la page des fonctionnalités de l’appareil.

CHANGER_STORAGE_SLOT

Le changeur peut utiliser un emplacement comme élément de stockage indépendant pour le média. Pour un changeur SCSI, cet indicateur reflète l’état du bit ST dans la page des fonctionnalités de l’appareil. Les emplacements étant l’emplacement de stockage normal du média, le changeur doit prendre en charge cette fonctionnalité.

CHANGER_STORAGE_TRANSPORT

Le changeur peut utiliser un transport comme élément de stockage indépendant. Pour un changeur SCSI, cet indicateur reflète l’état du bit MT dans la page des fonctionnalités de l’appareil.

CHANGER_DRIVE_CLEANING_REQUIRED

Indique que les lecteurs du changeur peuvent régulièrement signaler des codes de sens qui indiquent que le lecteur doit être nettoyé.

CHANGER_PREDISMOUNT_EJECT_REQUIRED

Le changeur nécessite une commande explicite émise via un pilote de stockage de masse (bande, disque ou CD-ROM, par exemple) pour éjecter le média d’un lecteur avant que le changeur puisse déplacer le média d’un lecteur vers un emplacement. Si le changeur éjecte automatiquement le média, le pilote miniclasse doit effacer cet indicateur.

CHANGER_CLEANER_ACCESS_NOT_VALID

L’indicateur ELEMENT_STATUS_ACCESS dans une structure CHANGER_ELEMENT_STATUS d’un élément de transport de données n’est pas valide lorsque l’élément de transport contient une cartouche de nettoyage.

CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS

Le changeur nécessite que tous les lecteurs soient vides (démontés) avant qu’ils soient accessibles par sa porte. Le pilote de miniclasse doit définir cet indicateur si le changeur a des lecteurs statiques qui peuvent être affectés par l’accès d’un opérateur à l’intérieur du changeur, ou si le changeur éjecte automatiquement le média de ses lecteurs lorsque l’opérateur tente d’ouvrir physiquement la porte.

CHANGER_VOLUME_IDENTIFICATION

Le changeur prend en charge l’identification du volume. Pour un changeur SCSI, cet indicateur indique si le changeur prend en charge les commandes SEND VOLUME TAG et REQUEST VOLUME ELEMENT ADDRESS SCSI.

Le changeur peut rechercher des informations de volume. Pour un changeur SCSI, cet indicateur indique si le changeur prend en charge la commande SEND VOLUME TAG SCSI avec le code d’action d’envoi TRANSLATE.

CHANGER_VOLUME_ASSERT

Le changeur peut vérifier les informations de volume. Pour un changeur SCSI, cet indicateur indique si le changeur prend en charge la commande SEND VOLUME TAG SCSI avec le code d’action d’envoi ASSERT.

CHANGER_VOLUME_REPLACE

Le changeur peut remplacer les informations de volume. Pour un changeur SCSI, cet indicateur indique si le changeur prend en charge la commande SEND VOLUME TAG SCSI avec le code d’action d’envoi REPLACE.

CHANGER_VOLUME_UNDEFINE

Le changeur peut effacer les informations de volume existantes. Pour un changeur SCSI, cet indicateur indique si le changeur prend en charge la commande SEND VOLUME TAG SCSI avec un code d’action d’envoi UNDEFINE.

CHANGER_SERIAL_NUMBER_VALID

Le numéro de série signalé par GetProductData est valide et unique pour tous les changeurs de ce type. Il n’est pas garanti que les numéros de série soient uniques dans les gammes de fournisseurs et de produits. Si le numéro de série du changeur est unique selon cette définition, le pilote miniclasse doit définir cet indicateur et définir SerialNumber dans CHANGER_PRODUCT_DATA sur le numéro de série.

CHANGER_PREMOUNT_EJECT_REQUIRED

Le changeur nécessite une commande explicite émise via un pilote de stockage de masse pour éjecter un mécanisme de lecteur avant que le changeur puisse déplacer le média d’un emplacement vers le lecteur. Par exemple, un changeur avec des lecteurs de CD-ROM peut nécessiter que le plateau soit présenté au transport robotisé afin qu’un support puisse être chargé sur le plateau pendant une opération de montage. Si le changeur éjecte automatiquement le mécanisme, le pilote miniclasse doit effacer cet indicateur.

CHANGER_DEVICE_REINITIALIZE_CAPABLE

Le changeur peut recalibrer son élément de transport en réponse à une commande explicite. Le pilote de classe de changeur appelle ChangerReinitializeUnit pour lancer le réétalonnage.

CHANGER_KEYPAD_ENABLE_DISABLE

Le pavé tactile du changeur peut être activé et désactivé par programmation.

CHANGER_RESERVED_BIT

Réservé pour indiquer les indicateurs Features1 .

Features1

Indique des fonctionnalités supplémentaires prises en charge par le changeur. Ce membre peut avoir une ou plusieurs des valeurs suivantes au niveau du bit ORed.

CHANGER_PREDISMOUNT_ALIGN_TO_SLOT

Indique que le transport doit être déplacé vers l’emplacement de destination avant de déplacer le média d’un lecteur vers l’emplacement. Le bit CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE doit être réinitialisé si cette option est définie.

CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE

Indique que le transport doit être déplacé vers le lecteur avant de déplacer le média du lecteur vers un emplacement. Le bit CHANGER_PREDISMOUNT_ALIGN_TO_SLOT doit être réinitialisé si cette option est définie.

CHANGER_CLEANER_AUTODISMOUNT

Indique que le changeur déplace automatiquement la cartouche de nettoyage vers son emplacement d’origine, une fois le nettoyage terminé. Ce bit ne peut être défini que si CHANGER_DRIVE_CLEANING_REQUIRED est défini et CHANGER_CLEANER_OPS_NOT_SUPPORTED est réinitialisé.

CHANGER_TRUE_EXCHANGE_CAPABLE

L’appareil peut manipuler deux volumes à la fois sans utiliser d’éléments de change supplémentaires.

CHANGER_SLOTS_USE_TRAYS

Le changeur utilise des plateaux amovibles dans ses emplacements, ce qui nécessite que le média soit placé dans un plateau et que le plateau soit déplacé à la position souhaitée.

CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR

Indique que lors du déplacement du volume d’un lecteur vers un emplacement, le volume doit revenir à l’emplacement à partir duquel il a été précédemment déplacé vers le lecteur.

CHANGER_CLEANER_OPS_NOT_SUPPORTED

Indique que le transport du changeur ne peut pas être commandé par programme par un logiciel situé au-dessus du pilote du changeur pour déplacer une cartouche de nettoyage vers un lecteur sale. Ce bit ne peut être défini que si le bit CHANGER_DRIVE_CLEANING_REQUIRED est défini. Si ce bit est défini, CHANGER_CLEANER_AUTODISMOUNT et CHANGER_CLEANER_SLOT doivent être réinitialisés.

CHANGER_IEPORT_USER_CONTROL_OPEN

Le changeur exige que l’utilisateur ouvre manuellement un IEport fermé.

CHANGER_IEPORT_USER_CONTROL_CLOSE

Le changeur exige que l’utilisateur ferme manuellement un IEport ouvert.

CHANGER_MOVE_EXTENDS_IEPORT

Le changeur étend automatiquement la barre d’état chaque fois qu’une commande est émise pour déplacer le média vers un IEport.

CHANGER_MOVE_RETRACTS_IEPORT

Le changeur retire automatiquement la barre d’état chaque fois qu’une commande est émise pour déplacer un média à partir d’un IEport.

MoveFromTransport

Indique si le changeur prend en charge le déplacement d’un élément multimédia d’un élément de transport vers un autre élément de transport, un emplacement de stockage, un IEport ou un lecteur. Pour un changeur SCSI, cela est défini dans la page des fonctionnalités de l’appareil. Le transport n’est généralement pas la source ou la destination pour le déplacement ou l’échange de médias.

Les appelants peuvent utiliser les masques suivants pour déterminer si le changeur peut déplacer un média vers un élément donné.

CHANGER_TO_TRANSPORT

Le changeur peut effectuer l’opération à partir de l’élément spécifié vers un transport.

CHANGER_TO_SLOT

Le changeur peut effectuer l’opération à partir de l’élément spécifié vers un emplacement de stockage.

CHANGER_TO_IEPORT

Le changeur peut effectuer l’opération à partir de l’élément spécifié vers un IEport.

CHANGER_TO_DRIVE

Le changeur peut effectuer l’opération à partir de l’élément spécifié vers un lecteur.

MoveFromSlot

Indique si le changeur prend en charge le déplacement d’un support d’un emplacement de stockage vers un élément de transport, un autre emplacement de stockage, un IEport ou un lecteur. Les appelants peuvent utiliser les masques décrits sous MoveFromTransport pour déterminer si le changeur prend en charge le déplacement.

MoveFromIePort

Indique si le changeur prend en charge le déplacement d’un support d’un IEport vers un élément de transport, un emplacement de stockage, un autre IEport ou un lecteur. Pour un changeur SCSI, cela est défini dans la page des fonctionnalités de l’appareil. Les appelants peuvent utiliser les masques décrits sous MoveFromTransport pour déterminer si le changeur prend en charge le déplacement

MoveFromDrive

Indique si le changeur prend en charge le déplacement d’un support d’un lecteur vers un élément de transport, un emplacement de stockage, un IEport ou un autre lecteur. Les appelants peuvent utiliser les masques décrits sous MoveFromTransport pour déterminer si le changeur prend en charge le déplacement.

ExchangeFromTransport

Indique si le changeur prend en charge l’échange de support entre un élément de transport et un autre élément de transport, un emplacement de stockage, un IEport ou un lecteur. Les appelants peuvent utiliser les masques décrits sous MoveFromTransport pour déterminer si le changeur prend en charge l’échange.

ExchangeFromSlot

Indique si le changeur prend en charge l’échange de support entre un emplacement de stockage et un élément de transport, un autre emplacement de stockage, un IEport ou un lecteur. Les appelants peuvent utiliser les masques décrits sous MoveFromTransport pour déterminer si le changeur prend en charge l’échange.

ExchangeFromIePort

Indique si le changeur prend en charge l’échange de support entre un IEport et un élément de transport, un emplacement de stockage, un autre IEport ou un lecteur. Les appelants peuvent utiliser les masques décrits sous MoveFromTransport pour déterminer si le changeur prend en charge l’échange.

ExchangeFromDrive

Indique si le changeur prend en charge l’échange de support entre un lecteur et un élément de transport, un emplacement de stockage, un IEport ou un autre lecteur. Les appelants peuvent utiliser les masques décrits sous MoveFromTransport pour déterminer si le changeur prend en charge l’échange.

LockUnlockCapabilities

Indique quels éléments d’un changeur peuvent être verrouillés ou déverrouillés par programmation. Ce membre est valide uniquement si CHANGER_LOCK_UNLOCK est défini dans Features0.

Les appelants peuvent utiliser les masques suivants pour déterminer si le changeur peut verrouiller ou déverrouiller un élément particulier.

LOCK_UNLOCK_IEPORT

Le changeur peut verrouiller ou déverrouiller ses IEport(s).

LOCK_UNLOCK_DOOR

Le changeur peut verrouiller ou déverrouiller sa porte.

LOCK_UNLOCK_KEYPAD

Le changeur peut verrouiller ou déverrouiller son clavier.

PositionCapabilities

Indique les éléments sur lesquels un changeur peut positionner son transport. Les appelants peuvent utiliser les masques décrits sous MoveFromTransport pour déterminer si le changeur prend en charge le positionnement du transport sur un élément particulier. Ce membre n’est valide que si CHANGER_POSITION_TO_ELEMENT est défini dans Features0.

Reserved1[2]

Réservé à un usage ultérieur.

Reserved2[2]

Réservé à un usage ultérieur.

Remarques

GET_CHANGER_PARAMETERS contient les paramètres d’un changeur. Le pilote de miniclasse du changeur alloue et remplit cette structure lorsque le pilote de classe de changeur le demande.

Configuration requise

Condition requise Valeur
En-tête ntddchgr.h

Voir aussi

ChangerGetParameters