Partager via


IDE_TRANSFER_MODE_PARAMETERS structure (irb.h)

La structure IDE_TRANSFER_MODE_PARAMETERS est utilisée conjointement avec la routine AtaControllerTransferModeSelect du pilote miniport pour définir les paramètres du mode de transfert sur un canal.

Note Les modèles de pilote de port ATA et de pilote miniport ATA peuvent être modifiés ou indisponibles à l’avenir. Au lieu de cela, nous vous recommandons d’utiliser les modèles de pilote Storport et de pilote miniport Storport .
 

Syntaxe

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;

Membres

ChannelNumber

Indique le numéro de canal dont les paramètres de mode doivent être définis.

DeviceType[MAX_IDE_DEVICE]

Contient une valeur d’énumération de type IDE_DEVICE_TYPE qui indique le type d’appareil. Le pilote miniport ne doit pas sélectionner de mode de transfert si le type de périphérique est DeviceNotExist.

IoReadySupported[MAX_IDE_DEVICE]

Indique quand TRUE que le bit 11 du mot 49 des données d’identification de l’appareil indiqué est défini sur 1. Une requête IDE avec une valeur de fonction IRB_FUNCTION_ATA_IDENTIFY récupère les données d’identification d’un appareil. Pour plus d’informations sur les données d’identification ATA, consultez les sections du paquet d’informations Identifier l’appareil dans la version 6.0 de la spécification ATA/ATAPI.

DeviceTransferModeSupported[MAX_IDE_DEVICE]

Contient une bitmap qui indique les modes de transfert pris en charge pour chacun des appareils sur le canal. Le pilote de port définit ce membre. Le pilote miniport ne doit pas sélectionner un mode de transfert que le pilote de port ne prend pas en charge. Pour plus d’informations sur ce membre, consultez la section Remarques .

DeviceTransferModeCurrent[MAX_IDE_DEVICE]

Contient une bitmap qui indique les paramètres actuels du mode de transfert pour chacun des appareils sur le canal. Le pilote de port récupère le mode de transfert actuel des appareils à partir de leurs données d’identification. Pour plus d’informations sur ce membre, consultez la section Remarques .

DeviceTransferModeSelected[MAX_IDE_DEVICE]

Contient une bitmap qui indique les paramètres de mode de transfert sélectionnés pour chacun des appareils sur le canal. Le pilote miniport doit utiliser ce membre pour indiquer au pilote de port les modes de transfert qu’il sélectionne. Pour plus d’informations sur ce membre, consultez la section Remarques .

Remarques

Les tableaux de membres DeviceTransferModeSupported, DeviceTransferModeCurrent et DeviceTransferModeSelected sont des tableaux de bitmaps ULONG indiquant des combinaisons de modes de transfert PIO et DMA. Les bitmaps sont définies comme suit :

PIO Modes

#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)

Configuration requise

Condition requise Valeur
En-tête irb.h (include Irb.h)

Voir aussi

AtaControllerTransferModeSelect

IDE_DEVICE_TYPE