UcmUcsiPpmStart, fonction (Ucmucsippm.h)
Indique à l’extension de classe UcmUcsiCx de commencer à envoyer des requêtes au pilote client.
Syntaxe
NTSTATUS UcmUcsiPpmStart(
[in] UCMUCSIPPM PpmObject
);
Paramètres
[in] PpmObject
Handle vers un objet PPM (Platform Policy Manager) reçu par le pilote client lors de l’appel précédent à UcmUcsiPpmCreate.
Valeur de retour
Retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette méthode peut retourner une valeur NTSTATUS appropriée.
Remarques
UcmUcsiPpmStart indique que le pilote client est maintenant prêt à recevoir la demande de l’extension de classe. Lors de cet appel, l’extension de classe démarre les machines d’état du gestionnaire de stratégies de système d’exploitation (OPM) et de gestionnaire de commandes.
Le pilote client doit appeler UcmUcsiPpmStart après avoir appelé UcmUcsiPpmStop pour la récupération d’erreurs.
Cette DDI démarre les opérations que l’extension de classe doit effectuer pour initialiser les ordinateurs d’état OPM et Gestionnaire de commandes. Le pilote client doit appeler UcmUcsiPpmStart pour informer UcmUcsiCx que le pilote est prêt à recevoir les demandes IOCTL. Nous vous recommandons d’effectuer cet appel à partir de la fonction de rappel EVT_WDF_DEVICE_PREPARE_HARDWARE, ou après que le système appelle ce rappel.
La tentative de démarrage du PPM une fois qu’elle a déjà démarré entraîne une condition d’erreur.
Une fois que le client a appelé UcmUcsiPpmStart, l’extension de classe envoie un certain nombre de commandes au microprogramme PPM afin d’obtenir les fonctionnalités de PPM et de connecteur et leurs états. En raison d’un nombre élevé d’interactions avec le microprogramme, nous recommandons vivement aux implémenteurs clients UcmUcsiCx d’appeler cette DDI une fois au démarrage et non à la reprise à partir d’un état de faible alimentation, tel que le rappel D0Entry. Cela est particulièrement vrai lorsque le client implémente l’idling S0.
Exigences
Exigence | Valeur |
---|---|
version minimale de KMDF | 1.27 |
version minimale de UMDF | N/A |
d’en-tête | Ucmucsippm.h (include UcmUcsiCx.h) |
bibliothèque | UcmUcsiCxStub.lib |
IRQL | PASSIVE_LEVEL |