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


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

Подпрограмма ChangerGetElementStatus возвращает сведения о состоянии в этой структуре.

Синтаксис

typedef struct _CHANGER_ELEMENT_STATUS_EX {
  CHANGER_ELEMENT Element;
  CHANGER_ELEMENT SrcElementAddress;
  ULONG           Flags;
  ULONG           ExceptionCode;
  UCHAR           TargetId;
  UCHAR           Lun;
  USHORT          Reserved;
  UCHAR           PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
  UCHAR           AlternateVolumeID[MAX_VOLUME_ID_SIZE];
  UCHAR           VendorIdentification[VENDOR_ID_LENGTH];
  UCHAR           ProductIdentification[PRODUCT_ID_LENGTH];
  UCHAR           SerialNumber[SERIAL_NUMBER_LENGTH];
} CHANGER_ELEMENT_STATUS_EX, *PCHANGER_ELEMENT_STATUS_EX;

Члены

Element

Указывает элемент типа CHANGER_ELEMENT, к которому относится эта структура.

SrcElementAddress

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

Flags

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

ELEMENT_STATUS_FULL

Элемент содержит часть носителя. Этот флаг действителен, если ElementType в элементе элементаChangerDrive, ChangerSlotили ChangerTransport. Если ElementTypeChangerIEPort, этот флаг действителен только в том случае, если CHANGER_REPORT_IEPORT_STATE также заданы в Features0GET_CHANGER_PARAMETERS.

ELEMENT_STATUS_IMPEXP

Носитель в этом элементе был помещен оператором. Этот флаг действителен, только если ElementType в элементе элементаChangerIEPort.

ELEMENT_STATUS_EXCEPT

Элемент находится в ненормальном состоянии. Дополнительные сведения см. в элементе ExceptionCode.

ELEMENT_STATUS_ACCESS

Элемент транспорта изменения может получить доступ к элементу носителя в этом элементе. Драйвер miniclass очищает этот флаг, чтобы указать, что носитель недоступен по одной из следующих причин: если ElementType в элементе элементChangerSlot, слот не присутствует в средстве изменения (например, журнал, содержащий слот, был физически удален). Если ElementTypeChangerDrive, диск поврежден или удален. Если ElementTypeChangerIEPort, iEport расширен.

ELEMENT_STATUS_EXENAB

Элемент поддерживает экспорт мультимедиа через IEport средства изменения.

ELEMENT_STATUS_INENAB

Элемент поддерживает импорт мультимедиа через IEport средства изменения.

ELEMENT_STATUS_LUN_VALID

Допустимый номер устройства в элементе Lun. Этот флаг действителен, только если ElementType в элементе элементаChangerDrive.

ELEMENT_STATUS_ID_VALID

Идентификатор целевого объекта SCSI в элементе TargetID действителен. Этот флаг действителен, только если ElementType в элементе элементаChangerDrive.

ELEMENT_STATUS_NOT_BUS

Диск по адресу, указанному Lun и TargetID находится на другой шине SCSI, отличной от самой смены.

ELEMENT_STATUS_PRODUCT_DATA

Серийный номер в элементе SerialNumber действителен.

ELEMENT_STATUS_INVERT

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

ELEMENT_STATUS_SVALID

элемент SourceElement и флаг ELEMENT_STATUS_INVERT являются допустимыми.

ELEMENT_STATUS_PVOLTAG

Основные сведения о томе в элементе PrimaryVolumeID допустимы.

ELEMENT_STATUS_AVOLTAG

Допустимы альтернативные сведения о томе в элементе AlternateVolumeID.

ExceptionCode

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

ERROR_LABEL_UNREADABLE

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

ERROR_LABEL_QUESTIONABLE

Метка может быть недопустимой из-за условия внимания единицы.

ERROR_SLOT_NOT_PRESENT

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

ERROR_DRIVE_NOT_INSTALLED

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

ERROR_TRAY_MALFUNCTION

Диск на этом адресе элемента содержит область, которая должна быть расширена для загрузки или удаления носителя, и область не расширяется по мере необходимости.

ERROR_UNHANDLED_ERROR

Неизвестное условие ошибки.

TargetId

Указывает идентификатор целевого объекта SCSI диска на этом адресе элемента для SCSI-изменения. Этот элемент действителен, только если ElementType в элементе элемента задан ChangerDrive и ELEMENT_STATUS_ID_VALID установлен в Flags.

Lun

Указывает номер устройства SCSI на этом адресе элемента. Этот элемент действителен, только если ElementType в элементе элементаChangerDrive и ELEMENT_STATUS_LUN_VALID заданы в Flags.

Reserved

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

PrimaryVolumeID[MAX_VOLUME_ID_SIZE]

Указывает основной идентификатор тома для носителя. Если средство изменения поддерживает средство чтения штрих-кода и средство чтения устанавливается (как указано CHANGER_BAR_CODE_SCANNER_INSTALLED в Features0GET_CHANGER_PARAMETERS), драйвер миникласса должен задать PrimaryVolumeID штрих-код носителя. Если средство изменения не поддерживает средство чтения штрих-кода, драйвер миникласса должен задать primaryVolumeID значение, ранее назначенное носителю с помощью подпрограммы ChangerQueryVolumeTags с действием ASSERT_PRIMARY или REPLACE_PRIMARY. Этот элемент действителен только в том случае, если ELEMENT_STATUS_PVOLTAG также заданы в Флаги. Если идентификатор тома отсутствует или недоступен, драйвер миникласса должен очистить этот флаг и задать соответствующее состояние ошибки. Этот идентификатор не должен превышать MAX_VOLUME_ID_SIZE байтов.

AlternateVolumeID[MAX_VOLUME_ID_SIZE]

Задает альтернативную идентификацию тома для носителя. Этот элемент действителен только для двухсторонного носителя и относится к идентификатору инвертированного носителя. Он никогда не представляет штрих-код. Драйвер миникласса должен задать AlternateVolumeID значением, ранее назначенным носителю , с помощью подпрограммы changerQueryVolumeTag s с действием ASSERT_ALTERNATE или REPLACE_ALTERNATE. Идентификатор должен быть не больше MAX_VOLUME_ID_SIZE байтов и действителен только в том случае, если ELEMENT_STATUS_AVOLTAG также заданы в Флаги.

VendorIdentification[VENDOR_ID_LENGTH]

Содержит идентификатор поставщика. Этот идентификатор не должен превышать VENDOR_ID_LENGTH байтов.

ProductIdentification[PRODUCT_ID_LENGTH]

Содержит идентификатор продукта. Этот идентификатор не должен превышать PRODUCT_ID_LENGTH байтов.

SerialNumber[SERIAL_NUMBER_LENGTH]

Содержит серийный номер. Этот идентификатор не должен превышать SERIAL_NUMBER_LENGTH байтов.

Замечания

Подпрограмма ChangerGetElementStatus возвращает сведения о состоянии в этой структуре, если требуется информация о поставщике, продукте или серийном номере. В противном случае ChangerGetElementStatus возвращает сведения о состоянии в структуре CHANGER_ELEMENT_STATUS.

Требования

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

См. также

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

ChangerGetElementStatus

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_GET_ELEMENT_STATUS