Partager via


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)

Voir aussi

IRP_MN_QUERY_POWER

KSDEVICE_DISPATCH