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

Извлекает характеристики меняющего элемента.

Синтаксис

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;

Члены

Size

Размер этой структуры в байтах. Задайте для параметра sizeof(GET_CHANGER_PARAMETERS). По сути, этот элемент указывает версию этой структуры, используемой драйвером мини-класса.

NumberTransportElements

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

NumberStorageElements

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

NumberCleanerSlots

Указывает количество элементов хранения (слотов) для более чистых патронов в сменщике. Для меняющего устройства SCSI это значение не передается в данных контроля режима, поэтому драйвер мини-класса должен предоставить его. Драйвер миникласса должен задать для NumberCleanerSlots значение 1, только если руководство оператора для средства смены определяет определенный слот в качестве более чистого слота. Если аргумент NumberCleanerSlots равен 1, firstCleanerSlotAddress указывает отсчитываемый от нуля адрес слота, в который следует вставить средство очистки диска. Если средство смены не поддерживает очистку диска путем программного перемещения очистителя из слота на диск, драйвер мини-класса должен установить для Параметра NumberCleanerSlots значение 0. ЧислоCleanerSlots не должно быть больше 1.

NumberIEElements

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

NumberDataTransferElements

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

NumberOfDoors

Указывает количество дверей, которые имеет средство смены. Для меняющего устройства SCSI это значение не передается в данных контроля режима, поэтому драйвер мини-класса должен предоставить его. Дверь предоставляет доступ ко всем носителям в средстве смены одновременно, в отличие от IEport, который предоставляет доступ к одному или нескольким, но не ко всем носителям. Дверь коммодера может быть физической входной дверью или одним журналом, который содержит все носители. Если средство смены поддерживает только IEport для вставки и извлечения носителя, аргумент NumberOfDoors должен иметь значение 0.

FirstSlotNumber

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

FirstDriveNumber

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

FirstTransportNumber

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

FirstIEPortNumber

Указывает номер, используемый поставщиком средства смены для идентификации первого (и обычно только) IEport в сменщике для конечного пользователя. FirstIEPortNumber обычно имеет значение 0 или 1, но это может быть первый адрес в последовательном диапазоне адресов IEport, определенных поставщиком. Если 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

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

CHANGER_BAR_CODE_SCANNER_INSTALLED

Средство смены поддерживает средство чтения штрихкода, и средство чтения установлено. Драйвер мини-класса не должен жестко задавать этот флаг, если не всегда установлено средство чтения штрихового кода средства смены. Если средство чтения штрихкода является необязательным, драйвер мини-класса должен определить, действительно ли установлено средство чтения, и установить соответствующий флаг.

CHANGER_INIT_ELEM_STAT_WITH_RANGE

Средство изменения может инициализировать элементы в указанном диапазоне. Для меняющего устройства SCSI этот флаг указывает, поддерживает ли средство смены команду INITIALIZE ELEMENT STATUS WITH RANGE SCSI.

CHANGER_CLOSE_IEPORT

Средство смены имеет IEport и может отозвать IEport программным способом.

CHANGER_OPEN_IEPORT

Средство смены имеет IEport и может расширять IEport программным способом.

CHANGER_STATUS_NON_VOLATILE

Средство смены использует энергонезависимую память для получения сведений о состоянии элемента.

CHANGER_EXCHANGE_MEDIA

Поддерживает команду EXCHANGE MEDIUM SCSI путем одновременной обработки двух томов или с помощью других элементов средства изменения для эмуляции этой возможности.

CHANGER_CLEANER_SLOT

Указывает, что в сменщике есть определенный слот, предназначенный для более чистого патрона. Если этот флаг установлен, параметр NumberCleanerSlots должен иметь значение one, а FirstCleanerSlotAddress должен указывать адрес слота очистки. Этот бит можно задать, только если задано CHANGER_DRIVE_CLEANING_REQUIRED и CHANGER_CLEANER_OPS_NOT_SUPPORTED сбрасывается.

CHANGER_LOCK_UNLOCK

Дверь, IEport или клавиатура могут быть заблокированы или разблокированы программным способом. Если этот флаг установлен, Параметр LockUnlockCapabilities указывает, какие элементы можно заблокировать или разблокировать.

CHANGER_CARTRIDGE_MAGAZINE

Для некоторых или всех слотов хранения используется съемный магазин.

CHANGER_MEDIUM_FLIP

Элемент транспорта средства смены поддерживает переворачивание (вращающееся) носитель. Для scsi changer этот флаг отражает бит поворота на странице параметров геометрии транспорта.

CHANGER_POSITION_TO_ELEMENT

Средство смены может разместить транспорт в определенном месте назначения. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SCSI POSITION TO ELEMENT. Если этот флаг установлен, PositionCapabilities указывает элементы, к которым можно разместить транспорт.

CHANGER_REPORT_IEPORT_STATE

Средство смены может сообщить, присутствует ли носитель в IEport. Для обнаружения наличия или отсутствия носителей в таком средстве смены данных должен быть установлен датчик в IEport.

CHANGER_STORAGE_DRIVE

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

CHANGER_STORAGE_IEPORT

Средство смены может использовать IEport в качестве независимого элемента хранения. Для средства смены SCSI этот флаг отражает состояние бита ввода-адреса на странице возможностей устройства.

CHANGER_STORAGE_SLOT

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

CHANGER_STORAGE_TRANSPORT

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

CHANGER_DRIVE_CLEANING_REQUIRED

Указывает, что диски средства смены могут периодически сообщать коды контроля, указывающие на то, что диск требует очистки.

CHANGER_PREDISMOUNT_EJECT_REQUIRED

Для смены требуется явная команда, выданная через драйвер запоминающего устройства (например, лента, диск или компакт-диск), чтобы извлечь носитель с диска, прежде чем средство смены сможет переместить носитель с диска в слот. Если средство смены автоматически извлекает носитель, драйвер мини-класса должен снять этот флаг.

CHANGER_CLEANER_ACCESS_NOT_VALID

Флаг ELEMENT_STATUS_ACCESS в структуре CHANGER_ELEMENT_STATUS для элемента транспорта данных недопустим, если элемент транспорта содержит очищающий патрон.

CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS

Перед доступом к ней через дверь все диски должны быть пустыми (отключенными). Драйвер мини-класса должен установить этот флаг, если у средства смены есть чувствительные к статичным дискам, которые могут быть затронуты тем, что оператор получает доступ к внутренней части средства смены, или если средство смены автоматически извлекает носитель из своих дисков, когда оператор пытается физически открыть дверь.

CHANGER_VOLUME_IDENTIFICATION

Средство смены поддерживает идентификацию тома. Для меняющего устройства SCSI этот флаг указывает, поддерживает ли средство смены команды SCSI SEND VOLUME TAG и REQUEST VOLUME ELEMENT ADDRESS.

Средство смены может искать сведения о томе. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SEND VOLUME TAG SCSI с кодом действия send translate.

CHANGER_VOLUME_ASSERT

Средство изменения может проверить сведения о томе. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SEND VOLUME TAG SCSI с кодом действия отправки ASSERT.

CHANGER_VOLUME_REPLACE

Средство смены может заменить сведения о томе. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SEND VOLUME TAG SCSI с кодом действия отправки REPLACE.

CHANGER_VOLUME_UNDEFINE

Средство смены может очистить существующие сведения о томе. Для SCSI changer этот флаг указывает, поддерживает ли средство смены команду SEND VOLUME TAG SCSI с кодом действия отправки UNDEFINE.

CHANGER_SERIAL_NUMBER_VALID

Серийный номер, сообщаемый GetProductData, является допустимым и уникальным для всех модулей смены этого типа. Серийные номера не гарантируют уникальность в линейках поставщиков и продуктов. Если серийный номер в соответствии с этим определением уникален, драйвер мини-класса должен установить этот флаг и задать для параметра SerialNumber в CHANGER_PRODUCT_DATA серийный номер.

CHANGER_PREMOUNT_EJECT_REQUIRED

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

CHANGER_DEVICE_REINITIALIZE_CAPABLE

Средство смены может повторно откалибровать свой транспортный элемент в ответ на явную команду. Драйвер класса changer вызывает ChangerReinitializeUnit для запуска повторной откалибрации.

CHANGER_KEYPAD_ENABLE_DISABLE

Клавиатуру можно включить и отключить программным способом.

CHANGER_RESERVED_BIT

Зарезервировано для указания флагов Features1 .

Features1

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

CHANGER_PREDISMOUNT_ALIGN_TO_SLOT

Указывает, что транспорт необходимо переместить в целевой слот перед перемещением носителя с диска в слот. Если этот параметр задан, битовое CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE должно быть сброшено.

CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE

Указывает, что транспорт необходимо переместить на диск перед перемещением носителя с диска в слот. Битовое CHANGER_PREDISMOUNT_ALIGN_TO_SLOT должно быть сброшено, если этот параметр задан.

CHANGER_CLEANER_AUTODISMOUNT

Указывает, что после завершения очистки средство смены автоматически переместит очищающий патрон обратно в исходный слот. Этот бит можно задать, только если задано CHANGER_DRIVE_CLEANING_REQUIRED и CHANGER_CLEANER_OPS_NOT_SUPPORTED сбрасывается.

CHANGER_TRUE_EXCHANGE_CAPABLE

Устройство может управлять двумя томами одновременно без использования дополнительных элементов средства изменения.

CHANGER_SLOTS_USE_TRAYS

В слотах используется съемные лотки, которые требуют размещения носителя в лоток, а лоток перемещается в нужное положение.

CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR

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

CHANGER_CLEANER_OPS_NOT_SUPPORTED

Указывает, что программное обеспечение не может программно приказать транспорту средства перемещению фильтрующего устройства на грязное диск. Этот бит можно задать только в том случае, если задан бит CHANGER_DRIVE_CLEANING_REQUIRED. Если этот бит задан, необходимо сбросить и CHANGER_CLEANER_AUTODISMOUNT, и CHANGER_CLEANER_SLOT.

CHANGER_IEPORT_USER_CONTROL_OPEN

Средство смены требует, чтобы пользователь вручную открыл закрытый IEport.

CHANGER_IEPORT_USER_CONTROL_CLOSE

Для этого требуется, чтобы пользователь вручную закрыл открытый IEport.

CHANGER_MOVE_EXTENDS_IEPORT

Средство смены автоматически расширяет область при выполнении команды для перемещения мультимедиа в IEport.

CHANGER_MOVE_RETRACTS_IEPORT

Средство смены автоматически отзовет область при выполнении команды для перемещения мультимедиа из IEport.

MoveFromTransport

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

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

CHANGER_TO_TRANSPORT

Средство смены может выполнять операцию от указанного элемента к транспорту.

CHANGER_TO_SLOT

Средство смены может выполнять операцию из указанного элемента в слот хранения.

CHANGER_TO_IEPORT

Средство смены может выполнять операцию из указанного элемента в IEport.

CHANGER_TO_DRIVE

Средство смены может выполнять операцию от указанного элемента к диску.

MoveFromSlot

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

MoveFromIePort

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

MoveFromDrive

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

ExchangeFromTransport

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

ExchangeFromSlot

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

ExchangeFromIePort

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

ExchangeFromDrive

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

LockUnlockCapabilities

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

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

LOCK_UNLOCK_IEPORT

Средство смены может заблокировать или разблокировать свои IEport(ы).

LOCK_UNLOCK_DOOR

Средство смены может заблокировать или разблокировать свою дверь.

LOCK_UNLOCK_KEYPAD

Контроллер может заблокировать или разблокировать клавиатуру.

PositionCapabilities

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

Reserved1[2]

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

Reserved2[2]

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

Комментарии

GET_CHANGER_PARAMETERS содержит параметры средств смены. Драйвер мини-класса changer выделяет и заполняет эту структуру по запросу драйвера класса changer.

Требования

Требование Значение
Заголовок ntddchgr.h

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

ChangerGetParameters