Partager 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.

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

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’elle 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 auquel 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 mémoire limité dans lequel un miniport ATA fonctionne pendant une mise en veille prolongée ou un 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 le nuage de points/collecte. En d’autres termes, le nombre de listes de points/regroupements 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 discontinuités physiques. Si le pilote de port définit une valeur pour ce membre, le pilote miniport peut ajuster la valeur inférieure, mais pas plus élevée. Si ce membre est IDE_UNINITIALIZED_VALUE, le pilote miniport doit réinitialiser ce membre en fonction de la capacité de nuage de points/de collecte du 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 une utilisation ultérieure. 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 du contrôleur ATA.

Exigences

Exigence Valeur
d’en-tête irb.h (include Irb.h)