estrutura GET_CHANGER_PARAMETERS (ntddchgr.h)

Recupera as características do alterador.

Sintaxe

typedef struct _GET_CHANGER_PARAMETERS {
  ULONG  Size;
  USHORT NumberTransportElements;
  USHORT NumberStorageElements;
  USHORT NumberCleanerSlots;
  USHORT NumberIEElements;
  USHORT NumberDataTransferElements;
  USHORT NumberOfDoors;
  USHORT FirstSlotNumber;
  USHORT FirstDriveNumber;
  USHORT FirstTransportNumber;
  USHORT FirstIEPortNumber;
  USHORT FirstCleanerSlotAddress;
  USHORT MagazineSize;
  ULONG  DriveCleanTimeout;
  ULONG  Features0;
  ULONG  Features1;
  UCHAR  MoveFromTransport;
  UCHAR  MoveFromSlot;
  UCHAR  MoveFromIePort;
  UCHAR  MoveFromDrive;
  UCHAR  ExchangeFromTransport;
  UCHAR  ExchangeFromSlot;
  UCHAR  ExchangeFromIePort;
  UCHAR  ExchangeFromDrive;
  UCHAR  LockUnlockCapabilities;
  UCHAR  PositionCapabilities;
  UCHAR  Reserved1[2];
  ULONG  Reserved2[2];
} GET_CHANGER_PARAMETERS, *PGET_CHANGER_PARAMETERS;

Membros

Size

O tamanho dessa estrutura em bytes. Defina como sizeof(GET_CHANGER_PARAMETERS). Na verdade, esse membro indica a versão dessa estrutura que está sendo usada pelo driver de miniclasse.

NumberTransportElements

Indica o número de elementos de transporte no alterador. Para um alterador SCSI, isso é definido na página de endereço do elemento. Esse valor é quase sempre 1, pois a maioria dos alteradores tem um único elemento de transporte, que pode ter um ou dois mecanismos de seletor. Um alterador que tem dois mecanismos de seletor em seu transporte não deve ser representado como tendo dois transportes, pois os seletores não podem ser abordados individualmente. Bibliotecas de mídia high-end podem ter elementos de transporte duplos e múltiplos para tolerância a falhas.

NumberStorageElements

Indica o número de elementos de armazenamento (slots) no alterador. Para um alterador SCSI, isso é definido na página de endereço do elemento. Esse valor representa o número máximo de slots disponíveis para esse alterador, incluindo aqueles em revistas removíveis, se as revistas estão instaladas. Se NumberCleanerSlots for 1, NumberStorageElements será 1 menor que o número máximo de slots no alterador.

NumberCleanerSlots

Indica o número de elementos de armazenamento (slots) para cartuchos mais limpos no alterador. Para um alterador SCSI, esse valor não é relatado em dados de sensor de modo, portanto, o driver de miniclasse deve fornecê-lo. O driver de miniclasse deve definir NumberCleanerSlots como 1 somente se o guia do operador para o alterador identificar um slot específico como um slot mais limpo. Se NumberCleanerSlots for 1, FirstCleanerSlotAddress indicará o endereço baseado em zero do slot no qual um limpador de unidade deve ser inserido. Se o alterador não der suporte à limpeza da unidade movendo programaticamente o cartucho mais limpo de seu slot para uma unidade, o driver de miniclasse deverá definir NumberCleanerSlots como 0. NumberCleanerSlots não deve ser maior que 1.

NumberIEElements

Indica o número de elementos IEport que o alterador tem para inserir e ejetar mídia. Para um alterador SCSI, isso é definido na página de endereço do elemento. Um elemento IEport não deve fazer parte do espaço do elemento de armazenamento (slot) e deve ser possível transportar mídia entre o IEport e um slot usando um comando MOVE MEDIUM SCSI. Se o trocador tiver uma porta e não um IEport verdadeiro, o driver de miniclasse deverá definir NumberIEElements como 0.

NumberDataTransferElements

Indica o número de elementos de transferência de dados (unidades) no alterador. Para um alterador SCSI, isso é definido na página de endereço do elemento. Ao contrário de NumberStorageElements, que indica o número total de slots possíveis se os slots estão realmente presentes, NumberDataTransferElements indica o número de unidades que estão realmente presentes no alterador.

NumberOfDoors

Indica o número de portas que o trocador tem. Para um alterador SCSI, esse valor não é relatado em dados de sensor de modo, portanto, o driver de miniclasse deve fornecê-lo. Uma porta fornece acesso a todas as mídias no alterador ao mesmo tempo, ao contrário de um IEport que fornece acesso a uma ou mais mídias, mas não a todos. A porta de um divisor pode ser uma porta da frente física ou uma única revista que contém toda a mídia. Se um alterador der suporte apenas a um IEport para inserir e ejetar mídia, NumberOfDoors deverá ser 0.

FirstSlotNumber

Indica o número usado pelo fornecedor do alterador para identificar o primeiro elemento de armazenamento (slot) no alterador para o usuário final, marcando uma revista ou definindo um esquema de numeração de slot no guia de operadores do alterador. FirstSlotNumber normalmente é 0 ou 1, mas pode ser o primeiro endereço em um intervalo consecutivo de endereços de slot definidos pelo fornecedor.

FirstDriveNumber

Indica o número usado pelo fornecedor do alterador para identificar o primeiro elemento de transferência de dados (unidade) no alterador para o usuário final. FirstDriveNumber normalmente é 0 ou 1, mas pode ser o primeiro endereço em um intervalo consecutivo de endereços de unidade definidos pelo fornecedor.

FirstTransportNumber

Indica o número usado pelo fornecedor do alterador para identificar o primeiro (e geralmente apenas) elemento de transporte no alterador para o usuário final. FirstTransportNumber normalmente é 0 ou 1, mas pode ser o primeiro endereço em um intervalo consecutivo de endereços de transporte definidos pelo fornecedor.

FirstIEPortNumber

Indica o número usado pelo fornecedor do alterador para identificar o primeiro (e geralmente apenas) IEport no alterador para o usuário final. FirstIEPortNumber normalmente é 0 ou 1, mas pode ser o primeiro endereço em um intervalo consecutivo de endereços IEport definidos pelo fornecedor. Se NumberIEElements for 0, FirstIEPortNumber também deverá ser 0.

FirstCleanerSlotAddress

Indica o número usado pelo fornecedor do alterador para identificar o primeiro (e único) endereço de slot atribuído a um cartucho de limpador de unidade para o usuário final. Esse deve ser o valor definido pelo fornecedor no guia de operadores do alterador. Por exemplo, se um alterador tiver 8 slots numerados de 1 a 8 e o guia do operador designar o slot 8 como o slot de limpeza de unidade, FirstSlotNumber será 1 e FirstCleanerSlotAddress será 8. Se os mesmos 8 slots fossem numerados de 0 a 7, FirstSlotNumber seria 0 e FirstCleanerSlotAddress seria 7. Se NumberCleanerSlots for 0, FirstCleanerSlotAddress deverá ser 0.

MagazineSize

Indica o número de slots nas revistas removíveis no alterador. Esse membro só será válido se CHANGER_CARTRIDGE_MAGAZINE estiver definido em Recursos0.

DriveCleanTimeout

Indica o dobro do número máximo de segundos que uma limpeza deve levar. As unidades do modificador devem ser limpas por seu cartucho mais limpo na metade do tempo especificado por DriveCleanTimeout. Por exemplo, se uma unidade normalmente for limpa em 300 segundos (5 minutos), DriveCleanTimeout deverá ser definido como 600.

Features0

Indica os recursos compatíveis com o alterador. Esse membro pode ter um ou mais dos seguintes valores bit a bit ORed juntos.

CHANGER_BAR_CODE_SCANNER_INSTALLED

O alterador dá suporte a um leitor de código de barras e o leitor está instalado. Um driver de miniclasse não deve codificar esse sinalizador, a menos que o leitor de código de barra do alterador esteja sempre instalado. Se o leitor de código de barra for opcional, o driver de miniclasse deverá determinar se o leitor está realmente instalado e definir o sinalizador adequadamente.

CHANGER_INIT_ELEM_STAT_WITH_RANGE

O alterador pode inicializar elementos dentro de um intervalo especificado. Para um alterador SCSI, esse sinalizador indica se o alterador dá suporte ao comando INITIALIZE ELEMENT STATUS WITH RANGE SCSI.

CHANGER_CLOSE_IEPORT

O alterador tem um IEport e pode retirar o IEport programaticamente.

CHANGER_OPEN_IEPORT

O alterador tem um IEport e pode estender o IEport programaticamente.

CHANGER_STATUS_NON_VOLATILE

O alterador usa memória não volátil para informações de status elemento.

CHANGER_EXCHANGE_MEDIA

Dá suporte ao comando EXCHANGE MEDIUM SCSI manipulando dois volumes de cada vez ou usando outros elementos de alterador para emular essa funcionalidade.

CHANGER_CLEANER_SLOT

Indica que o modificador tem um slot específico designado para um cartucho mais limpo. Se esse sinalizador estiver definido, NumberCleanerSlots deverá ser um e FirstCleanerSlotAddress deverá especificar o endereço do slot mais limpo. Esse bit só poderá ser definido se CHANGER_DRIVE_CLEANING_REQUIRED estiver definido e CHANGER_CLEANER_OPS_NOT_SUPPORTED for redefinido.

CHANGER_LOCK_UNLOCK

A porta do alterador, o IEport ou o teclado podem ser bloqueados ou desbloqueados programaticamente. Se esse sinalizador estiver definido, LockUnlockCapabilities indicará quais elementos podem ser bloqueados ou desbloqueados.

CHANGER_CARTRIDGE_MAGAZINE

O alterador usa revistas de cartucho removíveis para alguns ou todos os slots de armazenamento.

CHANGER_MEDIUM_FLIP

O elemento de transporte do alterador dá suporte à mídia de inversão (rotação). Para um alterador SCSI, esse sinalizador reflete o bit de rotação na página de parâmetros de geometria de transporte.

CHANGER_POSITION_TO_ELEMENT

O alterador pode posicionar o transporte para um destino específico. Para um alterador SCSI, esse sinalizador indica se o alterador dá suporte ao comando SCSI POSITION TO ELEMENT. Se esse sinalizador for definido, PositionCapabilities indicará os elementos aos quais o transporte pode ser posicionado.

CHANGER_REPORT_IEPORT_STATE

O alterador pode relatar se a mídia está presente no IEport. Esse alterador deve ter um sensor no IEport para detectar a presença ou ausência de mídia.

CHANGER_STORAGE_DRIVE

O alterador pode usar uma unidade como um elemento de armazenamento independente; ou seja, ele pode armazenar mídia na unidade sem lê-la. Para um alterador SCSI, esse sinalizador reflete o estado do bit DT na página de recursos do dispositivo.

CHANGER_STORAGE_IEPORT

O alterador pode usar um IEport como um elemento de armazenamento independente. Para um alterador SCSI, esse sinalizador reflete o estado do bit de E/S na página de recursos do dispositivo.

CHANGER_STORAGE_SLOT

O alterador pode usar um slot como um elemento de armazenamento independente para mídia. Para um alterador SCSI, esse sinalizador reflete o estado do bit ST na página de recursos do dispositivo. Os slots são o local de armazenamento normal para mídia, portanto, o alterador deve dar suporte a essa funcionalidade.

CHANGER_STORAGE_TRANSPORT

O alterador pode usar um transporte como um elemento de armazenamento independente. Para um alterador SCSI, esse sinalizador reflete o estado do bit MT na página de recursos do dispositivo.

CHANGER_DRIVE_CLEANING_REQUIRED

Indica que as unidades do alterador podem relatar periodicamente códigos de sensor que indicam que a unidade requer limpeza.

CHANGER_PREDISMOUNT_EJECT_REQUIRED

O alterador requer um comando explícito emitido por meio de um driver de armazenamento em massa (fita, disco ou CD-ROM, por exemplo) para ejetar a mídia de uma unidade antes que o alterador possa mover a mídia de uma unidade para um slot. Se o alterador ejetar a mídia automaticamente, o driver de miniclasse deverá limpar esse sinalizador.

CHANGER_CLEANER_ACCESS_NOT_VALID

O sinalizador ELEMENT_STATUS_ACCESS em uma estrutura CHANGER_ELEMENT_STATUS para um elemento de transporte de dados é inválido quando o elemento de transporte contém um cartucho de limpeza.

CHANGER_DRIVE_EMPTY_ON_DOOR_ACCESS

O alterador exige que todas as unidades estejam vazias (desmontadas) antes que possam ser acessadas por meio de sua porta. O driver de miniclasse deverá definir esse sinalizador se o alterador tiver unidades sensíveis a estáticas que possam ser afetadas por um operador que obtenha acesso ao interior do alterador ou se o alterador ejetar automaticamente a mídia de suas unidades quando o operador tentar abrir fisicamente a porta.

CHANGER_VOLUME_IDENTIFICATION

O alterador dá suporte à identificação de volume. Para um alterador SCSI, esse sinalizador indica se o alterador dá suporte aos comandos SEND VOLUME TAG e REQUEST VOLUME ELEMENT ADDRESS SCSI.

O alterador pode pesquisar informações de volume. Para um alterador SCSI, esse sinalizador indica se o alterador dá suporte ao dá suporte ao comando SEND VOLUME TAG SCSI com um código de ação de envio de TRANSLATE.

CHANGER_VOLUME_ASSERT

O alterador pode verificar informações de volume. Para um alterador SCSI, esse sinalizador indica se o alterador dá suporte ao comando SEND VOLUME TAG SCSI com um código de ação de envio assert.

CHANGER_VOLUME_REPLACE

O alterador pode substituir informações de volume. Para um alterador SCSI, esse sinalizador indica se o alterador dá suporte ao comando SEND VOLUME TAG SCSI com um código de ação de envio de REPLACE.

CHANGER_VOLUME_UNDEFINE

O alterador pode limpar as informações de volume existentes. Para um alterador SCSI, esse sinalizador indica se o alterador dá suporte ao dá suporte ao comando SEND VOLUME TAG SCSI com um código de ação de envio de UNDEFINE.

CHANGER_SERIAL_NUMBER_VALID

O número de série relatado por GetProductData é válido e exclusivo para todos os alteradores desse tipo. Não há garantia de que os números de série sejam exclusivos entre as linhas de fornecedor e produto. Se o número de série do alterador for exclusivo de acordo com essa definição, o driver de miniclasse deverá definir esse sinalizador e definir SerialNumber em CHANGER_PRODUCT_DATA como o número de série.

CHANGER_PREMOUNT_EJECT_REQUIRED

O alterador requer um comando explícito emitido por meio de um driver de armazenamento em massa para ejetar um mecanismo de unidade antes que o alterador possa mover a mídia de um slot para a unidade. Por exemplo, um alterador com unidades CD-ROM pode exigir que a bandeja seja apresentada ao transporte robótico para que um pedaço de mídia possa ser carregado na bandeja durante uma operação de montagem. Se o alterador ejetar o mecanismo automaticamente, o driver de miniclasse deverá limpar esse sinalizador.

CHANGER_DEVICE_REINITIALIZE_CAPABLE

O alterador pode recalibrar seu elemento de transporte em resposta a um comando explícito. O driver da classe changer chama ChangerReinitializeUnit para iniciar a recalibração.

CHANGER_KEYPAD_ENABLE_DISABLE

O teclado do alterador pode ser habilitado e desabilitado programaticamente.

CHANGER_RESERVED_BIT

Reservado para indicar sinalizadores Features1 .

Features1

Indica recursos adicionais compatíveis com o alterador. Esse membro pode ter um ou mais dos seguintes valores bit a bit ORed juntos.

CHANGER_PREDISMOUNT_ALIGN_TO_SLOT

Indica que o transporte deve ser movido para o slot de destino antes de mover a mídia de uma unidade para o slot. O bit CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE deverá ser redefinido se isso estiver definido.

CHANGER_PREDISMOUNT_ALIGN_TO_DRIVE

Indica que o transporte deve ser movido para a unidade antes de mover a mídia da unidade para um slot. O bit CHANGER_PREDISMOUNT_ALIGN_TO_SLOT deverá ser redefinido se isso estiver definido.

CHANGER_CLEANER_AUTODISMOUNT

Indica que o alterador moverá o cartucho de limpeza de volta para o slot original automaticamente, depois que a limpeza for concluída. Esse bit só poderá ser definido se CHANGER_DRIVE_CLEANING_REQUIRED estiver definido e CHANGER_CLEANER_OPS_NOT_SUPPORTED for redefinido.

CHANGER_TRUE_EXCHANGE_CAPABLE

O dispositivo pode manipular dois volumes por vez sem usar elementos de alterador adicionais.

CHANGER_SLOTS_USE_TRAYS

O alterador usa bandejas removíveis em seus slots, que exigem que a mídia seja colocada em uma bandeja e a bandeja movida para a posição desejada.

CHANGER_RTN_MEDIA_TO_ORIGINAL_ADDR

Indica que, ao mover o volume da unidade para o slot, o volume deve voltar para o mesmo slot do qual foi movido anteriormente para a unidade.

CHANGER_CLEANER_OPS_NOT_SUPPORTED

Indica que o transporte do alterador não pode ser comandado programaticamente pelo software acima do driver de alteração para mover um cartucho de limpeza para uma unidade de sujo. Esse bit só poderá ser definido se o bit CHANGER_DRIVE_CLEANING_REQUIRED estiver definido. Se esse bit for definido, CHANGER_CLEANER_AUTODISMOUNT e CHANGER_CLEANER_SLOT deverão ser redefinidos.

CHANGER_IEPORT_USER_CONTROL_OPEN

O alterador exige que o usuário abra manualmente um IEport fechado.

CHANGER_IEPORT_USER_CONTROL_CLOSE

O alterador exige que o usuário feche manualmente um IEport aberto.

CHANGER_MOVE_EXTENDS_IEPORT

O alterador estenderá a bandeja automaticamente sempre que um comando for emitido para mover a mídia para um IEport.

CHANGER_MOVE_RETRACTS_IEPORT

O alterador retirará a bandeja automaticamente sempre que um comando for emitido para mover a mídia de um IEport.

MoveFromTransport

Indica se o alterador dá suporte à movimentação de uma parte da mídia de um elemento de transporte para outro elemento de transporte, um slot de armazenamento, um IEport ou uma unidade. Para um alterador SCSI, isso é definido na página de funcionalidades do dispositivo. O transporte normalmente não é a origem ou o destino para mover ou trocar mídia.

Os chamadores podem usar as máscaras a seguir para determinar se o alterador pode mover a mídia para um determinado elemento.

CHANGER_TO_TRANSPORT

O alterador pode executar a operação do elemento especificado para um transporte.

CHANGER_TO_SLOT

O alterador pode executar a operação do elemento especificado para um slot de armazenamento.

CHANGER_TO_IEPORT

O alterador pode executar a operação do elemento especificado para um IEport.

CHANGER_TO_DRIVE

O alterador pode executar a operação do elemento especificado para uma unidade.

MoveFromSlot

Indica se o alterador dá suporte à movimentação média de um slot de armazenamento para um elemento de transporte, outro slot de armazenamento, um IEport ou uma unidade. Os chamadores podem usar as máscaras descritas em MoveFromTransport para determinar se o alterador dá suporte à movimentação.

MoveFromIePort

Indica se o alterador dá suporte à movimentação média de um IEport para um elemento de transporte, um slot de armazenamento, outro IEport ou uma unidade. Para um alterador SCSI, isso é definido na página de funcionalidades do dispositivo. Os chamadores podem usar as máscaras descritas em MoveFromTransport para determinar se o alterador dá suporte à movimentação

MoveFromDrive

Indica se o alterador dá suporte à movimentação média de uma unidade para um elemento de transporte, um slot de armazenamento, um IEport ou outra unidade. Os chamadores podem usar as máscaras descritas em MoveFromTransport para determinar se o alterador dá suporte à movimentação.

ExchangeFromTransport

Indica se o alterador dá suporte à troca de mídia entre um elemento de transporte e outro elemento de transporte, um slot de armazenamento, um IEport ou uma unidade. Os chamadores podem usar as máscaras descritas em MoveFromTransport para determinar se o alterador dá suporte à troca.

ExchangeFromSlot

Indica se o alterador dá suporte à troca de mídia entre um slot de armazenamento e um elemento de transporte, outro slot de armazenamento, um IEport ou uma unidade. Os chamadores podem usar as máscaras descritas em MoveFromTransport para determinar se o alterador dá suporte à troca.

ExchangeFromIePort

Indica se o alterador dá suporte à troca de mídia entre um IEport e um elemento de transporte, um slot de armazenamento, outro IEport ou uma unidade. Os chamadores podem usar as máscaras descritas em MoveFromTransport para determinar se o alterador dá suporte à troca.

ExchangeFromDrive

Indica se o alterador dá suporte à troca de média entre uma unidade e um elemento de transporte, um slot de armazenamento, um IEport ou outra unidade. Os chamadores podem usar as máscaras descritas em MoveFromTransport para determinar se o alterador dá suporte à troca.

LockUnlockCapabilities

Indica quais elementos de um alterador podem ser bloqueados ou desbloqueados programaticamente. Esse membro só será válido se CHANGER_LOCK_UNLOCK estiver definido em Recursos0.

Os chamadores podem usar as máscaras a seguir para determinar se o alterador pode bloquear ou desbloquear um elemento específico.

LOCK_UNLOCK_IEPORT

O alterador pode bloquear ou desbloquear seus IEport(s).

LOCK_UNLOCK_DOOR

O alterador pode bloquear ou desbloquear sua porta.

LOCK_UNLOCK_KEYPAD

O alterador pode bloquear ou desbloquear seu teclado.

PositionCapabilities

Indica os elementos para os quais um alterador pode posicionar seu transporte. Os chamadores podem usar as máscaras descritas em MoveFromTransport para determinar se o alterador dá suporte ao posicionamento do transporte para um elemento específico. Esse membro só será válido se CHANGER_POSITION_TO_ELEMENT estiver definido em Recursos0.

Reserved1[2]

Reservado para uso futuro.

Reserved2[2]

Reservado para uso futuro.

Comentários

GET_CHANGER_PARAMETERS contém os parâmetros de um alterador. O driver de miniclasse do alterador aloca e preenche essa estrutura quando solicitado pelo driver de classe do alterador.

Requisitos

Requisito Valor
Cabeçalho ntddchgr.h

Confira também

ChangerGetParameters