struttura GET_CHANGER_PARAMETERS (winioctl.h)
Rappresenta i parametri di un modificatore.
Sintassi
typedef struct _GET_CHANGER_PARAMETERS {
DWORD Size;
WORD NumberTransportElements;
WORD NumberStorageElements;
WORD NumberCleanerSlots;
WORD NumberIEElements;
WORD NumberDataTransferElements;
WORD NumberOfDoors;
WORD FirstSlotNumber;
WORD FirstDriveNumber;
WORD FirstTransportNumber;
WORD FirstIEPortNumber;
WORD FirstCleanerSlotAddress;
WORD MagazineSize;
DWORD DriveCleanTimeout;
DWORD Features0;
DWORD Features1;
BYTE MoveFromTransport;
BYTE MoveFromSlot;
BYTE MoveFromIePort;
BYTE MoveFromDrive;
BYTE ExchangeFromTransport;
BYTE ExchangeFromSlot;
BYTE ExchangeFromIePort;
BYTE ExchangeFromDrive;
BYTE LockUnlockCapabilities;
BYTE PositionCapabilities;
BYTE Reserved1[2];
DWORD Reserved2[2];
} GET_CHANGER_PARAMETERS, *PGET_CHANGER_PARAMETERS;
Members
Size
Dimensioni di questa struttura, in byte. Il chiamante deve impostare questo membro su sizeof(GET_CHANGER_PARAMETERS)
.
NumberTransportElements
Numero di elementi di trasporto nel modificatore. Per un modificatore SCSI, questo valore viene definito nella pagina dell'indirizzo dell'elemento. Questo valore è quasi sempre 1, perché la maggior parte delle modifiche ha un singolo elemento di trasporto con uno o due meccanismi di selezione. Un cambio che dispone di due meccanismi di selezione nel trasporto non deve essere rappresentato come con due trasporti, perché i picker non sono indirizzabili singolarmente. Le librerie multimediali di fascia alta possono avere elementi di trasporto dual e multipli per la tolleranza di errore.
NumberStorageElements
Numero di elementi di archiviazione (slot) nel modificatore. Per un modificatore SCSI, questo valore viene definito nella pagina dell'indirizzo dell'elemento. Questo valore rappresenta il numero massimo di slot disponibili per questo cambio, inclusi quelli nelle riviste rimovibili, indipendentemente dal fatto che le riviste siano installate. Se NumberCleanerSlots è 1, NumberStorageElements è 1 minore del numero massimo di slot nel modificatore.
NumberCleanerSlots
Numero di elementi di archiviazione (slot) per le munizioni più pulite nel cambio. Se NumberCleanerSlots è 1, FirstCleanerSlotAddress indica l'indirizzo in base zero dello slot in cui deve essere inserito un pulitore di unità. Se il cambio non supporta la pulizia dell'unità spostando a livello di codice la stampante più pulita dallo slot a un'unità, NumberCleanerSlots è 0. NumberCleanerSlots non può essere maggiore di 1.
NumberIEElements
Numero di elementi di importazione/esportazione (porte di inserimento/espulsione) del modificatore per l'inserimento e l'espulsione di supporti. Per un modificatore SCSI, questo valore viene definito nella pagina dell'indirizzo dell'elemento. Un elemento di importazione/esportazione non deve far parte dello spazio dell'elemento di archiviazione (slot) e deve essere possibile trasportare supporti tra l'elemento di importazione/esportazione e uno slot usando un comando MOVE MEDIUM. Se il modificatore ha una porta e non un vero elemento di importazione/esportazione, NumberIEElements è 0.
NumberDataTransferElements
Numero di elementi di trasferimento dei dati (unità) nel modificatore. Per un modificatore SCSI, questo valore viene definito nella pagina dell'indirizzo dell'elemento. A differenza di NumberStorageElements, che indica il numero totale di slot possibili se gli slot sono effettivamente presenti, NumberDataTransferElements indica il numero di unità effettivamente presenti nel modificatore.
NumberOfDoors
Numero di porte nel cambio. Una porta consente l'accesso a tutti i supporti nel modificatore contemporaneamente, a differenza di una porta di inserimento/rimozione, che consente l'accesso a uno o più supporti, ma non a tutti. La porta di un cambiatore può essere una porta principale fisica o una singola rivista che contiene tutti i supporti. Se un modificatore supporta solo una porta di inserimento/espulsione per l'inserimento e l'espulsione di supporti, NumberOfDoors è 0.
FirstSlotNumber
Numero utilizzato dal fornitore del modificatore per identificare il primo elemento di archiviazione (slot) nel modificatore all'utente finale, contrassegnando una rivista o definendo uno schema di numerazione degli slot nella guida degli operatori del modificatore. FirstSlotNumber è in genere 0 o 1, ma può essere il primo indirizzo in un intervallo consecutivo di indirizzi slot definiti dal fornitore.
FirstDriveNumber
Numero utilizzato dal fornitore del modificatore per identificare il primo elemento di trasferimento dati (unità) nel modificatore all'utente finale. FirstDriveNumber è in genere 0 o 1, ma può essere il primo indirizzo in un intervallo consecutivo di indirizzi di unità definiti dal fornitore.
FirstTransportNumber
Numero utilizzato dal fornitore del modificatore per identificare il primo elemento di trasporto (e in genere solo) nel modificatore all'utente finale. FirstTransportNumber è in genere 0 o 1, ma può essere il primo indirizzo in un intervallo consecutivo di indirizzi di trasporto definiti dal fornitore.
FirstIEPortNumber
Numero utilizzato dal fornitore del modificatore per identificare la prima porta (e in genere solo) di inserimento/inserimento nel modificatore all'utente finale. FirstIEPortNumber è in genere 0 o 1, ma può essere il primo indirizzo in un intervallo consecutivo di indirizzi di porta di inserimento/espulsione definiti dal fornitore. Se NumberIEElements è 0, FirstIEPortNumber deve essere 0.
FirstCleanerSlotAddress
Numero utilizzato dal fornitore del modificatore per identificare il primo indirizzo (e solo) dello slot assegnato a una stampante più pulita per l'utente finale. Deve essere il valore definito dal fornitore nella guida degli operatori del modificatore. Ad esempio, se un modificatore ha 8 slot numerati da 1 a 8 e la guida dell'operatore designa lo slot 8 come slot di pulizia dell'unità, FirstSlotNumber sarà 1 e FirstCleanerSlotAddress sarà 8. Se gli stessi 8 slot erano numerati da 0 a 7, FirstSlotNumber sarebbe 0 e FirstCleanerSlotAddress sarebbe 7. Se NumberCleanerSlots è 0, FirstCleanerSlotAddress deve essere 0.
MagazineSize
Numero di slot nelle riviste rimovibili nel cambio. Questo membro è valido solo se CHANGER_CARTRIDGE_MAGAZINE è impostato in Features0.
DriveCleanTimeout
Il doppio del numero massimo di secondi che si prevede di eseguire una pulizia. Le unità del modificatore devono essere pulite dalla sua stampante più pulita nella metà del tempo specificato da DriveCleanTimeout. Ad esempio, se un'unità viene in genere pulita in 300 secondi (5 minuti), DriveCleanTimeout deve essere impostato su 600.
Features0
Funzionalità supportate dal modificatore. Questo membro può essere uno o più dei valori seguenti.
Valore | Significato |
---|---|
|
Il modificatore supporta un lettore di codice a barre e il lettore è installato. |
|
Il cambio utilizza riviste di munizioni rimovibili per alcuni o tutti gli slot di stoccaggio. |
|
Il flag ELEMENT_STATUS_ACCESS in una struttura di CHANGER_ELEMENT_STATUS per un elemento di trasporto dati non è valido quando l'elemento di trasporto contiene una stampante di pulizia. |
|
Il cambio ha uno slot designato per una stampante più pulita. Se questo flag è impostato, NumberCleanerSlots deve essere 1 e FirstCleanerSlotAddress deve specificare l'indirizzo dello slot più pulito. |
|
Il modificatore ha una porta di inserimento/espulsione e può ritirare la porta di inserimento/espulsione a livello di codice. |
|
Il modificatore può ricalibrare l'elemento di trasporto in risposta a un comando esplicito. |
|
Le unità del modificatore richiedono una pulizia periodica, che deve essere avviata dall'utente o da un'applicazione e il modificatore può utilizzare il relativo elemento di trasporto per montare una stampante più pulita in un'unità. |
|
Il modificatore richiede che tutte le unità siano vuote (smontate) prima di poter accedere attraverso la porta. |
|
Il modificatore può scambiare elementi multimediali tra gli elementi. Per un modificatore SCSI, questo flag indica se il modificatore supporta il comando EXCHANGE MEDIUM. |
|
Il modificatore può inizializzare gli elementi all'interno di un intervallo specificato. Per un modificatore SCSI, questo flag indica se il modificatore supporta il comando INITIALIZE ELEMENT STATUS WITH RANGE. |
|
Il tastierino del cambio può essere abilitato e disabilitato a livello di codice. |
|
La porta del cambio, la porta di inserimento/espulsione o il tastierino possono essere bloccati o sbloccati a livello di codice. Se questo flag è impostato, LockUnlockCapabilities indica quali elementi possono essere bloccati o sbloccati. |
|
L'elemento di trasporto del modificatore supporta il capovolgimento (rotazione). Per un modificatore SCSI, questo flag riflette il bit di rotazione nella pagina dei parametri della geometria di trasporto. |
|
Il modificatore ha una porta di inserimento/espulsione e può estendere la porta di inserimento/espulsione a livello di codice. |
|
Il modificatore può posizionare il trasporto in una destinazione specifica. Per un modificatore SCSI, questo flag indica se il modificatore supporta il comando POSITION TO ELEMENT. Se questo flag è impostato, PositionCapabilities indica gli elementi in cui è possibile posizionare il trasporto. |
|
Il modificatore richiede un comando esplicito emesso tramite un driver di archiviazione di massa (nastro, disco o CDROM, ad esempio) per espellere supporti da un'unità prima che il modificatore possa spostare il supporto da un'unità a uno slot. |
|
Il modificatore richiede un comando esplicito emesso tramite un driver di archiviazione di massa per espellere un meccanismo di unità prima che il modificatore possa spostare i supporti da uno slot all'unità. Ad esempio, un modificatore con unità CD-ROM potrebbe richiedere che il vassoio venga presentato al trasporto robotico in modo che un componente multimediale possa essere caricato nel vassoio durante un'operazione di montaggio. |
|
Il modificatore può segnalare se i supporti sono presenti nella porta di inserimento/rimozione. Un modificatore di questo tipo deve avere un sensore nella porta di inserimento/espulsione per rilevare la presenza o l'assenza di supporti. |
|
Il numero di serie è valido e univoco per tutti i modificatori di questo tipo. I numeri di serie non sono sicuramente univoci tra fornitori e linee di prodotto. |
|
Il modificatore usa la memoria non volatile per le informazioni sullo stato dell'elemento. |
|
Il modificatore può usare un'unità come elemento di archiviazione indipendente; ovvero può archiviare i supporti nell'unità senza leggerlo. Per un modificatore SCSI, questo flag riflette lo stato del bit DT nella pagina delle funzionalità del dispositivo. |
|
Il modificatore può usare una porta insert/eject come elemento di archiviazione indipendente. Per un modificatore SCSI, questo flag riflette lo stato del bit di I/E nella pagina delle funzionalità del dispositivo. |
|
Il modificatore può usare uno slot come elemento di archiviazione indipendente per i supporti. Per un modificatore SCSI, questo flag riflette lo stato del bit ST nella pagina delle funzionalità del dispositivo. Gli slot sono il normale percorso di archiviazione per i supporti, quindi il modificatore deve supportare questa funzionalità. |
|
Il modificatore può usare un trasporto come elemento di archiviazione indipendente. Per un modificatore SCSI, questo flag riflette lo stato del bit MT nella pagina delle funzionalità del dispositivo. |
|
Il modificatore può verificare le informazioni sul volume. Per un modificatore SCSI, questo flag indica se il modificatore supporta il comando SEND VOLUME TAG con un codice di azione send di ASSERT. |
|
Il modificatore supporta l'identificazione del volume. Per un modificatore SCSI, questo flag indica se il modificatore supporta i comandi SEND VOLUME TAG e REQUEST VOLUME ELEMENT ADDRESS. |
|
Il modificatore può sostituire le informazioni sul volume. Per un modificatore SCSI, questo flag indica se il modificatore supporta il comando SEND VOLUME TAG con un codice di azione send di REPLACE. |
|
Il modificatore può cercare informazioni sul volume. Per un modificatore SCSI, questo flag indica se il modificatore supporta il comando SEND VOLUME TAG con un codice di azione send di TRANSLATE. |
|
Il modificatore può cancellare le informazioni sul volume esistenti. Per un modificatore SCSI, questo flag indica se il modificatore supporta il comando SEND VOLUME TAG con un codice di azione send di UNDEFINE. |
Features1
Eventuali funzionalità aggiuntive supportate dal modificatore. Questo membro può essere uno o più dei valori seguenti.
MoveFromTransport
Indica se il modificatore supporta lo spostamento di un elemento multimediale da un elemento di trasporto a un altro elemento di trasporto, uno slot di archiviazione, una porta di inserimento/rimozione o un'unità. Per un modificatore SCSI, questo valore viene definito nella pagina delle funzionalità del dispositivo. Il trasporto non è in genere l'origine o la destinazione per lo spostamento o lo scambio di supporti.
Per determinare se il modificatore può spostare i supporti in un determinato elemento, usare i valori seguenti.
MoveFromSlot
Indica se il modificatore supporta lo spostamento di un supporto da uno slot di archiviazione a un elemento di trasporto, un altro slot di archiviazione, una porta di inserimento/espulsione o un'unità. Usare i flag descritti in MoveFromTransport per determinare se il modificatore supporta lo spostamento.
MoveFromIePort
Indica se il modificatore supporta lo spostamento di un supporto da una porta di inserimento/espulsione a un elemento di trasporto, uno slot di archiviazione, un'altra porta di inserimento/espulsione o un'unità. Per un modificatore SCSI, questo valore viene definito nella pagina delle funzionalità del dispositivo. Usare i flag descritti in MoveFromTransport per determinare se il modificatore supporta lo spostamento.
MoveFromDrive
Indica se il modificatore supporta lo spostamento di un supporto da un'unità a un elemento di trasporto, uno slot di archiviazione, una porta di inserimento/espulsione o un'altra unità. Usare i flag descritti in MoveFromTransport per determinare se il modificatore supporta lo spostamento.
ExchangeFromTransport
Indica se il modificatore supporta lo scambio di supporto tra un elemento di trasporto e un altro elemento di trasporto, uno slot di archiviazione, una porta di inserimento/espulsione o un'unità. Usare i flag descritti in MoveFromTransport per determinare se il modificatore supporta lo scambio.
ExchangeFromSlot
Indica se il modificatore supporta lo scambio di supporto tra uno slot di archiviazione e un elemento di trasporto, un altro slot di archiviazione, una porta di inserimento/espulsione o un'unità. Usare i flag descritti in MoveFromTransport per determinare se il modificatore supporta lo scambio.
ExchangeFromIePort
Indica se il modificatore supporta lo scambio di supporto tra una porta di inserimento/espulsione e un elemento di trasporto, uno slot di archiviazione, un'altra porta di inserimento/espulsione o un'unità. Usare i flag descritti in MoveFromTransport per determinare se il modificatore supporta lo scambio.
ExchangeFromDrive
Indica se il modificatore supporta lo scambio di supporto tra un'unità e un elemento di trasporto, uno slot di archiviazione, una porta di inserimento/espulsione o un'altra unità. Usare i flag descritti in MoveFromTransport per determinare se il modificatore supporta lo scambio.
LockUnlockCapabilities
Elementi di un modificatore che possono essere bloccati o sbloccati a livello di codice. Questo membro è valido solo se CHANGER_LOCK_UNLOCK è impostato in Features0.
Per determinare se il modificatore può bloccare o sbloccare un particolare elemento, usare uno o più dei valori seguenti.
PositionCapabilities
Elementi a cui un modificatore può posizionare il trasporto. Usare i flag descritti in MoveFromTransport per determinare se il modificatore supporta il posizionamento del trasporto in un particolare elemento. Questo membro è valido solo se CHANGER_POSITION_TO_ELEMENT è impostato in Features0.
Reserved1[2]
Riservato per usi futuri.
Reserved2[2]
Riservato per usi futuri.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP |
Server minimo supportato | Windows Server 2003 |
Intestazione | winioctl.h (include Windows.h) |