Partager via


GET_CHANGER_PARAMETERS structure (winioctl.h)

Représente les paramètres d’un changeur.

Syntaxe

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

Membres

Size

Taille de cette structure, en octets. L’appelant doit définir ce membre sur sizeof(GET_CHANGER_PARAMETERS).

NumberTransportElements

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 avec 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 sont pas adressables 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

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 des magazines amovibles, que les magazines soient installés ou non. Si NumberCleanerSlots a la valeur 1, NumberStorageElements est inférieur de 1 au nombre maximal d’emplacements dans le changeur.

NumberCleanerSlots

Nombre d’éléments de stockage (emplacements) pour les cartouches plus propres dans le changeur. 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, NumberCleanerSlots a la valeur 0. NumberCleanerSlots ne peut pas être supérieur à 1.

NumberIEElements

Nombre d’éléments d’importation/exportation (ports d’insertion/éjection) dont dispose le changeur pour l’insertion et l’éjection de média. Pour un changeur SCSI, cela est défini dans la page d’adresse de l’élément. Un élément d’importation/exportation ne doit pas faire partie de l’espace d’élément de stockage (emplacement) et il doit être possible de transporter un média entre l’élément import/export et un emplacement à l’aide d’une commande MOVE MEDIUM. Si le changeur a une porte et non un élément d’importation/exportation vrai, NumberIEElements est 0.

NumberDataTransferElements

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 ou non, NumberDataTransferElements indique le nombre de lecteurs réellement présents dans le changeur.

NumberOfDoors

Nombre de portes dans le changeur. Une porte permet d’accéder à tous les supports du changeur à la fois, contrairement à un port d’insertion/éjection, qui permet d’accéder à un ou plusieurs supports, mais pas à la totalité. 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 port d’insertion/d’éjection pour l’insertion et l’éjection d’un média, NumberOfDoors est 0.

FirstSlotNumber

Numéro utilisé par le fournisseur du changeur pour identifier le premier élément de stockage (emplacement) dans le changeur à 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

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

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

Numéro utilisé par le fournisseur du changeur pour identifier le premier (et généralement le seul) port d’insertion/d’éjection dans le changeur vers 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 de port d’insertion/d’éjection définies par le fournisseur. Si NumberIEElements a la valeur 0, FirstIEPortNumber doit également être 0.

FirstCleanerSlotAddress

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

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

DriveCleanTimeout

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

Fonctionnalités prises en charge par le changeur. Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
CHANGER_BAR_CODE_SCANNER_INSTALLED
0x00000001
Le changeur prend en charge un lecteur de code-barres et le lecteur est installé.
CHANGER_CARTRIDGE_MAGAZINE
0x00000100
Le changeur utilise des chargeurs de cartouche amovibles pour tout ou partie des emplacements de stockage.
CHANGER_CLEANER_ACCESS_NOT_VALID
0x00040000
L’indicateur ELEMENT_STATUS_ACCESS dans une structure de 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_CLEANER_SLOT
0x00000040
Le changeur a un emplacement désigné pour une cartouche plus propre. Si cet indicateur est défini, NumberCleanerSlots doit avoir la valeur 1 et FirstCleanerSlotAddress doit spécifier l’adresse de l’emplacement de nettoyage.
CHANGER_CLOSE_IEPORT
0x00000004
Le changeur a un port d’insertion/d’éjection et peut retirer le port d’insertion/éjection par programmation.
CHANGER_DEVICE_REINITIALIZE_CAPABLE
0x08000000
Le changeur peut recalibrer son élément de transport en réponse à une commande explicite.
CHANGER_DRIVE_CLEANING_REQUIRED
0x00010000
Les lecteurs du changeur nécessitent un nettoyage périodique, qui doit être initié par l’utilisateur ou une application, et le changeur peut utiliser son élément de transport pour monter une cartouche plus propre dans un lecteur.
CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS
0x20000000
Le changeur nécessite que tous les lecteurs soient vides (démontés) avant qu’ils soient accessibles par sa porte.
CHANGER_EXCHANGE_MEDIA
0x00000020
Le changeur peut échanger des médias entre des éléments. Pour un changeur SCSI, cet indicateur indique si le changeur prend en charge la commande EXCHANGE MEDIUM.
CHANGER_INIT_ELEM_STAT_WITH_RANGE
0x00000002
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.
CHANGER_KEYPAD_ENABLE_DISABLE
0x10000000
Le pavé tactile du changeur peut être activé et désactivé par programmation.
CHANGER_LOCK_UNLOCK
0x00000080
La porte du changeur, le port d’insertion/éjection ou le clavier peuvent être verrouillés ou déverrouillés par programme. Si cet indicateur est défini, LockUnlockCapabilities indique quels éléments peuvent être verrouillés ou déverrouillés.
CHANGER_MEDIUM_FLIP
0x00000200
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_OPEN_IEPORT
0x00000008
Le changeur dispose d’un port d’insertion/d’éjection et peut étendre le port d’insertion/éjection par programmation.
CHANGER_POSITION_TO_ELEMENT
0x00000400
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. Si cet indicateur est défini, PositionCapabilities indique les éléments sur lesquels le transport peut être positionné.
CHANGER_PREDISMOUNT_EJECT_REQUIRED
0x00020000
Le changeur nécessite une commande explicite émise via un pilote de stockage de masse (bande, disque ou CDROM, par exemple) pour éjecter le média d’un lecteur avant que le changeur ne puisse déplacer le média d’un lecteur vers un emplacement.
CHANGER_PREMOUNT_EJECT_REQUIRED
0x00080000
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 exiger 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.
CHANGER_REPORT_IEPORT_STATE
0x00000800
Le changeur peut indiquer si le média est présent dans le port d’insertion/d’éjection. Un tel changeur doit avoir un capteur dans le port d’insertion/d’éjection pour détecter la présence ou l’absence de média.
CHANGER_SERIAL_NUMBER_VALID
0x04000000
Le numéro de série 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 entre les fournisseurs et les lignes de produits.
CHANGER_STATUS_NON_VOLATILE
0x00000010
Le changeur utilise la mémoire non volatile pour les informations de status d’élément.
CHANGER_STORAGE_DRIVE
0x00001000
Le changeur peut utiliser un lecteur comme élément de stockage indépendant ; autrement dit, il peut stocker des médias 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
0x00002000
Le changeur peut utiliser un port d’insertion/éjection 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
0x00004000
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 pour les médias, le changeur doit prendre en charge cette fonctionnalité.
CHANGER_STORAGE_TRANSPORT
0x00008000
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_VOLUME_ASSERT
0x00400000
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 avec un code d’action d’envoi de ASSERT.
CHANGER_VOLUME_IDENTIFICATION
0x00100000
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.
CHANGER_VOLUME_REPLACE
0x00800000
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 avec un code d’action d’envoi de REPLACE.
CHANGER_VOLUME_SEARCH
0x00200000
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 avec un code d’action d’envoi de TRANSLATE.
CHANGER_VOLUME_UNDEFINE
0x01000000
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 avec un code d’action d’envoi d’UNDEFINE.

Features1

Toutes les fonctionnalités supplémentaires prises en charge par le changeur. Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
CHANGER_CLEANER_AUTODISMOUNT
0x80000004
Le changeur déplace automatiquement la cartouche de nettoyage vers son emplacement d’origine une fois le nettoyage terminé.
CHANGER_CLEANER_OPS_NOT_SUPPORTED
0x80000040
Le changeur ne prend pas en charge le nettoyage automatique de ses éléments.
CHANGER_IEPORT_USER_CONTROL_CLOSE
0x80000100
Le changeur demande à l’utilisateur de fermer manuellement un port d’insertion/d’éjection ouvert.
CHANGER_IEPORT_USER_CONTROL_OPEN
0x80000080
Le changeur exige que l’utilisateur ouvre manuellement un port d’insertion/d’éjection fermé.
CHANGER_MOVE_EXTENDS_IEPORT
0x80000200
Le changeur étend automatiquement la barre d’état chaque fois qu’une commande est émise pour déplacer le média vers un port d’insertion/éjection.
CHANGER_MOVE_RETRACTS_IEPORT
0x80000400
Le changeur retire automatiquement la barre d’état chaque fois qu’une commande est émise pour déplacer le média à partir d’un port d’insertion/d’éjection.
CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE
0x80000002
Le changeur nécessite une commande explicite pour positionner l’élément de transport sur un lecteur avant de pouvoir éjecter le média du lecteur.
CHANGER_PREDISMOUNT_ALIGN_TO_SLOT
0x80000001
Le changeur nécessite une commande explicite pour positionner l’élément de transport sur un emplacement avant de pouvoir éjecter le média de l’emplacement.
CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR
0x80000020
Le changeur exige que le média soit retourné à son emplacement d’origine une fois qu’il a été déplacé.
CHANGER_SLOTS_USE_TRAYS
0x80000010
Le changeur utilise des plateaux amovibles dans ses emplacements, qui nécessitent que le média soit placé dans un plateau et que le plateau soit déplacé à la position souhaitée.
CHANGER_TRUE_EXCHANGE_CAPABLE
0x80000008
Le changeur peut échanger des médias entre une source et une destination en une seule opération. Cet indicateur n’est valide que si CHANGER_EXCHANGE_MEDIA est également défini dans Features0.

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 port d’insertion/éjection 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.

Pour déterminer si le changeur peut déplacer un média vers un élément donné, utilisez les valeurs suivantes.

Valeur Signification
CHANGER_TO_DRIVE
0x08
Le changeur peut effectuer l’opération à partir de l’élément spécifié vers un lecteur.
CHANGER_TO_IEPORT
0x04
Le changeur peut effectuer l’opération à partir de l’élément spécifié vers un port d’insertion/éjection.
CHANGER_TO_SLOT
0x02
Le changeur peut effectuer l’opération à partir de l’élément spécifié vers un emplacement de stockage.
CHANGER_TO_TRANSPORT
0x01
Le changeur peut effectuer l’opération à partir de l’élément spécifié vers un transport.

MoveFromSlot

Indique si le changeur prend en charge le déplacement d’un emplacement de stockage vers un élément de transport, un autre emplacement de stockage, un port d’insertion/éjection ou un lecteur. Utilisez les indicateurs 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 port d’insertion/d’éjection vers un élément de transport, un emplacement de stockage, un autre port d’insertion/éjection ou un lecteur. Pour un changeur SCSI, cela est défini dans la page des fonctionnalités de l’appareil. Utilisez les indicateurs 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 port d’insertion/éjection ou un autre lecteur. Utilisez les indicateurs 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 port d’insertion/éjection ou un lecteur. Utilisez les indicateurs 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 port d’insertion/éjection ou un lecteur. Utilisez les indicateurs 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 port d’insertion/éjection et un élément de transport, un emplacement de stockage, un autre port d’insertion/éjection ou un lecteur. Utilisez les indicateurs 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 port d’insertion/éjection ou un autre lecteur. Utilisez les indicateurs décrits sous MoveFromTransport pour déterminer si le changeur prend en charge l’échange.

LockUnlockCapabilities

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

Pour déterminer si le changeur peut verrouiller ou déverrouiller un élément particulier, utilisez une ou plusieurs des valeurs suivantes.

Valeur Signification
LOCK_UNLOCK_DOOR
0x02
Le changeur peut verrouiller ou déverrouiller sa porte.
LOCK_UNLOCK_IEPORT
0x01
Le changeur peut verrouiller ou déverrouiller son port d’insertion/éjection.
LOCK_UNLOCK_KEYPAD
0x04
Le changeur peut verrouiller ou déverrouiller son clavier.

PositionCapabilities

Éléments sur lesquels un changeur peut positionner son transport. Utilisez les indicateurs 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é pour un usage futur.

Spécifications

Condition requise Valeur
Client minimal pris en charge Windows XP
Serveur minimal pris en charge Windows Server 2003
En-tête winioctl.h (inclure Windows.h)

Voir aussi

IOCTL_CHANGER_GET_PARAMETERS