estrutura CHANGER_ELEMENT_STATUS_EX (ntddchgr.h)

A rotina ChangerGetElementStatus retorna status informações nessa estrutura.

Sintaxe

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;

Membros

Element

Especifica o elemento do tipo CHANGER_ELEMENT ao qual essa estrutura se refere.

SrcElementAddress

Especifica o elemento do tipo CHANGER_ELEMENT do qual a mídia atualmente neste elemento foi movida mais recentemente. Esse membro só será válido se ELEMENT_STATUS_SVALID também estiver definido em Sinalizadores. Esse valor deve ser um deslocamento baseado em zero do valor exclusivo do dispositivo.

Flags

Indica o status do elemento , que pode ser um ou mais dos valores a seguir.

ELEMENT_STATUS_FULL

O elemento contém uma parte da mídia. Esse sinalizador será válido se ElementType no membro Element for ChangerDrive, ChangerSlot ou ChangerTransport. Se ElementType for ChangerIEPort, esse sinalizador será válido somente se CHANGER_REPORT_IEPORT_STATE também estiver definido em Recursos0 de GET_CHANGER_PARAMETERS.

ELEMENT_STATUS_IMPEXP

A mídia nesse elemento foi colocada lá por um operador . Esse sinalizador só será válido se ElementType no membro Element for ChangerIEPort.

ELEMENT_STATUS_EXCEPT

O elemento está em um estado anormal. Verifique o membro ExceptionCode para obter mais informações.

ELEMENT_STATUS_ACCESS

O elemento de transporte do alterador pode acessar a parte da mídia neste elemento. O driver de miniclasse limpa esse sinalizador para indicar que a mídia não está acessível por um dos seguintes motivos: Se ElementType no membro Element for ChangerSlot, o slot não está presente no alterador (por exemplo, a revista que contém o slot foi fisicamente removida). Se ElementType for ChangerDrive, a unidade será interrompida ou removida. Se ElementType for ChangerIEPort, o IEport será estendido.

ELEMENT_STATUS_EXENAB

O elemento dá suporte à exportação de mídia por meio do IEport do alterador.

ELEMENT_STATUS_INENAB

O elemento dá suporte à importação de mídia por meio do IEport do alterador.

ELEMENT_STATUS_LUN_VALID

O número do dispositivo no membro Lun é válido. Esse sinalizador só será válido se ElementType no membro Element for ChangerDrive.

ELEMENT_STATUS_ID_VALID

A ID de destino SCSI no membro TargetID é válida. Esse sinalizador só será válido se ElementType no membro Element for ChangerDrive.

ELEMENT_STATUS_NOT_BUS

A unidade no endereço indicado por Lun e TargetID está em um barramento SCSI diferente do próprio alterador.

ELEMENT_STATUS_PRODUCT_DATA

O número de série no membro SerialNumber é válido.

ELEMENT_STATUS_INVERT

A mídia no elemento foi invertida. Esse sinalizador só será válido se o sinalizador ELEMENT_STATUS_SVALID também estiver definido.

ELEMENT_STATUS_SVALID

O membro SourceElement e o sinalizador ELEMENT_STATUS_INVERT são válidos.

ELEMENT_STATUS_PVOLTAG

As informações de volume primário no membro PrimaryVolumeID são válidas.

ELEMENT_STATUS_AVOLTAG

Informações de volume alternativas no membro AlternateVolumeID são válidas.

ExceptionCode

Indica que o elemento está em um estado anormal. Esse membro só será válido se ELEMENT_STATUS_EXCEPT estiver definido em Sinalizadores. ExceptionCode pode ser definido como um dos valores a seguir.

ERROR_LABEL_UNREADABLE

O leitor de código de barras do modificador não pôde ler o rótulo de código de barra na parte de mídia neste elemento, pois a mídia está ausente, danificada, posicionada incorretamente ou de cabeça para baixo.

ERROR_LABEL_QUESTIONABLE

O rótulo pode ser inválido devido a uma condição de atenção de unidade.

ERROR_SLOT_NOT_PRESENT

O slot neste endereço de elemento não está instalado no momento no alterador. Um driver de miniclasse define esse código para cada slot em uma revista removível para indicar que a revista foi removida.

ERROR_DRIVE_NOT_INSTALLED

A unidade neste endereço de elemento está ausente. Se um alterador puder continuar operando sem a unidade, seu driver de miniclasse definirá ERROR_DRIVE_NOT_INSTALLED para a unidade.

ERROR_TRAY_MALFUNCTION

A unidade neste endereço de elemento tem uma bandeja que deve ser estendida para carregar ou remover mídia e a bandeja não está se estendendo conforme necessário.

ERROR_UNHANDLED_ERROR

Condição de erro desconhecida.

TargetId

Especifica a ID de destino SCSI da unidade neste endereço de elemento para um alterador SCSI. Esse membro só será válido se ElementType no membro Element for ChangerDrive e ELEMENT_STATUS_ID_VALID estiver definido em Sinalizadores.

Lun

Especifica o número do dispositivo SCSI da unidade neste endereço de elemento. Esse membro só será válido se ElementType no membro Element for ChangerDrive e ELEMENT_STATUS_LUN_VALID estiver definido em Sinalizadores.

Reserved

Reservado para uso futuro. O valor desse membro deve ser zero.

PrimaryVolumeID[MAX_VOLUME_ID_SIZE]

Especifica o identificador de volume primário para a mídia. Se o alterador der suporte a um leitor de código de barras e o leitor estiver instalado (conforme indicado por CHANGER_BAR_CODE_SCANNER_INSTALLED em Recursos0 de GET_CHANGER_PARAMETERS), o driver de miniclasse deverá definir PrimaryVolumeID como o código de barra da mídia. Se o alterador não der suporte a um leitor de código de barras, o driver de miniclasse deverá definir PrimaryVolumeID como o valor atribuído anteriormente à mídia usando a rotina ChangerQueryVolumeTags com uma ação ASSERT_PRIMARY ou REPLACE_PRIMARY. Esse membro só será válido se ELEMENT_STATUS_PVOLTAG também estiver definido em Sinalizadores. Se o identificador de volume estiver ausente ou ilegível, o driver de miniclasse deverá limpar esse sinalizador e definir o erro apropriado status. Esse identificador não deve ser maior que MAX_VOLUME_ID_SIZE bytes.

AlternateVolumeID[MAX_VOLUME_ID_SIZE]

Especifica a identificação de volume alternativa para a mídia. Esse membro é válido somente para mídia de dois lados e pertence à ID do lado invertido. Ele nunca representa um código de barra. O driver de miniclasse deve definir AlternateVolumeID como o valor atribuído anteriormente à mídia usando a rotina ChangerQueryVolumeTags com uma ação ASSERT_ALTERNATE ou REPLACE_ALTERNATE. O identificador não deve ser maior que MAX_VOLUME_ID_SIZE bytes e é válido somente se ELEMENT_STATUS_AVOLTAG também estiver definido em Sinalizadores.

VendorIdentification[VENDOR_ID_LENGTH]

Contém a ID do fornecedor. Esse identificador não deve ser maior que VENDOR_ID_LENGTH bytes.

ProductIdentification[PRODUCT_ID_LENGTH]

Contém a ID do produto. Esse identificador não deve ser maior que PRODUCT_ID_LENGTH bytes.

SerialNumber[SERIAL_NUMBER_LENGTH]

Contém o número de série. Esse identificador não deve ser maior que SERIAL_NUMBER_LENGTH bytes.

Comentários

A rotina ChangerGetElementStatus retornará status informações nessa estrutura se as informações de fornecedor, produto ou número de série forem necessárias. Caso contrário, ChangerGetElementStatus retornará status informações na estrutura CHANGER_ELEMENT_STATUS.

Requisitos

Requisito Valor
Cabeçalho ntddchgr.h

Confira também

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS

ChangerGetElementStatus

GET_CHANGER_PARAMETERS

IOCTL_CHANGER_GET_ELEMENT_STATUS