GET_CHANGER_PARAMETERS estrutura (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. Definido como tamanho de(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 modificador que tenha dois mecanismos de seletor em seu transporte não deve ser representado como tendo dois transportes, pois os seletores não podem ser tratados individualmente. As bibliotecas de mídia high-end podem ter dois e vários elementos de transporte 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 sentido 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 oferecer 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 alterador 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 changer.
NumberOfDoors
Indica o número de portas que o alterador tem. Para um alterador SCSI, esse valor não é relatado em dados de sentido de modo, portanto, o driver de miniclasse deve fornecê-lo. Uma porta fornece acesso a todas as mídias do alterador ao mesmo tempo, ao contrário de um IEport que fornece acesso a uma ou mais mídias, mas não a todos. Uma porta do divisor pode ser uma porta física da frente ou uma única revista que contém toda a mídia. Se um changer oferecer suporte apenas a um IEport para inserir e ejetar mídia, o NumberOfDoors deverá ser 0.
FirstSlotNumber
Indica o número usado pelo fornecedor do changer 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 changer para identificar o primeiro elemento de transferência de dados (unidade) no changer 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 changer para identificar o primeiro elemento de transporte (e geralmente somente) no changer 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 changer para identificar o primeiro (e geralmente apenas) IEport no changer 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 changer para identificar o primeiro (e somente) 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 modificador 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 seria 1 e FirstCleanerSlotAddress seria 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 no Features0.
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 definida como 600.
Features0
Indica os recursos compatíveis com o changer. 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 barra 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 modificador 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 em 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 changer tem um IEport e pode retrair o IEport programaticamente.
CHANGER_OPEN_IEPORT
O changer tem um IEport e pode estender o IEport programaticamente.
CHANGER_STATUS_NON_VOLATILE
O alterador usa memória nãovolatile para informações de status do elemento.
CHANGER_EXCHANGE_MEDIA
Dá suporte ao comando EXCHANGE MEDIUM SCSI manipulando dois volumes de cada vez ou usando outros elementos do changer para emular essa funcionalidade.
CHANGER_CLEANER_SLOT
Indica que o modificador tem um slot específico designado para um cartucho de limpeza. 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 removíveis para alguns ou todos os slots de armazenamento.
CHANGER_MEDIUM_FLIP
O elemento de transporte do alterador dá suporte à inversão (rotação) da mídia. 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 POSITION TO ELEMENT SCSI. Se esse sinalizador estiver 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 sentido 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 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 de 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 modificador requer que todas as unidades estejam vazias (desmontadas) antes que possam ser acessadas por meio de sua porta. O driver de miniclasse deve definir esse sinalizador se o alterador tiver unidades estáticas que podem ser afetadas por um operador que obtém acesso ao interior do alterador ou se o alterador ejeta automaticamente a mídia de suas unidades quando o operador tenta 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 SCSI.
CHANGER_VOLUME_SEARCH
O alterador pode pesquisar 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 TRANSLATE.
CHANGER_VOLUME_ASSERT
O alterador pode verificar as 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 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 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 para 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 de 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 de classe do alterador chama ChangerReinitizeUnit 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 changer. 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 deve 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 de cada vez sem usar elementos de alteração 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 do modificador para mover um cartucho de limpeza para uma unidade suja. Esse bit só poderá ser definido se o bit CHANGER_DRIVE_CLEANING_REQUIRED estiver definido. Se esse bit estiver definido, CHANGER_CLEANER_AUTODISMOUNT e CHANGER_CLEANER_SLOT deverão ser redefinidos.
CHANGER_IEPORT_USER_CONTROL_OPEN
O alterador requer 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. Normalmente, o transporte 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 meio 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 meio 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 meio 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 meio 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 no Features0.
Os chamadores podem usar as máscaras a seguir para determinar se o alterador pode bloquear ou desbloquear um determinado elemento.
LOCK_UNLOCK_IEPORT
O alterador pode bloquear ou desbloquear seu IEport(s).
LOCK_UNLOCK_DOOR
O alterador pode bloquear ou destrancar sua porta.
LOCK_UNLOCK_KEYPAD
O alterador pode bloquear ou desbloquear seu teclado.
PositionCapabilities
Indica os elementos aos 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 no Features0.
Reserved1[2]
Reservado para uso futuro.
Reserved2[2]
Reservado para uso futuro.
Observações
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 |