CHANGER_ELEMENT_STATUS 结构 (winioctl.h)

表示指定元素的状态。

语法

typedef struct _CHANGER_ELEMENT_STATUS {
  CHANGER_ELEMENT Element;
  CHANGER_ELEMENT SrcElementAddress;
  DWORD           Flags;
  DWORD           ExceptionCode;
  BYTE            TargetId;
  BYTE            Lun;
  WORD            Reserved;
  BYTE            PrimaryVolumeID[MAX_VOLUME_ID_SIZE];
  BYTE            AlternateVolumeID[MAX_VOLUME_ID_SIZE];
} CHANGER_ELEMENT_STATUS, *PCHANGER_ELEMENT_STATUS;

成员

Element

表示 元素 的CHANGER_ELEMENT 结构。

SrcElementAddress

一个 CHANGER_ELEMENT 结构,表示最近从中移动当前此元素中的媒体的元素。

仅当 Flags 成员包含ELEMENT_STATUS_SVALID时,此成员才有效。

Flags

元素状态。 此成员可以是以下一个或多个值。

含义
ELEMENT_STATUS_ACCESS
0x00000008
更换器的传输元素可以访问此元素中的介质片段。 在以下情况下无法访问媒体: (1) 如果元素类型为 ChangerSlot,则更换器 (不存在槽,例如,包含该槽的杂志已被物理删除) 。 (2) 如果元素类型为 ChangerDrive,则驱动器已损坏或已删除。 (3) 如果元素类型为 ChangerIEPort,则会扩展更换器的插入/弹出端口。
ELEMENT_STATUS_AVOLTAG
0x20000000
AlternateVolumeID 成员中的备用卷信息有效。
ELEMENT_STATUS_EXCEPT
0x00000004
元素处于异常状态。 有关详细信息,请查看 ExceptionCode 成员。
ELEMENT_STATUS_EXENAB
0x00000010
元素支持通过更换器的插入/弹出端口导出媒体。
ELEMENT_STATUS_FULL
0x00000001
元素包含一段媒体。

请注意,仅当元素类型为 ChangerDrive、ChangerSlot 或 ChangerTransport 时,此值才有效。 如果 ElementType 为 ChangerIEPort,则仅当 GET_CHANGER_PARAMETERSFeatures0 成员包含CHANGER_REPORT_IEPORT_STATE时,此值才有效。

ELEMENT_STATUS_ID_VALID
0x00002000
TargetID 成员中的 SCSI 目标 ID 有效。

仅当元素类型为 ChangerDrive 时,此值才有效。

ELEMENT_STATUS_IMPEXP
0x00000002
此元素中的媒体由 运算符放置在那里。

仅当元素类型为 ChangerIEPort 时,此值才有效。

ELEMENT_STATUS_INENAB
0x00000020
元素支持通过更换器的插入/弹出端口导入媒体。
ELEMENT_STATUS_INVERT
0x00400000
元素中的媒体已翻转。

仅当同时包含ELEMENT_STATUS_SVALID时,此值才有效。

ELEMENT_STATUS_LUN_VALID
0x00001000
Lun 成员中的逻辑单元号有效。 仅当元素类型为 ChangerDrive 时,此值才有效。
ELEMENT_STATUS_NOT_BUS
0x00008000
LunTargetID 指示的地址上的驱动器与更换器本身位于不同的 SCSI 总线上。
ELEMENT_STATUS_PVOLTAG
0x10000000
PrimaryVolumeID 成员中的主卷信息有效。
ELEMENT_STATUS_SVALID
0x00800000
SourceElement 成员和ELEMENT_STATUS_INVERT都有效。

ExceptionCode

一个异常代码,指示元素处于异常状态。 仅当 Flags 成员包含ELEMENT_STATUS_EXCEPT时,此成员才有效。 此成员可以是以下值之一。

含义
ERROR_DRIVE_NOT_INSTALLED
0x00000008
此元素地址处的驱动器不存在。
ERROR_LABEL_QUESTIONABLE
0x00000002
由于单位注意条件,标签可能无效。
ERROR_LABEL_UNREADABLE
0x00000001
更换器的条形码阅读器无法读取此元素中介质上的条形码标签,因为介质缺失、损坏、位置不正确或倒置。
ERROR_SLOT_NOT_PRESENT
0x00000004
此元素地址处的槽当前未安装在更换器中。 可移动杂志中的每个槽都报告不存在,以指示该杂志已被移除。
ERROR_TRAY_MALFUNCTION
0x00000010
此元素地址处的驱动器具有一个托盘,必须扩展该托盘才能加载或移除介质,并且托盘未根据需要扩展。
ERROR_UNHANDLED_ERROR
0xFFFFFFFF
未知错误条件。

TargetId

对于 SCSI 更改程序,指定此元素地址处驱动器的 SCSI 目标 ID。 仅当 Element 结构的 ElementType 成员为 ChangerDrive 且 Flags 成员包含ELEMENT_STATUS_ID_VALID时,此成员才有效。

Lun

此元素地址处驱动器的 SCSI 逻辑单元号。 仅当 Element 结构的 ElementType 成员为 ChangerDrive 且 Flags 成员包含ELEMENT_STATUS_LUN_VALID时,此成员才有效。

Reserved

保留供将来使用。 此成员的值必须为零。

PrimaryVolumeID[MAX_VOLUME_ID_SIZE]

媒体的主卷标识符。 如果更换器支持条形码读取器,并且 (按 GET_CHANGER_PARAMETERS) 的 Features0 成员中的CHANGER_BAR_CODE_SCANNER_INSTALLED指示安装 读取 器, 则 PrimaryVolumeID 是媒体的条形码。 如果更换器不支持条形码读取器, 则 PrimaryVolumeID 是以前分配给媒体的值。

仅当 Flags 成员包含ELEMENT_STATUS_PVOLTAG时,此成员才有效。

如果卷标识符缺失或不可读,则清除此成员。

AlternateVolumeID[MAX_VOLUME_ID_SIZE]

媒体的备用卷标识。 此成员仅对双面媒体有效,并且与反面的 ID 相关。 它从不表示条形码。

仅当 Flags 成员包含ELEMENT_STATUS_AVOLTAG时,此成员才有效。

要求

要求
最低受支持的客户端 Windows XP
最低受支持的服务器 Windows Server 2003
标头 winioctl.h (包括 Windows.h)

另请参阅

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS_EX

IOCTL_CHANGER_GET_ELEMENT_STATUS