структура 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 |