структура 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 меньше максимального числа слотов в средстве изменения.

NumberCleanerSlots

Указывает количество элементов хранения (слотов) для более чистых патронов в средстве изменения. Для изменения SCSI это значение не сообщается в данных о смысле режима, поэтому драйвер миникласса должен предоставить его. Драйвер миникласса должен задать NumberCleanerSlots значение 1, только если руководство оператора для средства изменения определяет определенный слот как более чистый слот. Если NumberCleanerSlots равно 1, то FirstCleanerSlotAddress указывает отсчитываемый от нуля адрес слота, в котором следует вставить средство очистки диска. Если средство изменения не поддерживает очистку диска путем программного перемещения более чистого патрона из слота на диск, драйвер миникласса должен задать NumberCleanerSlots значение 0. NumberCleanerSlots не должно превышать 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 должно быть одним и FirstCleanerSlotAddress должен указать адрес более чистого слота. Этот бит можно задать только в том случае, если установлен CHANGER_DRIVE_CLEANING_REQUIRED и CHANGER_CLEANER_OPS_NOT_SUPPORTED сбрасывается.

CHANGER_LOCK_UNLOCK

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

CHANGER_CARTRIDGE_MAGAZINE

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

CHANGER_MEDIUM_FLIP

Транспортный элемент средства изменения поддерживает перевернутый (поворот) носитель. Для изменения SCSI этот флаг отражает бит поворота на странице параметров геометрии транспорта.

CHANGER_POSITION_TO_ELEMENT

Переменяемый объект может разместить транспорт в определенном месте назначения. Для SCSI changer этот флаг указывает, поддерживает ли переменная команда POSITION TO ELEMENT SCSI. Если этот флаг задан, 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 этот флаг указывает, поддерживает ли менятель команды SEND VOLUME TAG и REQUEST VOLUME ELEMENT ADDRESS SCSI.

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

CHANGER_VOLUME_ASSERT

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

CHANGER_VOLUME_REPLACE

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

CHANGER_VOLUME_UNDEFINE

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

CHANGER_SERIAL_NUMBER_VALID

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

CHANGER_PREMOUNT_EJECT_REQUIRED

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

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.

Требования

Требование Ценность
заголовка ntddchgr.h

См. также

ChangerGetParameters