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 플래그에도 설정된 경우에만 유효합니다. 이 값은 디바이스 고유 값에서 0부터 시작하는 오프셋이어야 합니다.
Flags
다음 값 중 하나 이상이 될 수 있는 요소의 상태 나타냅니다.
ELEMENT_STATUS_FULL
요소에는 미디어 조각이 포함되어 있습니다. 요소 멤버의 ElementType이 ChangerDrive, ChangerSlot 또는 ChangerTransport인 경우 이 플래그는 유효합니다. ElementType이 ChangerIEPort인 경우 CHANGER_REPORT_IEPORT_STATE GET_CHANGER_PARAMETERS Features0에도 설정된 경우에만 이 플래그가 유효합니다.
ELEMENT_STATUS_IMPEXP
이 요소의 미디어가 연산자에 의해 배치되었습니다. 이 플래그는 요소 멤버의ElementType이 ChangerIEPort인 경우에만 유효합니다.
ELEMENT_STATUS_EXCEPT
요소가 비정상적인 상태입니다. 자세한 내용은 ExceptionCode 멤버를 확인합니다.
ELEMENT_STATUS_ACCESS
체인저의 전송 요소는 이 요소의 미디어 부분에 액세스할 수 있습니다. 미니클래스 드라이버는 다음 이유 중 하나로 인해 미디어에 액세스할 수 없음을 나타내기 위해 이 플래그를 지웁니다. 요소 멤버의 ElementType이 ChangerSlot이면 슬롯이 체인저에 없습니다(예: 슬롯이 포함된 잡지가 물리적으로 제거됨). ElementType이 ChangerDrive인 경우 드라이브가 손상되었거나 제거되었습니다. ElementType이 ChangerIEPort이면 IEport가 확장됩니다.
ELEMENT_STATUS_EXENAB
요소는 체인저의 IEport를 통해 미디어 내보내기를 지원합니다.
ELEMENT_STATUS_INENAB
요소는 체인저의 IEport를 통해 미디어 가져오기를 지원합니다.
ELEMENT_STATUS_LUN_VALID
Lun 멤버의 디바이스 번호가 유효합니다. 이 플래그는 요소 멤버의ElementType이 ChangerDrive인 경우에만 유효합니다.
ELEMENT_STATUS_ID_VALID
TargetID 멤버의 SCSI 대상 ID가 유효합니다. 이 플래그는 요소 멤버의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 대상 ID를 지정합니다. 이 멤버는 Element 멤버의 ElementType이 ChangerDrive이고 ELEMENT_STATUS_ID_VALID Flags에 설정된 경우에만 유효합니다.
Lun
이 요소 주소에 있는 드라이브의 SCSI 디바이스 번호를 지정합니다. 이 멤버는 Element 멤버의 ElementType이 ChangerDrive이고 ELEMENT_STATUS_LUN_VALID Flags에 설정된 경우에만 유효합니다.
Reserved
다음에 사용하도록 예약됩니다. 이 멤버의 값은 0이어야 합니다.
PrimaryVolumeID[MAX_VOLUME_ID_SIZE]
미디어의 기본 볼륨 식별자를 지정합니다. 변경기가 바코드 판독기를 지원하고 판독기가 설치된 경우(GET_CHANGER_PARAMETERS기능0의 CHANGER_BAR_CODE_SCANNER_INSTALLED 표시) 미니클래스 드라이버는 PrimaryVolumeID를 미디어의 바코드로 설정해야 합니다. 변경 프로그램이 바코드 판독기를 지원하지 않는 경우 미니클래스 드라이버는 ASSERT_PRIMARY 또는 REPLACE_PRIMARY 작업과 함께 ChangerQueryVolumeTags 루틴을 사용하여 이전에 미디어에 할당된 값으로 PrimaryVolumeID를 설정해야 합니다. 이 멤버는 ELEMENT_STATUS_PVOLTAG 플래그에도 설정된 경우에만 유효합니다. 볼륨 식별자가 없거나 읽을 수 없는 경우 미니클래스 드라이버는 이 플래그를 지우고 적절한 오류 상태 설정해야 합니다. 이 식별자는 MAX_VOLUME_ID_SIZE 바이트보다 크지 않아야 합니다.
AlternateVolumeID[MAX_VOLUME_ID_SIZE]
미디어에 대한 대체 볼륨 식별을 지정합니다. 이 멤버는 양면 미디어에만 유효하며 반전된 쪽의 ID와 관련이 있습니다. 바코드를 나타내지 않습니다. 미니클래스 드라이버는 ASSERT_ALTERNATE 또는 REPLACE_ALTERNATE 작업과 함께 ChangerQueryVolumeTags 루틴을 사용하여 이전에 미디어에 할당된 값으로 AlternateVolumeID를 설정해야 합니다. 식별자는 MAX_VOLUME_ID_SIZE 바이트보다 크지 않아야 하며 플래그에도 ELEMENT_STATUS_AVOLTAG 설정된 경우에만 유효합니다.
VendorIdentification[VENDOR_ID_LENGTH]
공급업체 ID를 포함합니다. 이 식별자는 VENDOR_ID_LENGTH 바이트보다 크지 않아야 합니다.
ProductIdentification[PRODUCT_ID_LENGTH]
제품 ID를 포함합니다. 이 식별자는 PRODUCT_ID_LENGTH 바이트보다 크지 않아야 합니다.
SerialNumber[SERIAL_NUMBER_LENGTH]
일련 번호를 포함합니다. 이 식별자는 SERIAL_NUMBER_LENGTH 바이트보다 크지 않아야 합니다.
설명
ChangerGetElementStatus 루틴은 공급업체, 제품 또는 일련 번호 정보가 필요한 경우 이 구조의 상태 정보를 반환합니다. 그렇지 않으면 ChangerGetElementStatus는 CHANGER_ELEMENT_STATUS 구조에서 상태 정보를 반환합니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntddchgr.h |