EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN fonction de rappel (acxcircuit.h)

Le rappel EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN est utilisé par le pilote pour ajouter des fonctionnalités dans le chemin d’arrêt d’un objet ACXFACTORYCIRCUIT.

Syntaxe

EVT_ACX_FACTORY_CIRCUIT_POWER_DOWN EvtAcxFactoryCircuitPowerDown;

NTSTATUS EvtAcxFactoryCircuitPowerDown(
  WDFDEVICE Device,
  ACXFACTORYCIRCUIT Factory,
  WDF_POWER_DEVICE_STATE TargetState
)
{...}

Paramètres

Device

Objet WDFDEVICE (décrit dans Summary of Framework Objects) associé au circuit ACX.

Factory

Objet ACXFACTORYCIRCUIT de la fabrique de circuits existante. Pour plus d’informations sur les objets ACX, consultez Résumé des objets ACX.

TargetState

Énumération WDF_POWER_DEVICE_STATE qui identifie l’état d’alimentation de l’appareil cible.

Valeur retournée

Retourne STATUS_SUCCESS si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Utilisation de valeurs NTSTATUS.

Remarques

Pour inscrire une fonction de rappel EvtAcxFactoryCircuitPrepareHardware, un pilote doit appeler AcxFactoryCircuitInitSetAcxCircuitPnpPowerCallbacks.

Si le pilote a inscrit une fonction de rappel EvtCircuitPowerDown, l’infrastructure ACX appelle la fonction chaque fois que l’un des périphériques du pilote quitte son état de fonctionnement (D0). Un appareil quitte l’état D0 quand l’un des cas suivants se produit :

  • Le système et tous ses appareils sont sur le point de quitter leur état de fonctionnement et d’entrer dans un état de faible consommation.
  • L’appareil est sur le point de passer à un état de faible consommation d’énergie, car il est inactif, si l’appareil prend en charge l’inactivité à faible consommation d’énergie.
  • Le gestionnaire de Plug-and-Play tente de redistribuer les ressources matérielles du système.
  • Un utilisateur a indiqué, généralement au moyen de l’interface utilisateur d’une application, qu’il souhaite supprimer l’appareil.
  • L’infrastructure appelle également la fonction de rappel EvtFactoryCircuitPowerDown après la suppression inattendue d’un appareil (suppression surprise).

Pour plus d’informations sur le moment où l’infrastructure appelle cette fonction de rappel, consultez Scénarios pnP et de gestion de l’alimentation.

À moins que l’appareil n’ait été supprimé par surprise, l’infrastructure ACX appelle cette fonction de rappel immédiatement après qu’elle a désactivé les interruptions de l’appareil, mais avant que l’alimentation de l’appareil soit réduite de D0 et avant que WDF appelle le rappel EvtDeviceD0Exit du pilote sur les appareils associés. Le paramètre TargetState identifie l’état d’alimentation de l’appareil que l’appareil est sur le point d’entrer.

La fonction de rappel EvtFactoryCircuitPowerDown doit effectuer toutes les opérations nécessaires avant que le matériel d’ACXFACTORYCIRCUT passe à l’état de faible consommation spécifié, comme l’enregistrement des informations dont le pilote aura besoin ultérieurement pour restaurer le matériel d’ACXFACTORYCIRCUIT à son état d’alimentation D0.

Si TargetState est WdfPowerDeviceD3Final, vous devez supposer que le système est désactivé, que l’appareil associé est sur le point d’être supprimé ou qu’un rééquilibrage des ressources est en cours. Si votre pilote doit enregistrer des informations, il doit les écrire sur le disque ou sur un autre support de stockage permanent.

Pour plus d’informations sur les pilotes qui fournissent cette fonction de rappel, consultez Prise en charge du PnP et de la gestion de l’alimentation dans le pilote de fonction.

Configuration requise pour ACX

Version ACX minimale : 1.0

Pour plus d’informations sur les versions d’ACX, consultez Vue d’ensemble des versions d’ACX.

Configuration requise

Condition requise Valeur
En-tête acxcircuit.h
IRQL PASSIVE_LEVEL

Voir aussi