Partager via


IDE_CHANNEL_ENABLED fonction de rappel (irb.h)

La routine de pilote miniport AtaControllerChannelEnabled indique si le canal spécifié est activé.

Note

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

IDE_CHANNEL_ENABLED IdeChannelEnabled;

ATA_CHANNEL_STATE IdeChannelEnabled(
  PVOID ControllerExtension,
  ULONG Channel
)
{...}

Paramètres

ControllerExtension

[in] Pointeur vers l’extension du contrôleur.

Channel

[in] Canal à activer.

Valeur de retour

AtaControllerChannelEnabled retourne une valeur d’énumérateur de type ATA_CHANNEL_STATE, qui peut avoir l’une des valeurs suivantes :

Retourner le code Signification
ChannelStateEnabled Indique que le canal spécifié est activé.
ChannelStateDisabled Indique que le canal spécifié est désactivé.
ChannelStateUnKnown Indique que l’état du canal n’a pas pu être déterminé.

Remarques

La séquence suivante décrit comment le pilote miniport et le pilote de port interagissent pour déterminer quels canaux de contrôleur sont activés :

  1. Le pilote de port appelle la routine du pilote miniport AtaAdapterControl avec l’action de contrôle IdeStart.

  2. Alors que le pilote miniport traite la routine AtaAdapterControl avec l’action de contrôle IdeStart, il initialise le NumberOfChannels membre de IDE_CONTROLLER_CONFIGURATION pour indiquer le nombre de canaux activés.

  3. Une fois la routine AtaAdapterControl retournée, le pilote de port appelle AtaControllerChannelEnabled une fois pour chaque NumberOfChannels spécifié dans la structure ControllerConfiguration retournée par AtaAdapterControl.

Cette routine ne doit pas avoir d’étapes critiques pour l’opération du contrôleur. Il existe des situations, telles que lors d’une opération crashdump, où cette fonction ne sera pas appelée du tout. En outre, cette fonction n’est pas appelée lorsqu’un canal est redémarré, uniquement lorsque PCIIDEx répond à un IRP QueryDeviceRelations.

AtaControllerChannelEnabled est une routine facultative. Si le pilote miniport n’implémente pas cette routine, le pilote de port charge un gestionnaire par défaut. Si le pilote de port charge un gestionnaire par défaut, tous les canaux spécifiés par NumberOfChannels dans la structure ControllerConfiguration retournée par AtaAdapterControl lors de la gestion d’une action IdeStart sont supposés être activés. Cette routine permet à PCIIDEx de charger le pilote de port ATA uniquement pour les canaux activés. Cela permet la prise en charge des canaux partiellement alloués (par exemple, canal 0, canal 1, canal 3, canal 4 et canal 6, mais pas canal 2 et canal 5).

Exigences

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

Voir aussi

IDE_CONTROLLER_CONFIGURATION