Compartir a través de


estructura CHANGER_ELEMENT_STATUS (ntddchgr.h)

La rutina ChangerGetElementStatus devuelve información de estado en esta estructura.

Sintaxis

typedef struct _CHANGER_ELEMENT_STATUS {
  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];
} CHANGER_ELEMENT_STATUS, *PCHANGER_ELEMENT_STATUS;

Miembros

Element

Especifica el elemento de tipo CHANGER_ELEMENT al que hace referencia esta estructura.

SrcElementAddress

Especifica el elemento de tipo CHANGER_ELEMENT desde el que se movió el medio actualmente en este elemento. Este miembro solo es válido si ELEMENT_STATUS_SVALID también se establece en Marcas. Este valor debe ser un desplazamiento de base cero del valor único del dispositivo.

Flags

Indica el estado del elemento , que puede ser uno o varios de los valores siguientes.

ELEMENT_STATUS_FULL

El elemento contiene un fragmento de medio. Esta marca es válida si ElementType en el miembro Element es ChangerDrive, ChangerSlot o ChangerTransport. Si ElementType es ChangerIEPort, esta marca solo es válida si CHANGER_REPORT_IEPORT_STATE también se establece en Características0 de GET_CHANGER_PARAMETERS.

ELEMENT_STATUS_IMPEXP

Un operador colocó allí el medio de este elemento. Esta marca solo es válida si ElementType en el miembro Element es ChangerIEPort.

ELEMENT_STATUS_EXCEPT

El elemento está en un estado anómalo. Consulte el miembro ExceptionCode para obtener más información.

ELEMENT_STATUS_ACCESS

El elemento de transporte del modificador puede tener acceso al elemento multimedia de este elemento. El controlador de miniclase borra esta marca para indicar que el medio no es accesible por uno de los siguientes motivos: Si ElementType en el miembro Element es ChangerSlot, la ranura no está presente en el modificador (por ejemplo, la revista que contiene la ranura se ha quitado físicamente). Si ElementType es ChangerDrive, la unidad se interrumpe o se ha quitado. Si ElementType es ChangerIEPort, se extiende IEport.

ELEMENT_STATUS_EXENAB

El elemento admite la exportación de medios a través del IEport del modificador.

ELEMENT_STATUS_INENAB

El elemento admite la importación de medios a través del IEport del modificador.

ELEMENT_STATUS_LUN_VALID

El número de dispositivo del miembro Lun es válido. Esta marca solo es válida si ElementType en el miembro Element es ChangerDrive.

ELEMENT_STATUS_ID_VALID

El identificador de destino SCSI del miembro TargetID es válido. Esta marca solo es válida si ElementType en el miembro Element es ChangerDrive.

ELEMENT_STATUS_NOT_BUS

La unidad en la dirección indicada por Lun y TargetID se encuentra en un bus SCSI diferente que el propio cambiador.

ELEMENT_STATUS_INVERT

El medio del elemento se ha volteado. Esta marca solo es válida si también se establece la marca de ELEMENT_STATUS_SVALID.

ELEMENT_STATUS_SVALID

El miembro SourceElement y ELEMENT_STATUS_INVERT marca son válidos.

ELEMENT_STATUS_PVOLTAG

La información del volumen principal del miembro PrimaryVolumeID es válida.

ELEMENT_STATUS_AVOLTAG

La información alternativa del volumen en el miembro AlternateVolumeID es válida.

ExceptionCode

Indica que el elemento está en un estado anómalo. Este miembro solo es válido si ELEMENT_STATUS_EXCEPT está establecido en Marcas. ExceptionCode se puede establecer en uno de los valores siguientes.

ERROR_LABEL_UNREADABLE

El lector de código de barras del modificador no pudo leer la etiqueta de código de la barra en el elemento multimedia de este elemento, ya que falta el medio, está dañado, colocado incorrectamente o al revés.

ERROR_LABEL_QUESTIONABLE

La etiqueta podría no ser válida debido a una condición de atención unitaria.

ERROR_SLOT_NOT_PRESENT

La ranura de esta dirección de elemento no está instalada actualmente en el modificador. Un controlador de miniclase establece este código para cada ranura de una revista extraíble para indicar que se ha quitado la revista.

ERROR_DRIVE_NOT_INSTALLED

La unidad de esta dirección de elemento no está presente. Si un cambiador puede seguir funcionando sin la unidad, su controlador de miniclase establece ERROR_DRIVE_NOT_INSTALLED para la unidad.

ERROR_TRAY_MALFUNCTION

La unidad de esta dirección de elemento tiene una bandeja que se debe extender para cargar o quitar medios, y la bandeja no se extiende según sea necesario.

ERROR_UNHANDLED_ERROR

Condición de error desconocida.

TargetId

Especifica el identificador de destino SCSI de la unidad en esta dirección de elemento para un cambiador SCSI. Este miembro solo es válido si ElementType en el miembro Element es ChangerDrive y ELEMENT_STATUS_ID_VALID se establece en Flags.

Lun

Especifica el número de dispositivo SCSI de la unidad en esta dirección de elemento. Este miembro solo es válido si ElementType en el miembro Element es ChangerDrive y ELEMENT_STATUS_LUN_VALID se establece en Flags.

Reserved

Reservado para uso futuro. El valor de este miembro debe ser cero.

PrimaryVolumeID[MAX_VOLUME_ID_SIZE]

Especifica el identificador de volumen principal para el medio. Si el modificador admite un lector de código de barra y el lector se instala (como se indica CHANGER_BAR_CODE_SCANNER_INSTALLED en Características0 de GET_CHANGER_PARAMETERS), el controlador de miniclase debe establecer PrimaryVolumeID en el código de barra del medio. Si el modificador no admite un lector de código de barra, el controlador de miniclase debe establecer PrimaryVolumeID en el valor asignado previamente al medio mediante la rutina ChangerQueryVolumeTags con una acción de ASSERT_PRIMARY o REPLACE_PRIMARY. Este miembro solo es válido si ELEMENT_STATUS_PVOLTAG también se establece en Marcas. Si falta el identificador de volumen o no se puede leer, el controlador de miniclase debe borrar esta marca y establecer el estado de error adecuado. Este identificador no debe ser mayor que MAX_VOLUME_ID_SIZE bytes.

AlternateVolumeID[MAX_VOLUME_ID_SIZE]

Especifica la identificación alternativa del volumen para el medio. Este miembro solo es válido para medios de dos lados y pertenece al identificador del lado invertido. Nunca representa un código de barra. El controlador de miniclase debe establecer AlternateVolumeID en el valor asignado previamente al medio mediante la rutina ChangerQueryVolumeTags con una acción de ASSERT_ALTERNATE o REPLACE_ALTERNATE. El identificador no debe ser mayor que MAX_VOLUME_ID_SIZE bytes y solo es válido si ELEMENT_STATUS_AVOLTAG también se establece en Marcas.

Comentarios

Para la mayoría de los tipos de elementos, los controladores de miniclase modificadores usan CHANGER_ELEMENT_STATUS para notificar el estado de los elementos especificados al controlador de clase changer. Sin embargo, algunos elementos del tipo ChangerDrive devuelven datos de información del producto. Si el dispositivo proporciona información del producto, el controlador de miniclase notificará los datos de estado del elemento en una estructura de tipo CHANGER_ELEMENT_STATUS_EX en lugar de usar CHANGER_ELEMENT_STATUS. El controlador de miniclase indica que la información del producto está presente estableciendo ELEMENT_STATUS_PRODUCT_DATA en el miembro Flags de la estructura.

Requisitos

Requisito Valor
Header ntddchgr.h

Consulte también

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS