estrutura CHANGER_ELEMENT_STATUS (ntddchgr.h)

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

Sintaxe

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;

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 nesse 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 estará presente no alterador (por exemplo, a revista que contém o slot foi removida fisicamente). 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_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

As informações de volume alternativo 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 alterador não pôde ler o rótulo de código de barra na parte da 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 da unidade.

ERROR_SLOT_NOT_PRESENT

Atualmente, o slot neste endereço de elemento não está instalado 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 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 Flags.

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 Flags.

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 barra 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 barra, 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 barras. 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 só será válido se ELEMENT_STATUS_AVOLTAG também estiver definido em Sinalizadores.

Comentários

Para a maioria dos tipos de elemento, os drivers de miniclasse de alterador usam CHANGER_ELEMENT_STATUS para relatar o status de elementos especificados para o driver de classe do alterador. Alguns elementos do tipo ChangerDrive, no entanto, retornam dados de informações do produto. Se o dispositivo fornecer informações sobre o produto, o driver de miniclasse relatará o elemento status dados em uma estrutura do tipo CHANGER_ELEMENT_STATUS_EX em vez de usar CHANGER_ELEMENT_STATUS. O driver de miniclasse indica que as informações do produto estão presentes definindo ELEMENT_STATUS_PRODUCT_DATA no membro Flags da estrutura.

Requisitos

Requisito Valor
Cabeçalho ntddchgr.h

Confira também

CHANGER_ELEMENT

CHANGER_ELEMENT_STATUS_EX

ChangerGetElementStatus

ChangerQueryVolumeTags

IOCTL_CHANGER_GET_ELEMENT_STATUS