Поделиться через


структура GET_CHANGER_PARAMETERS (winioctl.h)

Представляет параметры средств изменения.

Синтаксис

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;

Члены

Size

Размер этой структуры в байтах. Вызывающий объект должен присвоить этому члену значение sizeof(GET_CHANGER_PARAMETERS).

NumberTransportElements

Количество элементов транспорта в средстве изменения. Для меняющего устройства SCSI это определяется на странице адреса элемента. Это значение почти всегда равно 1, так как большинство меняющих элементов имеют один транспортный элемент с одним или двумя механизмами выбора. Средство смены с двумя механизмами выбора на транспорте не должно быть представлено как имеющее два транспорта, так как средства выбора не могут быть адресуемыми по отдельности. Высокопроизводительные библиотеки мультимедиа могут содержать два и несколько элементов транспорта для обеспечения отказоустойчивости.

NumberStorageElements

Количество элементов хранилища (слотов) в средстве изменения. Для меняющего устройства SCSI это определяется на странице адреса элемента. Это значение представляет максимальное количество слотов, доступных для этого средства изменения, включая слоты в съемных журналах, независимо от того, установлены ли журналы. Если numberCleanerSlots имеет значение 1, то NumberStorageElements на 1 меньше, чем максимальное число слотов в средстве изменения.

NumberCleanerSlots

Количество элементов хранения (слотов) для более чистых патронов в средстве смены. Если numberCleanerSlots имеет значение 1, то FirstCleanerSlotAddress указывает отсчитываемый от нуля адрес слота, в который следует вставить средство очистки диска. Если средство смены не поддерживает очистку диска путем программного перемещения патрона очистки из слота на диск, numberCleanerSlots имеет значение 0. ЧислоCleanerSlots не может быть больше 1.

NumberIEElements

Количество элементов импорта и экспорта (портов вставки и извлечения), которое имеет средство изменения для вставки и извлечения мультимедиа. Для меняющего устройства SCSI это определяется на странице адреса элемента. Элемент импорта и экспорта не должен быть частью пространства элемента хранения (слота), а также должен быть возможен перенос мультимедиа между элементом импорта и экспорта и слотом с помощью команды MOVE MEDIUM. Если средство изменения имеет дверь, а не истинный элемент импорта и экспорта, numberIEElements имеет значение 0.

NumberDataTransferElements

Количество элементов передачи данных (дисков) в средстве изменения. Для меняющего устройства SCSI это определяется на странице адреса элемента. В отличие от NumberStorageElements, который указывает общее количество возможных слотов, независимо от того, существуют ли слоты на самом деле, NumberDataTransferElements указывает количество дисков, которые фактически присутствуют в средстве изменения.

NumberOfDoors

Количество дверей в средстве смены. Дверь обеспечивает доступ ко всем носителям в средстве смены одновременно, в отличие от порта вставки и извлечения, который обеспечивает доступ к одному или нескольким, но не ко всем носителям. Дверь может быть физической входной дверью или одним журналом, который содержит все средства массовой информации. Если средство изменения поддерживает только порт вставки и извлечения для вставки и извлечения носителя, numberOfDoors имеет значение 0.

FirstSlotNumber

Номер, используемый поставщиком средства смены для идентификации первого элемента хранилища (слота) в объекте смены для конечного пользователя, либо путем маркировки журнала, либо путем определения схемы нумеровки слотов в руководстве по операторам средства смены. FirstSlotNumber обычно имеет значение 0 или 1, но это может быть первый адрес в последовательном диапазоне адресов слотов, определенных поставщиком.

FirstDriveNumber

Номер, используемый поставщиком средства изменения для идентификации первого элемента передачи данных (диска) в средстве изменения для конечного пользователя. FirstDriveNumber обычно имеет значение 0 или 1, но это может быть первый адрес в последовательном диапазоне адресов дисков, определенных поставщиком.

FirstTransportNumber

Номер, используемый поставщиком средства изменения для идентификации первого (и обычно только) транспортного элемента в методе смены для конечного пользователя. FirstTransportNumber обычно имеет значение 0 или 1, но это может быть первый адрес в последовательном диапазоне транспортных адресов, определяемом поставщиком.

FirstIEPortNumber

Номер, используемый поставщиком средства изменения для определения первого (и обычно только) порта вставки или извлечения в средство смены для конечного пользователя. FirstIEPortNumber обычно имеет значение 0 или 1, но это может быть первый адрес в последовательном диапазоне адресов портов вставки и извлечения, определенных поставщиком. Если numberIEElements равно 0, firstIEPortNumber также должен иметь значение 0.

FirstCleanerSlotAddress

Номер, используемый поставщиком средства смены для идентификации первого (и единственного) адреса слота, назначенного конечному пользователю патрону для очистки диска. Это должно быть значение, определенное поставщиком в руководстве по операторам поставщика. Например, если средство смены имеет 8 слотов с номерами от 1 до 8, а руководство оператора назначает слот 8 в качестве слота для очистки диска, FirstSlotNumber будет иметь значение 1, а FirstCleanerSlotAddress — 8. Если те же 8 слотов нумерованы от 0 до 7, firstSlotNumber будет иметь значение 0, а FirstCleanerSlotAddress — 7. Если numberCleanerSlots равно 0, firstCleanerSlotAddress должно иметь значение 0.

MagazineSize

Количество слотов в съемных магазинах в средстве смены. Этот элемент действителен, только если CHANGER_CARTRIDGE_MAGAZINE задано в features0.

DriveCleanTimeout

Ожидается, что очистка занимает в два раза больше секунд. Диски средства смены должны быть очищены с помощью более чистого патрона в половину времени, указанного в DriveCleanTimeout. Например, если диск обычно очищается за 300 секунд (5 минут), значение DriveCleanTimeout должно быть равно 600.

Features0

Функции, поддерживаемые средством изменения. Этот элемент может иметь одно или несколько из следующих значений.

Значение Значение
CHANGER_BAR_CODE_SCANNER_INSTALLED
0x00000001
Средство изменения поддерживает средство чтения штрихкода, и средство чтения установлено.
CHANGER_CARTRIDGE_MAGAZINE
0x00000100
Средство смены использует съемные кассетные кассеты для некоторых или всех слотов хранения.
CHANGER_CLEANER_ACCESS_NOT_VALID
0x00040000
Флаг ELEMENT_STATUS_ACCESS в структуре CHANGER_ELEMENT_STATUS для элемента транспорта данных недопустим, если элемент транспорта содержит очищающий патрон.
CHANGER_CLEANER_SLOT
0x00000040
В сменщике есть слот, предназначенный для более чистого патрона. Если этот флаг установлен, параметр NumberCleanerSlots должен иметь значение 1, а FirstCleanerSlotAddress — адрес слота очистки.
CHANGER_CLOSE_IEPORT
0x00000004
Средство изменения имеет порт вставки и извлечения и может отозвать порт вставки и извлечения программным способом.
CHANGER_DEVICE_REINITIALIZE_CAPABLE
0x08000000
Средство изменения может повторно откалибровать свой транспортный элемент в ответ на явную команду.
CHANGER_DRIVE_CLEANING_REQUIRED
0x00010000
Для дисков средства смены требуется периодическая очистка, которая должна быть инициирована пользователем или приложением, и средство смены может использовать свой транспортный элемент для монтирования фильтра очистки на диске.
CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS
0x20000000
Средство изменения требует, чтобы все диски были пустыми (отключенными), прежде чем к них можно будет получить доступ через дверь.
CHANGER_EXCHANGE_MEDIA
0x00000020
Средство изменения может обмениваться мультимедиа между элементами. Для средства изменения SCSI этот флаг указывает, поддерживает ли средство смены команду EXCHANGE MEDIUM.
CHANGER_INIT_ELEM_STAT_WITH_RANGE
0x00000002
Средство изменения может инициализировать элементы в указанном диапазоне. Для меняющего устройства SCSI этот флаг указывает, поддерживает ли средство изменения команду INITIALIZE ELEMENT STATUS WITH RANGE.
CHANGER_KEYPAD_ENABLE_DISABLE
0x10000000
Клавиатуру переключителя можно включить и отключить программным способом.
CHANGER_LOCK_UNLOCK
0x00000080
Дверь, порт вставки или извлечения или клавиатуры могут быть заблокированы или разблокированы программными средствами. Если этот флаг установлен, параметр LockUnlockCapabilities указывает, какие элементы можно заблокировать или разблокировать.
CHANGER_MEDIUM_FLIP
0x00000200
Элемент транспорта средства изменения поддерживает перевернутый (вращающийся) носитель. Для меняющего устройства SCSI этот флаг отражает бит поворота на странице параметров геометрии транспорта.
CHANGER_OPEN_IEPORT
0x00000008
Средство смены имеет порт вставки и извлечения и может расширять порт вставки и извлечения программно.
CHANGER_POSITION_TO_ELEMENT
0x00000400
Средство смены может разместить транспорт в определенном месте назначения. Для меняющего устройства SCSI этот флаг указывает, поддерживает ли средство смены команду POSITION TO ELEMENT. Если этот флаг установлен, PositionCapabilities указывает элементы, к которым можно разместить транспорт.
CHANGER_PREDISMOUNT_EJECT_REQUIRED
0x00020000
Для смены требуется явная команда, выполненная через драйвер запоминающего устройства (например, лента, диск или CDROM), чтобы извлечь носитель с диска, прежде чем средство смены сможет переместить носитель с диска в слот.
CHANGER_PREMOUNT_EJECT_REQUIRED
0x00080000
Для смены требуется явная команда, выданная драйвером запоминающего устройства, чтобы извлечь механизм диска, прежде чем средство смены сможет переместить носитель из слота на диск. Например, для устройства смены с дисководами CD-ROM может потребоваться, чтобы лоток был представлен роботизированному транспорту, чтобы во время операции монтирования на лоток можно было загрузить часть носителя.
CHANGER_REPORT_IEPORT_STATE
0x00000800
Средство смены может сообщить, присутствует ли носитель в порту вставки или извлечения. Для обнаружения наличия или отсутствия носителей у такого средства смены должен быть датчик в порту вставки или извлечения.
CHANGER_SERIAL_NUMBER_VALID
0x04000000
Серийный номер является допустимым и уникальным для всех модулей смены этого типа. Серийные номера не гарантируют уникальность в линейках поставщиков и продуктов.
CHANGER_STATUS_NON_VOLATILE
0x00000010
Средство смены использует энергонезависимую память для получения сведений о состоянии элемента.
CHANGER_STORAGE_DRIVE
0x00001000
Средство смены может использовать диск в качестве независимого элемента хранения; то есть он может хранить носитель на диске, не считывая его. Для средства смены SCSI этот флаг отражает состояние бита DT на странице возможностей устройства.
CHANGER_STORAGE_IEPORT
0x00002000
Средство смены может использовать порт вставки и извлечения в качестве независимого элемента хранилища. Для средства смены SCSI этот флаг отражает состояние бита ввода-адреса на странице возможностей устройства.
CHANGER_STORAGE_SLOT
0x00004000
Средство смены может использовать слот в качестве независимого элемента хранения для мультимедиа. Для средства смены SCSI этот флаг отражает состояние бита ST на странице возможностей устройства. Слоты — это обычное место хранения носителей, поэтому средство смены должно поддерживать эту функцию.
CHANGER_STORAGE_TRANSPORT
0x00008000
Средство смены может использовать транспорт в качестве независимого элемента хранения. Для средства смены SCSI этот флаг отражает состояние бита mt на странице возможностей устройства.
CHANGER_VOLUME_ASSERT
0x00400000
Средство изменения может проверить сведения о томе. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SEND VOLUME TAG с кодом действия отправки ASSERT.
CHANGER_VOLUME_IDENTIFICATION
0x00100000
Средство смены поддерживает идентификацию тома. Для SCSI-контроллера этот флаг указывает, поддерживает ли средство смены команды SEND VOLUME TAG и REQUEST VOLUME ELEMENT ADDRESS.
CHANGER_VOLUME_REPLACE
0x00800000
Средство смены может заменить сведения о томе. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SEND VOLUME TAG с кодом действия отправки REPLACE.
CHANGER_VOLUME_SEARCH
0x00200000
Средство смены может искать сведения о томе. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SEND VOLUME TAG с кодом действия send translate.
CHANGER_VOLUME_UNDEFINE
0x01000000
Средство смены может очистить существующие сведения о томе. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SEND VOLUME TAG с кодом действия отправки UNDEFINE.

Features1

Все дополнительные функции, поддерживаемые средствами изменения. Этот элемент может быть одним или несколькими из следующих значений.

Значение Значение
CHANGER_CLEANER_AUTODISMOUNT
0x80000004
После завершения очистки средство смены автоматически переместит очищающий патрон обратно в исходный слот.
CHANGER_CLEANER_OPS_NOT_SUPPORTED
0x80000040
Средство смены не поддерживает автоматическую очистку своих элементов.
CHANGER_IEPORT_USER_CONTROL_CLOSE
0x80000100
Средство смены требует, чтобы пользователь вручную закрыл открытый порт вставки или извлечения.
CHANGER_IEPORT_USER_CONTROL_OPEN
0x80000080
Для смены требуется, чтобы пользователь вручную открыл закрытый порт вставки или извлечения.
CHANGER_MOVE_EXTENDS_IEPORT
0x80000200
Средство смены автоматически расширяет область при каждом выполнении команды для перемещения носителя в порт вставки или извлечения.
CHANGER_MOVE_RETRACTS_IEPORT
0x80000400
Средство смены автоматически отзовет область при выполнении команды для перемещения носителя из порта вставки или извлечения.
CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE
0x80000002
Средство смены требует явной команды, чтобы разместить элемент транспорта на диске, прежде чем он сможет извлечь носитель из диска.
CHANGER_PREDISMOUNT_ALIGN_TO_SLOT
0x80000001
Средство смены требует явной команды, чтобы разместить элемент транспорта в слоте, прежде чем он сможет извлечь носитель из слота.
CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR
0x80000020
После перемещения средства смены требуется вернуть носитель в исходный слот.
CHANGER_SLOTS_USE_TRAYS
0x80000010
В слотах используется съемные лотки, которые требуют размещения носителя в лоток, а лоток перемещается в нужное положение.
CHANGER_TRUE_EXCHANGE_CAPABLE
0x80000008
Средство смены может обмениваться мультимедиа между источником и назначением в рамках одной операции. Этот флаг действителен, только если CHANGER_EXCHANGE_MEDIA также задан в разделе Features0.

MoveFromTransport

Указывает, поддерживает ли средство смены перемещение части носителя из транспортного элемента в другой транспортный элемент, слот хранения, порт вставки или извлечения или диск. Для средства изменения SCSI это определяется на странице возможностей устройства. Транспорт обычно не является источником или местом назначения для перемещения или обмена носителями.

Чтобы определить, может ли средство изменения перемещать носитель в данный элемент, используйте следующие значения.

Значение Значение
CHANGER_TO_DRIVE
0x08
Средство изменения может выполнять операцию от указанного элемента к диску.
CHANGER_TO_IEPORT
0x04
Средство изменения может выполнять операцию из указанного элемента в порт вставки или извлечения.
CHANGER_TO_SLOT
0x02
Средство изменения может выполнять операцию из указанного элемента в слот хранения.
CHANGER_TO_TRANSPORT
0x01
Средство изменения может выполнять операцию от указанного элемента к транспорту.

MoveFromSlot

Указывает, поддерживает ли средство смены перемещение носителя из слота хранилища в транспортный элемент, другой слот хранения, порт вставки или извлечения или диск. Используйте флаги, описанные в разделе MoveFromTransport , чтобы определить, поддерживает ли средство изменения перемещение.

MoveFromIePort

Указывает, поддерживает ли средство изменения перемещение среды из порта вставки или извлечения в транспортный элемент, слот хранилища, другой порт вставки или извлечения или диск. Для средства изменения SCSI это определяется на странице возможностей устройства. Используйте флаги, описанные в разделе MoveFromTransport , чтобы определить, поддерживает ли средство изменения перемещение.

MoveFromDrive

Указывает, поддерживает ли средство смены перемещение среды с диска на транспортный элемент, слот хранилища, порт вставки и извлечения или другой диск. Используйте флаги, описанные в разделе MoveFromTransport , чтобы определить, поддерживает ли средство изменения перемещение.

ExchangeFromTransport

Указывает, поддерживает ли средство изменения обмен средой между элементом транспорта и другим элементом транспорта, слотом хранилища, портом вставки и извлечения или диском. Используйте флаги, описанные в разделе MoveFromTransport , чтобы определить, поддерживает ли средство изменения обмен.

ExchangeFromSlot

Указывает, поддерживает ли средство изменения обмен средой между слотом хранилища и транспортным элементом, другим слотом хранения, портом вставки и извлечения или диском. Используйте флаги, описанные в разделе MoveFromTransport , чтобы определить, поддерживает ли средство изменения обмен.

ExchangeFromIePort

Указывает, поддерживает ли средство изменения обмен средой между портом вставки и извлечения и транспортным элементом, слотом хранилища, другим портом вставки и извлечения или диском. Используйте флаги, описанные в разделе MoveFromTransport , чтобы определить, поддерживает ли средство изменения обмен.

ExchangeFromDrive

Указывает, поддерживает ли средство изменения обмен средой между диском и элементом транспорта, слотом хранилища, портом вставки и извлечения или другим диском. Используйте флаги, описанные в разделе MoveFromTransport , чтобы определить, поддерживает ли средство изменения обмен.

LockUnlockCapabilities

Элементы средства изменения, которые можно заблокировать или разблокировать программным способом. Этот элемент действителен только в том случае, если CHANGER_LOCK_UNLOCK задано в разделе Features0.

Чтобы определить, может ли средство изменения заблокировать или разблокировать определенный элемент, используйте одно или несколько из следующих значений.

Значение Значение
LOCK_UNLOCK_DOOR
0x02
Средство смены может заблокировать или разблокировать дверь.
LOCK_UNLOCK_IEPORT
0x01
Средство изменения может заблокировать или разблокировать свой порт вставки и извлечения.
LOCK_UNLOCK_KEYPAD
0x04
Средство смены может заблокировать или разблокировать клавиатуру.

PositionCapabilities

Элементы, к которым может размещать транспорт средство изменения. Используйте флаги, описанные в разделе MoveFromTransport , чтобы определить, поддерживает ли средство изменения расположение транспорта к определенному элементу. Этот элемент действителен только в том случае, если CHANGER_POSITION_TO_ELEMENT задано в features0.

Reserved1[2]

Зарезервировано для будущего использования.

Reserved2[2]

Зарезервировано для будущего использования.

Требования

Требование Значение
Минимальная версия клиента Windows XP
Минимальная версия сервера Windows Server 2003
Верхняя часть winioctl.h (включая Windows.h)

См. также раздел

IOCTL_CHANGER_GET_PARAMETERS