Partager via


Appel de PoStartNextPowerIrp à partir d’un pilote de filtre

À compter de Windows Vista, l’appel de PoStartNextPowerIrp n’est pas obligatoire et l’appel à cette routine n’effectue aucune opération de gestion de l’alimentation. Toutefois, dans Windows Server 2003, Windows XP et Windows 2000, un pilote de filtre doit appeler PoStartNextPowerIrp une fois pour chaque IRP_MN_QUERY_POWER ou IRP_MN_SET_POWER demande que le pilote reçoit. Le moment où l’appel se produit dépend du type de demande et de l’échec ou de la réussite du pilote, comme le montre le tableau suivant.

Type de demande Si le pilote réussit la demande, l’appel se produit : Si le pilote échoue à la demande, l’appel se produit :

IRP_MN_QUERY_POWER (état d’alimentation de l’appareil)

Dans une routine IoCompletion , immédiatement avant le retour.

Dans la routine DispatchPower , avant d’appeler IoCompleteRequest.

IRP_MN_QUERY_POWER (état d’alimentation du système)

Dans la routine DispatchPower , après avoir acquis supprimer le verrou et avant de définir l’emplacement de la pile IRP.

Dans la routine DispatchPower , avant d’appeler IoCompleteRequest.

IRP_MN_SET_POWER (état d’alimentation de l’appareil)

Dans une routine IoCompletion , immédiatement avant le retour.

Non autorisé.

IRP_MN_SET_POWER (état d’alimentation du système)

Dans la routine DispatchPower , après avoir acquis supprimer le verrou et avant de définir l’emplacement de la pile IRP.

Non autorisé.