EVT_WDF_DEVICE_D0_ENTRY fonction de rappel (wdfdevice.h)
[S’applique à KMDF et UMDF]
La fonction de rappel d’événement EvtDeviceD0Entry d’un pilote effectue les opérations nécessaires lorsque l’appareil du pilote passe à l’état d’alimentation D0.
Syntaxe
EVT_WDF_DEVICE_D0_ENTRY EvtWdfDeviceD0Entry;
NTSTATUS EvtWdfDeviceD0Entry(
[in] WDFDEVICE Device,
[in] WDF_POWER_DEVICE_STATE PreviousState
)
{...}
Paramètres
[in] Device
Handle pour un objet d’appareil d’infrastructure.
[in] PreviousState
Énumérateur WDF_POWER_DEVICE_STATE qui identifie l’état d’alimentation précédent de l’appareil.
Valeur retournée
Si la fonction de rappel EvtDeviceD0Entry ne rencontre aucune erreur, elle doit retourner STATUS_SUCCESS ou une autre valeur de status pour laquelle NT_SUCCESS(status) est égal à TRUE. Sinon, elle doit retourner une valeur status pour laquelle NT_SUCCESS(status) est false.
Pour plus d’informations sur les valeurs de retour de cette fonction de rappel, consultez Signalement des défaillances d’appareils.
L’infrastructure n’appelle pas la fonction de rappel EvtDeviceD0Exit du pilote après que la fonction de rappel EvtDeviceD0Entry retourne une valeur status pour laquelle NT_SUCCESS(status) est false.
Remarques
Pour inscrire une fonction de rappel EvtDeviceD0Entry pour un appareil, un pilote doit appeler WdfDeviceInitSetPnpPowerEventCallbacks.
Si le pilote a inscrit une fonction de rappel EvtDeviceD0Entry pour un appareil, l’infrastructure appelle la fonction chaque fois que l’appareil entre dans son état de fonctionnement (D0). Un appareil passe à l’état D0 lorsque l’un des éléments suivants se produit :
- Un appareil est énuméré (car l’appareil a été branché ou le système a été redémarré).
- Le système et tous ses appareils retournent à leur état de fonctionnement à partir d’un état de faible consommation.
- L’appareil revient à son état de fonctionnement après son entrée dans un état de faible consommation d’énergie, car il était inactif (si l’appareil prend en charge l’inactivité à faible consommation d’énergie).
- Le gestionnaire de Plug-and-Play a redistribué les ressources matérielles du système entre les appareils du système.
La fonction de rappel doit effectuer toutes les opérations nécessaires pour rendre l’appareil entièrement opérationnel, telles que le chargement du microprogramme ou l’activation des fonctionnalités de l’appareil qui sont désactivées lorsque l’appareil est dans un état de faible consommation.
Si la fonction de rappel EvtDeviceD0Entry retourne une valeur status pour laquelle NT_SUCCESS(status) est false, l’infrastructure effectue les opérations suivantes :
- Si l’appareil démarre pour la première fois, l’infrastructure commence une séquence de suppression ordonnée pour l’appareil.
- Si l’appareil revient d’un état de faible consommation à son état de fonctionnement, l’infrastructure commence une séquence de suppression surprise pour l’appareil.
Pour plus d’informations sur le moment où l’infrastructure appelle la fonction de rappel EvtDeviceD0Entry , consultez Scénarios pnP et de gestion de l’alimentation.
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 les pilotes de fonction.
La fonction de rappel EvtDeviceD0Entry est appelée dans IRQL = PASSIVE_LEVEL. Vous ne devez pas rendre cette fonction de rappel paginable.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
Version KMDF minimale | 1.0 |
Version UMDF minimale | 2.0 |
En-tête | wdfdevice.h (inclure Wdf.h) |
IRQL | PASSIVE_LEVEL (voir la section Remarques) |