estrutura IDE_TRANSFER_MODE_PARAMETERS (irb.h)

A estrutura IDE_TRANSFER_MODE_PARAMETERS é usada em conjunto com a rotina AtaControllerTransferModeSelect do driver de miniport para definir os parâmetros do modo de transferência em um canal.

Nota Os modelos de driver de porta do ATA e do driver de miniporto do ATA podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver do Storport e do driver de miniporto storport .
 

Sintaxe

typedef struct _IDE_TRANSFER_MODE_PARAMETERS {
  UCHAR           ChannelNumber;
  IDE_DEVICE_TYPE DeviceType[MAX_IDE_DEVICE];
  BOOLEAN         IoReadySupported[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeSupported[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeCurrent[MAX_IDE_DEVICE];
  ULONG           DeviceTransferModeSelected[MAX_IDE_DEVICE];
} IDE_TRANSFER_MODE_PARAMETERS, *PIDE_TRANSFER_MODE_PARAMETERS;

Membros

ChannelNumber

Indica o número do canal cujos parâmetros de modo devem ser definidos.

DeviceType[MAX_IDE_DEVICE]

Contém um valor de enumeração do tipo IDE_DEVICE_TYPE que indica o tipo de dispositivo. O driver de miniporte não deverá selecionar um modo de transferência se o tipo de dispositivo for DeviceNotExist.

IoReadySupported[MAX_IDE_DEVICE]

Indica quando TRUE o bit 11 da palavra 49 dos dados de identificação do dispositivo indicado está definido como 1. Uma solicitação IDE com um valor de função de IRB_FUNCTION_ATA_IDENTIFY recuperará os dados de identificação de um dispositivo. Para obter mais informações sobre a identificação de dados do ATA, consulte as seções no pacote Identificar informações do dispositivo na versão 6.0 da especificação ATA/ATAPI.

DeviceTransferModeSupported[MAX_IDE_DEVICE]

Contém um bitmap que indica os modos de transferência com suporte para cada um dos dispositivos no canal. O driver de porta define esse membro. O driver de miniporte não deve selecionar um modo de transferência que o driver de porta não dá suporte. Para obter mais informações sobre esse membro, consulte a seção Comentários .

DeviceTransferModeCurrent[MAX_IDE_DEVICE]

Contém um bitmap que indica as configurações atuais do modo de transferência para cada um dos dispositivos no canal. O driver de porta recupera o modo de transferência atual dos dispositivos de seus dados de identificação do dispositivo. Para obter mais informações sobre esse membro, consulte a seção Comentários .

DeviceTransferModeSelected[MAX_IDE_DEVICE]

Contém um bitmap que indica as configurações de modo de transferência selecionadas para cada um dos dispositivos no canal. O driver de miniporte deve usar esse membro para indicar ao driver de porta quais modos de transferência ele seleciona. Para obter mais informações sobre esse membro, consulte a seção Comentários .

Comentários

As matrizes de membros DeviceTransferModeSupported, DeviceTransferModeCurrent e DeviceTransferModeSelected são matrizes de bitmaps ULONG que indicam combinações de modos de transferência PIO e DMA. Os bitmaps são definidos da seguinte maneira:

Modos PIO

#define PIO_MODE0           (1 << 0)
#define PIO_MODE1           (1 << 1)
#define PIO_MODE2           (1 << 2)
#define PIO_MODE3           (1 << 3)
#define PIO_MODE4           (1 << 4)

// Single-word DMA Modes

#define SWDMA_MODE0         (1 << 5)
#define SWDMA_MODE1         (1 << 6)
#define SWDMA_MODE2         (1 << 7)

// Multi-word DMA Modes

#define MWDMA_MODE0         (1 << 8)
#define MWDMA_MODE1         (1 << 9)
#define MWDMA_MODE2         (1 << 10)

// Ultra DMA Modes

#define UDMA_MODE0          (1 << 11)
#define UDMA_MODE1          (1 << 12)
#define UDMA_MODE2          (1 << 13)
#define UDMA_MODE3          (1 << 14)
#define UDMA_MODE4          (1 << 15)
#define UDMA_MODE5          (1 << 16)

Requisitos

Requisito Valor
Cabeçalho irb.h (inclua Irb.h)

Confira também

AtaControllerTransferModeSelect

IDE_DEVICE_TYPE