Share via


structure IDE_CONTROLLER_CONFIGURATION (irb.h)

La structure IDE_CONTROLLER_CONFIGURATION est utilisée pour transmettre les informations de configuration du contrôleur entre le pilote de port et le pilote miniport.

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_CONTROLLER_CONFIGURATION {
  USHORT                  Version;
  UCHAR                   NumberOfChannels;
  IDE_OPERATION_MODE      ControllerMode;
  UCHAR                   NumberOfPhysicalBreaks;
  ULONG                   MaximumTransferLength;
  BOOLEAN                 Reserved;
  BOOLEAN                 NativeModeEnabled;
  BOOLEAN                 Dma64BitAddress;
  BOOLEAN                 BusMaster;
  IDE_BUS_TYPE            AtaBusType;
  PIDE_MINIPORT_RESOURCES ControllerResources;
} IDE_CONTROLLER_CONFIGURATION, *PIDE_CONTROLLER_CONFIGURATION;

Membres

Version

Le pilote de port définit ce champ pour indiquer la version du pilote de port. Le pilote de port définit la version sur sizeof(IDE_CONTROLLER_CONFIGURATION). Le pilote miniport doit vérifier que la version est supérieure ou égale à celle qu’il utilise.

NumberOfChannels

Spécifie le nombre de canaux pris en charge par l’adaptateur HBA. Notez que cela indique le nombre total de canaux, y compris ceux qui sont désactivés.

ControllerMode

Le pilote de port définit ce champ pour informer le miniport ATA de quel mode il s’exécute. Il existe deux modes possibles :

Mode Description
IdeModeNormal Il s’agit du mode de fonctionnalités complètes standard où le miniport ATA peut fonctionner normalement.
IdeModeDump Il s’agit du mode d’absence de mémoire limité dans lequel un miniport ATA fonctionne pendant la mise en veille prolongée ou le crashdump. Les routines de rappel et les routines d’accès au Registre ne peuvent pas être utilisées dans ce mode.

NumberOfPhysicalBreaks

Spécifie le nombre maximal d’interruptions entre les plages d’adresses qu’une mémoire tampon de données peut avoir si l’adaptateur HBA prend en charge la diffusion/la collecte. En d’autres termes, le nombre de points ou de regroupements est moins un. Par défaut, la valeur de ce membre est IDE_UNINITIALIZED_VALUE, ce qui indique que l’adaptateur HBA peut prendre en charge un nombre illimité de discothèques physiques. Si le pilote de port définit une valeur pour ce membre, le pilote miniport peut ajuster la valeur inférieure, mais pas supérieure. Si ce membre est IDE_UNINITIALIZED_VALUE, le pilote miniport doit réinitialiser ce membre en fonction de la capacité de diffusion/collecte de l’adaptateur HBA.

MaximumTransferLength

Spécifie le nombre maximal d’octets que l’adaptateur HBA peut transférer dans une seule opération de transfert. Par défaut, la valeur de ce membre est IDE_UNINITIALIZED_VALUE, ce qui indique une taille de transfert maximale illimitée.

Reserved

Réservé pour un usage futur. Le pilote miniport ne doit pas utiliser ce champ.

NativeModeEnabled

Le pilote miniport peut définir ce membre sur TRUE pour indiquer que le contrôleur doit être utilisé en mode natif.

Dma64BitAddress

Le pilote miniport peut définir ce membre sur TRUE pour indiquer la prise en charge de l’opération DMA 64 bits.

BusMaster

Le pilote miniport peut définir ce membre sur TRUE pour indiquer la prise en charge du mastering de bus.

AtaBusType

Indique s’il s’agit d’un contrôleur SATA ou PATA.

ControllerResources

Fournit les ressources matérielles pour le contrôleur ATA.

Configuration requise

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