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 de l’alimentation 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 circuit 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 de retour
Retourne STATUS_SUCCESS
si l’appel a réussi. Sinon, elle retourne un code d’erreur approprié. Pour plus d’informations, consultez Using NTSTATUS Values.
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 appareils du pilote quitte son état de fonctionnement (D0). Un appareil quitte l’état D0 lorsqu’un des éléments suivants se produit :
- Le système et tous ses appareils sont sur le point de quitter leurs états de travail et d’entrer dans un état de faible puissance.
- L’appareil est sur le point d’entrer un état de faible alimentation, car il est inactif, si l’appareil prend en charge l’inactivité à faible alimentation.
- Le gestionnaire 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 une fois qu’un appareil a été supprimé de façon inattendue (supprimé par surprise).
Pour plus d’informations sur le moment où l’infrastructure appelle cette fonction de rappel, consultez scénarios PnP et Power Management.
Sauf si l’appareil a été supprimé par surprise, l’infrastructure ACX appelle cette fonction de rappel immédiatement après qu’elle désactive les interruptions de l’appareil, mais avant que la puissance 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 entre dans l’état de faible alimentation spécifié, par exemple 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 l’é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 de PnP et de gestion de l’alimentation dans le pilote de fonction.
Configuration requise pour ACX
version minimale d’ACX : 1.0
Pour plus d’informations sur les versions ACX, consultez vue d’ensemble de la version ACX.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | acxcircuit.h |
IRQL | PASSIVE_LEVEL |