IDE_HW_CONTROL fonction de rappel (irb.h)
Le IdeHwControl routine de pilote miniport avertit le pilote miniport sur les événements Plug-and-Play (PnP) et d’alimentation.
Syntaxe
IDE_HW_CONTROL IdeHwControl;
BOOLEAN IdeHwControl(
[in] PVOID ChannelExtension,
[in] IDE_CONTROL_ACTION ControlAction,
[in, out] PVOID Parameters
)
{...}
Paramètres
[in] ChannelExtension
Pointeur vers l’extension de canal.
[in] ControlAction
Contient une valeur d’énumérateur de type IDE_CONTROL_ACTION qui indique l’action de contrôle à effectuer.
[in, out] Parameters
Pointeur vers une mémoire tampon qui contient les paramètres associés à l’action de contrôle. Ce paramètre peut avoir l’une des valeurs du tableau suivant.
Action de contrôle | Paramètres | Description |
---|---|---|
ideStart | Le paramètre pointe vers une structure de type IDE_CHANNEL_CONFIGURATION. | Indique que le pilote de port démarre le canal. |
IdeVendorDefined | Le paramètre pointe vers une structure de type IDE_VENDOR_DEFINED_POWER_INFO. | Indique qu’il existe un événement d’alimentation défini par le fournisseur. |
Valeur de retour
IdeHwControl retourne TRUE si l’opération a réussi. Sinon, elle retourne FALSE.
Remarques
Le pilote de port s’assure qu’il n’y a pas d’E/S en attente sur le canal avant qu’il n’appelle cette routine. Le pilote miniport peut avoir ses propres méthodes de stratégie d’alimentation lorsque le système entre dans un état d’alimentation différent. Pour ce faire, le pilote miniport doit effectuer les opérations suivantes :
- Ajoutez un schéma de paramètre de stratégie d’alimentation dans le fichier INF du pilote miniport. Un GUID est nécessaire pour présenter une stratégie d’alimentation définie par le pilote miniport. Pour plus d’informations sur la directive des paramètres d’alimentation, consultez directive AddPowerSetting INF. Pour plus d’informations sur les GUID, consultez les paramètres de disque .
- Lorsque la routine du pilote miniport IdeHwControl est appelée avec l’action de contrôle IdeStart:
- Vérifiez le champ SupportedAdvances.AdvancedChannelConfigurationSupported dans la structure ChannelConfiguration.
- Vérifiez le champ AdvancedChannelConfiguration->Present.VendorDefinedPower dans la structure ChannelConfiguration.
- Si les valeurs des deux champs répertoriés précédemment sont TRUE, cette version du pilote de port ATA prend en charge la gestion de l’alimentation définie par le fournisseur.
- Si la gestion de l’alimentation définie par le fournisseur est prise en charge par le pilote de port ATA, le pilote miniport peut s’inscrire à une gestion spéciale de la gestion de l’alimentation en définissant AdvancedChannelConfiguration ->VendorDefinedPower.ValidGuids et AdvancedChannelConfiguration ->champs VendorDefinedPower.Guid[] (ce dernier doit être le GUID de la stratégie d’alimentation dans le fichier INF du pilote miniport).
- Une fois la gestion de l’alimentation définie par le fournisseur inscrite, le pilote miniport peut recevoir des appels à sa routine IdeHwControl avec une action de contrôle IdeVendorDefined lorsque le schéma d’alimentation système change.
- Alors que le pilote miniport traite la routine IdeHwControl avec l’action de contrôle IdeVendorDefined, procédez comme suit :
- Comparez le champ SettingGuid à partir du champ de paramètre de la structure IDE_VENDOR_DEFINED_POWER_INFO avec le GUID que le pilote miniport a inscrit pour vous assurer que l’appel est destiné à ce canal. Si les GUID ne correspondent pas, le pilote miniport doit terminer l’appel et n’effectuer aucune action.
- Obtenez le champ Valeur à partir du champ de paramètre de la structure IDE_VENDOR_DEFINED_POWER_INFO et effectuez l’action de gestion de l’alimentation spécifique au pilote miniport appropriée.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Bureau |
d’en-tête | irb.h (include Irb.h) |