struttura CHANGER_ELEMENT_STATUS (ntddchgr.h)
La routine ChangerGetElementStatus restituisce informazioni sullo stato in questa struttura.
Sintassi
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;
Members
Element
Specifica l'elemento di tipo CHANGER_ELEMENT a cui fa riferimento questa struttura.
SrcElementAddress
Specifica l'elemento di tipo CHANGER_ELEMENT da cui il supporto attualmente in questo elemento è stato spostato più di recente. Questo membro è valido solo se ELEMENT_STATUS_SVALID è impostato anche in Flag. Questo valore deve essere un offset in base zero rispetto al valore univoco del dispositivo.
Flags
Indica lo stato dell'elemento, che può essere uno o più dei valori seguenti.
ELEMENT_STATUS_FULL
L'elemento contiene un elemento multimediale. Questo flag è valido se ElementType nel membro Element è ChangerDrive, ChangerSlot o ChangerTransport. Se ElementType è ChangerIEPort, questo flag è valido solo se CHANGER_REPORT_IEPORT_STATE è impostato anche in Features0 di GET_CHANGER_PARAMETERS.
ELEMENT_STATUS_IMPEXP
Il supporto in questo elemento è stato inserito da un operatore. Questo flag è valido solo se ElementType nel membro Element è ChangerIEPort.
ELEMENT_STATUS_EXCEPT
L'elemento si trova in uno stato anomalo. Per altre informazioni, vedere il membro ExceptionCode .
ELEMENT_STATUS_ACCESS
L'elemento di trasporto del modificatore può accedere al componente multimediale in questo elemento. Il driver miniclasse cancella questo flag per indicare che il supporto non è accessibile per uno dei motivi seguenti: Se ElementType nel membro Element è ChangerSlot, lo slot non è presente nel modificatore (ad esempio, la rivista contenente lo slot è stata rimossa fisicamente). Se ElementType è ChangerDrive, l'unità viene interrotta o rimossa. Se ElementType è ChangerIEPort, il valore di IEport viene esteso.
ELEMENT_STATUS_EXENAB
L'elemento supporta l'esportazione dei supporti tramite IEport del modificatore.
ELEMENT_STATUS_INENAB
L'elemento supporta l'importazione di supporti tramite IEport del modificatore.
ELEMENT_STATUS_LUN_VALID
Il numero di dispositivo nel membro Lun è valido. Questo flag è valido solo se ElementType nel membro Element è ChangerDrive.
ELEMENT_STATUS_ID_VALID
L'ID di destinazione SCSI nel membro TargetID è valido. Questo flag è valido solo se ElementType nel membro Element è ChangerDrive.
ELEMENT_STATUS_NOT_BUS
L'unità in corrispondenza dell'indirizzo indicato da Lun e TargetID si trova su un bus SCSI diverso rispetto al modificatore stesso.
ELEMENT_STATUS_INVERT
Il supporto nell'elemento è stato capovolto. Questo flag è valido solo se è impostato anche il flag di ELEMENT_STATUS_SVALID.
ELEMENT_STATUS_SVALID
Il membro SourceElement e il flag ELEMENT_STATUS_INVERT sono entrambi validi.
ELEMENT_STATUS_PVOLTAG
Le informazioni sul volume primario nel membro PrimaryVolumeID sono valide.
ELEMENT_STATUS_AVOLTAG
Le informazioni sul volume alternative nel membro AlternateVolumeID sono valide.
ExceptionCode
Indica che l'elemento si trova in uno stato anomalo. Questo membro è valido solo se ELEMENT_STATUS_EXCEPT è impostato in Flag. ExceptionCode può essere impostato su uno dei valori seguenti.
ERROR_LABEL_UNREADABLE
Il lettore di codice a barre del modificatore non è riuscito a leggere l'etichetta del codice a barre sul supporto in questo elemento, perché il supporto manca, danneggiato, posizionato in modo non corretto o capovolto.
ERROR_LABEL_QUESTIONABLE
L'etichetta potrebbe non essere valida a causa di una condizione di attenzione dell'unità.
ERROR_SLOT_NOT_PRESENT
Lo slot in questo indirizzo di elemento non è attualmente installato nel modificatore. Un autista miniclasse imposta questo codice per ogni slot in una rivista rimovibile per indicare che la rivista è stata rimossa.
ERROR_DRIVE_NOT_INSTALLED
L'unità in questo indirizzo dell'elemento è assente. Se un modificatore può continuare a funzionare senza l'unità, il driver miniclasse imposta ERROR_DRIVE_NOT_INSTALLED per l'unità.
ERROR_TRAY_MALFUNCTION
L'unità in questo indirizzo dell'elemento ha una barra che deve essere estesa per caricare o rimuovere supporti e la barra non si estende come richiesto.
ERROR_UNHANDLED_ERROR
Condizione di errore sconosciuta.
TargetId
Specifica l'ID di destinazione SCSI dell'unità in corrispondenza dell'indirizzo di questo elemento per un modificatore SCSI. Questo membro è valido solo se ElementType nel membro Element è ChangerDrive e ELEMENT_STATUS_ID_VALID è impostato in Flags.
Lun
Specifica il numero di dispositivo SCSI dell'unità in corrispondenza dell'indirizzo dell'elemento. Questo membro è valido solo se ElementType nel membro Element è ChangerDrive e ELEMENT_STATUS_LUN_VALID è impostato in Flags.
Reserved
Riservato per utilizzi futuri. Il valore di questo membro deve essere zero.
PrimaryVolumeID[MAX_VOLUME_ID_SIZE]
Specifica l'identificatore del volume primario per il supporto. Se il modificatore supporta un lettore di codice a barre e il lettore è installato (come indicato da CHANGER_BAR_CODE_SCANNER_INSTALLED in Features0 di GET_CHANGER_PARAMETERS), il driver miniclasse deve impostare PrimaryVolumeID sul codice a barre del supporto. Se il modificatore non supporta un lettore di codice a barre, il driver miniclasse deve impostare PrimaryVolumeID sul valore assegnato in precedenza al supporto usando la routine ChangerQueryVolumeTags con un'azione ASSERT_PRIMARY o REPLACE_PRIMARY. Questo membro è valido solo se ELEMENT_STATUS_PVOLTAG è impostato anche in Flags. Se l'identificatore del volume è mancante o illeggibile, il driver miniclasse deve cancellare questo flag e impostare lo stato di errore appropriato. Questo identificatore non deve essere maggiore di MAX_VOLUME_ID_SIZE byte.
AlternateVolumeID[MAX_VOLUME_ID_SIZE]
Specifica l'identificazione alternativa del volume per il supporto. Questo membro è valido solo per i supporti affiancati e riguarda l'ID del lato invertito. Non rappresenta mai un codice a barre. Il driver miniclasse deve impostare AlternateVolumeID sul valore assegnato in precedenza al supporto usando la routine ChangerQueryVolumeTags con un'azione ASSERT_ALTERNATE o REPLACE_ALTERNATE. L'identificatore non deve essere maggiore di MAX_VOLUME_ID_SIZE byte ed è valido solo se ELEMENT_STATUS_AVOLTAG è impostato anche in Flag.
Commenti
Per la maggior parte dei tipi di elementi, i driver di miniclasse del modificatore usano CHANGER_ELEMENT_STATUS per segnalare lo stato degli elementi specificati al driver di classe del modificatore. Alcuni elementi di tipo ChangerDrive, tuttavia, restituiscono dati sulle informazioni sul prodotto. Se il dispositivo fornisce informazioni sul prodotto, il driver miniclasse segnala i dati sullo stato dell'elemento in una struttura di tipo CHANGER_ELEMENT_STATUS_EX anziché usare CHANGER_ELEMENT_STATUS. Il driver miniclasse indica che le informazioni sul prodotto sono presenti impostando ELEMENT_STATUS_PRODUCT_DATA nel membro Flags della struttura.
Requisiti
Requisito | Valore |
---|---|
Intestazione | ntddchgr.h |