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