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
CHANGER_BAR_CODE_SCANNER_INSTALLED
0x00000001
Il modificatore supporta un lettore di codice a barre e il lettore è installato.
CHANGER_CARTRIDGE_MAGAZINE
0x00000100
Il cambio utilizza riviste di munizioni rimovibili per alcuni o tutti gli slot di stoccaggio.
CHANGER_CLEANER_ACCESS_NOT_VALID
0x00040000
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.
CHANGER_CLEANER_SLOT
0x00000040
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.
CHANGER_CLOSE_IEPORT
0x00000004
Il modificatore ha una porta di inserimento/espulsione e può ritirare la porta di inserimento/espulsione a livello di codice.
CHANGER_DEVICE_REINITIALIZE_CAPABLE
0x08000000
Il modificatore può ricalibrare l'elemento di trasporto in risposta a un comando esplicito.
CHANGER_DRIVE_CLEANING_REQUIRED
0x00010000
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à.
CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS
0x20000000
Il modificatore richiede che tutte le unità siano vuote (smontate) prima di poter accedere attraverso la porta.
CHANGER_EXCHANGE_MEDIA
0x00000020
Il modificatore può scambiare elementi multimediali tra gli elementi. Per un modificatore SCSI, questo flag indica se il modificatore supporta il comando EXCHANGE MEDIUM.
CHANGER_INIT_ELEM_STAT_WITH_RANGE
0x00000002
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.
CHANGER_KEYPAD_ENABLE_DISABLE
0x10000000
Il tastierino del cambio può essere abilitato e disabilitato a livello di codice.
CHANGER_LOCK_UNLOCK
0x00000080
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.
CHANGER_MEDIUM_FLIP
0x00000200
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.
CHANGER_OPEN_IEPORT
0x00000008
Il modificatore ha una porta di inserimento/espulsione e può estendere la porta di inserimento/espulsione a livello di codice.
CHANGER_POSITION_TO_ELEMENT
0x00000400
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.
CHANGER_PREDISMOUNT_EJECT_REQUIRED
0x00020000
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.
CHANGER_PREMOUNT_EJECT_REQUIRED
0x00080000
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.
CHANGER_REPORT_IEPORT_STATE
0x00000800
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.
CHANGER_SERIAL_NUMBER_VALID
0x04000000
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.
CHANGER_STATUS_NON_VOLATILE
0x00000010
Il modificatore usa la memoria non volatile per le informazioni sullo stato dell'elemento.
CHANGER_STORAGE_DRIVE
0x00001000
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.
CHANGER_STORAGE_IEPORT
0x00002000
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.
CHANGER_STORAGE_SLOT
0x00004000
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à.
CHANGER_STORAGE_TRANSPORT
0x00008000
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.
CHANGER_VOLUME_ASSERT
0x00400000
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.
CHANGER_VOLUME_IDENTIFICATION
0x00100000
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.
CHANGER_VOLUME_REPLACE
0x00800000
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.
CHANGER_VOLUME_SEARCH
0x00200000
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.
CHANGER_VOLUME_UNDEFINE
0x01000000
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.

Valore Significato
CHANGER_CLEANER_AUTODISMOUNT
0x80000004
Il cambio sposterà la stampante di pulizia al suo slot originale automaticamente al termine della pulizia.
CHANGER_CLEANER_OPS_NOT_SUPPORTED
0x80000040
Il modificatore non supporta la pulizia automatica degli elementi.
CHANGER_IEPORT_USER_CONTROL_CLOSE
0x80000100
Il modificatore richiede all'utente di chiudere manualmente una porta di inserimento/espulsione aperta.
CHANGER_IEPORT_USER_CONTROL_OPEN
0x80000080
Il modificatore richiede all'utente di aprire manualmente una porta di inserimento/espulsione chiusa.
CHANGER_MOVE_EXTENDS_IEPORT
0x80000200
Il modificatore estenderà automaticamente l'area di notifica ogni volta che viene eseguito un comando per spostare i supporti in una porta di inserimento/espulsione.
CHANGER_MOVE_RETRACTS_IEPORT
0x80000400
Il modificatore ritrarrà automaticamente l'area di notifica ogni volta che viene eseguito un comando per spostare i supporti da una porta di inserimento/espulsione.
CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE
0x80000002
Il modificatore richiede un comando esplicito per posizionare l'elemento di trasporto in un'unità prima di poter espellere supporti dall'unità.
CHANGER_PREDISMOUNT_ALIGN_TO_SLOT
0x80000001
Il modificatore richiede un comando esplicito per posizionare l'elemento di trasporto in uno slot prima di poter espellere supporti dallo slot.
CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR
0x80000020
Il modificatore richiede che il supporto venga restituito allo slot originale dopo che è stato spostato.
CHANGER_SLOTS_USE_TRAYS
0x80000010
Il cambio utilizza i vassoi rimovibili nei relativi slot, che richiedono che il supporto venga posizionato in un vassoio e il vassoio spostato nella posizione desiderata.
CHANGER_TRUE_EXCHANGE_CAPABLE
0x80000008
Il modificatore può scambiare supporti tra un'origine e una destinazione in una singola operazione. Questo flag è valido solo se CHANGER_EXCHANGE_MEDIA è impostato anche in Features0.

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.

Valore Significato
CHANGER_TO_DRIVE
0x08
Il modificatore può eseguire l'operazione dall'elemento specificato a un'unità.
CHANGER_TO_IEPORT
0x04
Il modificatore può eseguire l'operazione dall'elemento specificato a una porta insert/eject.
CHANGER_TO_SLOT
0x02
Il modificatore può eseguire l'operazione dall'elemento specificato a uno slot di archiviazione.
CHANGER_TO_TRANSPORT
0x01
Il modificatore può eseguire l'operazione dall'elemento specificato a un trasporto.

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.

Valore Significato
LOCK_UNLOCK_DOOR
0x02
Il cambio può bloccare o sbloccare la porta.
LOCK_UNLOCK_IEPORT
0x01
Il modificatore può bloccare o sbloccare la porta di inserimento/espulsione.
LOCK_UNLOCK_KEYPAD
0x04
Il modificatore può bloccare o sbloccare il tastierino.

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)

Vedi anche

IOCTL_CHANGER_GET_PARAMETERS