estrutura IDE_DEVICE_PARAMETERS (irb.h)
A estrutura IDE_DEVICE_PARAMETERS contém informações de configuração que o driver de porta fornece ao driver de miniporto para configurar um dispositivo.
Sintaxe
typedef struct _IDE_DEVICE_PARAMETERS {
USHORT Version;
IDE_DEVICE_TYPE IdeDeviceType;
UCHAR TargetId;
UCHAR MaximumLun;
UCHAR NumberOfOverlappedRequests;
UCHAR MaxBlockXfer;
USHORT DeviceCharacteristics;
ATA_ADDRESS_TRANSLATION AddressTranslation;
union {
LARGE_INTEGER MaxLba;
struct {
USHORT NumCylinders;
USHORT NumHeads;
USHORT NumSectorsPerTrack;
USHORT Reserved;
} Chs;
};
ULONG BytesPerLogicalSector;
ULONG BytesPerPhysicalSector;
ULONG BytesOffsetForSectorAlignment;
ULONG TransferModeSupported;
ULONG TransferModeSelected;
} IDE_DEVICE_PARAMETERS, *PIDE_DEVICE_PARAMETERS;
Membros
Version
Indica o tamanho da estrutura parâmetros do dispositivo . O driver de miniporta deve verificar se sizeof(IDE_DEVICE_PARAMETERS) é menor ou igual ao campo Versão .
IdeDeviceType
Indica o tipo do dispositivo. Os tipos de dispositivo permitidos são DeviceIsAta para dispositivos ATA, DeviceIsAtapi para dispositivos ATAPI e DeviceNotExist se nenhum dispositivo foi encontrado nesse endereço. Os outros campos nessa estrutura não serão válidos se IdeDeviceType estiver definido como DeviceNotExist.
TargetId
Especifica a ID de destino do dispositivo.
MaximumLun
O driver de miniporta deve atualizar esse campo para indicar o número máximo de unidade lógica com suporte neste dispositivo. Por padrão, o membro é definido como 0 indicando a existência de apenas um LUN.
NumberOfOverlappedRequests
O driver de miniporta deve atualizar esse campo para especificar o número de solicitações sobrepostas que ele pode manipular para este dispositivo. Por padrão, o membro é definido como 1.
MaxBlockXfer
Especifica o número de setores em um bloco de dados a serem transferidos. Esse valor se aplica aos blocos de dados usados em comandos de transferência de bloco do ATA, como Ler Vários (0xC4), Gravar Vários (0xC5). Para obter mais informações sobre os comandos ReadMultiple e WriteMultiple, consulte a Especificação do ATA.
DeviceCharacteristics
Especifica as características do dispositivo. A tabela a seguir lista as características que podem ser definidas nesse membro. O byte alto desse membro é opaco e não deve ser alterado pelo miniporto do ATA.
Característica do dispositivo | Descrição |
---|---|
DFLAGS_REMOVABLE_MEDIA | Indica que a unidade tem mídia removível |
DFLAGS_ REMOVABLE_DEVICE | Indica que o dispositivo pode ser desconectado com segurança |
DFLAGS_FUA_SUPPORT | Indica que o dispositivo dá suporte a FUA (Forçar Acesso à Unidade) |
DFLAGS_INT_DRQ | Indica que o dispositivo interrompe como DRQ é definido após receber o comando Pacote de ATAPI |
DFLAGS_MSN_SUPPORT | Indica que o dispositivo dá suporte à Notificação de Status de Mídia. |
AddressTranslation
Contém um valor de enumeração do tipo ATA_ADDRESS_TRANSLATION que especifica o tipo de conversão de endereço usado durante transferências de dados.
MaxLba
Especifica o LBA (endereço de bloco lógico) endereçável pelo usuário máximo. Esse membro é definido quando AddressTranslation é igual a LbaMode ou Lba48BitMode.
Chs
Especifica a geometria da unidade com os valores para o número de cilindros, cabeças por cilindro e os setores por faixa. Esse membro é definido quando AddressTranslation é igual a ChsMode.
Chs.NumCylinders
Chs.NumHeads
Chs.NumSectorsPerTrack
Chs.Reserved
BytesPerLogicalSector
Esse membro especifica o número de bytes por LBA (setor lógico) para o dispositivo fornecido.
BytesPerPhysicalSector
Esse membro especifica o número de bytes por setor físico (ou seja, a menor quantidade de dados que o dispositivo pode gravar fisicamente internamente) para o dispositivo especificado.
BytesOffsetForSectorAlignment
Esse membro especifica a localização do setor 0 no primeiro setor físico, conforme definido na especificação do ATA representada em bytes.
TransferModeSupported
Contém um bitmap que indica os modos de transferência com suporte.
TransferModeSelected
Indica os modos de transferência selecionados no dispositivo. O driver de miniporta deve definir esse membro.
Comentários
O driver de porta passa uma estrutura IDE_DEVICE_PARAMETERS para o driver de miniporto quando chama IdeHwInitialize.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | irb.h (incluir Irb.h) |