Fonction de rappel PFNKSDEVICEQUERYPOWER (ks.h)
AVStream appelle la routine AVStrMiniDeviceQueryPower d’un minidriver lorsqu’il reçoit une demande de IRP_MN_QUERY_POWER .
Syntaxe
PFNKSDEVICEQUERYPOWER Pfnksdevicequerypower;
NTSTATUS Pfnksdevicequerypower(
[in] PKSDEVICE Device,
[in] PIRP Irp,
[in] DEVICE_POWER_STATE DeviceTo,
[in] DEVICE_POWER_STATE DeviceFrom,
[in] SYSTEM_POWER_STATE SystemTo,
[in] SYSTEM_POWER_STATE SystemFrom,
[in] POWER_ACTION Action
)
{...}
Paramètres
[in] Device
Pointeur vers la structure KSDEVICE qui a distribué le IRP_MN_QUERY_POWER.
[in] Irp
Pointeur vers le IRP_MN_QUERY_POWER émis par l’appareil.
[in] DeviceTo
État d’alimentation demandé par l’émetteur d’Irp.
[in] DeviceFrom
État d’alimentation actuel de l’appareil.
[in] SystemTo
État du système vers lequel effectuer la transition, spécifié lorsqu’une transition d’état d’alimentation du système est interrogée. Cette valeur n’est pas spécifiée si l’appel est dû à une requête de changement d’état d’alimentation de l’appareil.
[in] SystemFrom
État actuel du système, spécifié lorsqu’une transition de l’état d’alimentation du système est interrogée. Cette valeur n’est pas spécifiée si l’appel est dû à une requête de changement d’état d’alimentation de l’appareil.
[in] Action
Spécifie des informations supplémentaires sur la transition demandée. Les valeurs possibles sont des énumérateurs du type POWER_ACTION.
Valeur retournée
Doit retourner STATUS_SUCCESS ou le code d’erreur retourné par la tentative d’exécution de l’opération. En retournant STATUS_SUCCESS, le pilote garantit qu’il ne démarrera aucune opération qui modifierait sa capacité à définir l’état d’alimentation demandé. Le pilote doit mettre en file d’attente tout IRP qui nécessiterait une telle opération jusqu’à ce qu’il termine un IRP_MN_SET_POWER qui retourne l’appareil à un état d’alimentation acceptable.
Remarques
Le gestionnaire d’alimentation ou le propriétaire d’une stratégie d’alimentation d’appareil envoie une demande de IRP_MN_QUERY_POWER pour déterminer s’il peut modifier l’état d’alimentation du système ou de l’appareil (par exemple, pour mettre en veille).
Si un pilote échoue à une demande de IRP_MN_QUERY_POWER d’état d’alimentation du système, le gestionnaire d’alimentation répond généralement en émettant un IRP_MN_SET_POWER. En règle générale, cette IRP réaffirme l’état actuel du système. Toutefois, il est possible que les pilotes reçoivent une IRP_MN_SET_POWER à l’état interrogé ou à un autre état intermédiaire. Les conducteurs doivent être prêts à gérer ces situations.
Le minidriver spécifie l’adresse de cette routine dans le membre QueryPower de sa structure KSDEVICE_DISPATCH .
Cette routine est facultative.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et DirectX 8.0 et versions ultérieures de DirectX. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ks.h (inclure Ks.h) |