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.
CHANGER_VOLUME_SEARCH
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 |