Partager via


WdfDeviceInitSetPowerPageable, fonction (wdfdevice.h)

[S’applique à KMDF uniquement]

La méthode WdfDeviceInitSetPowerPageable informe le gestionnaire d’alimentation que le pilote doit être en mesure d’accéder aux données paginables pendant que le système passe d’un état de veille à l’état de travail (S0).

Syntaxe

void WdfDeviceInitSetPowerPageable(
  [in] PWDFDEVICE_INIT DeviceInit
);

Paramètres

[in] DeviceInit

Pointeur fourni par l’appelant vers une structure WDFDEVICE_INIT .

Valeur de retour

None

Remarques

Si votre pilote de fonction ou pilote de bus appelle WdfDeviceInitSetPowerPageable, le système s’assure que le périphérique du fichier de pagination est dans son état de fonctionnement (D0) lorsque le périphérique de votre pilote passe à un état de faible consommation ou qu’il retourne à son état de fonctionnement. Cela permet à votre pilote d’accéder aux fichiers, au Registre et au pool paginé pendant les transitions d’alimentation de votre appareil.

Par défaut, l’infrastructure permet l’accès aux données paginables pour les pilotes de fonction. L’infrastructure utilise le paramètre de l’appareil parent pour chaque appareil enfant énuméré par un pilote de bus, sauf si le pilote de bus appelle WdfDeviceInitSetPowerPageable ou WdfDeviceInitSetPowerNotPageable pour l’appareil enfant. Si vous écrivez un pilote de bus qui appelle WdfDeviceInitSetPowerPageable pour un appareil enfant, aucun pilote dans la pile de l’appareil enfant ne peut appeler WdfDeviceInitSetPowerNotPageable.

L’appel de WdfDeviceInitSetPowerPageable ou WdfDeviceInitSetPowerNotPageable à partir d’un pilote de filtre n’a aucun effet. L’infrastructure utilise le paramètre spécifié par le pilote inférieur suivant.

La plupart des pilotes n’ont pas besoin d’appeler WdfDeviceInitSetPowerPageable ou WdfDeviceInitSetPowerNotPageable. Au lieu de cela, vous devez laisser l’infrastructure utiliser le paramètre par défaut approprié pour votre pilote. Toutefois, votre pilote doit appeler WdfDeviceInitSetPowerNotPageable si le pilote fait partie d’une pile de pilotes qui ne doit pas accéder aux données paginables pendant les transitions d’alimentation (telles que la pile de stockage ou la pile vidéo), ou si le pilote est un pilote de bus qui énumère les périphériques qui peuvent être des périphériques de stockage ou vidéo.

Si votre pilote appelle WdfDeviceInitSetPowerInrush, il ne doit pas appeler WdfDeviceInitSetPowerPageable.

Votre pilote doit appeler WdfDeviceInitSetPowerPageable avant d’appeler WdfDeviceCreate.

Pour plus d’informations sur l’appel de WdfDeviceCreate, consultez Création d’un objet d’appareil framework.

Exemples

L’exemple de code suivant informe le gestionnaire d’alimentation qu’un pilote doit être en mesure d’accéder aux données paginables pendant que le système passe d’un état de veille à l’état de fonctionnement (S0).

WdfDeviceInitSetPowerPageable(DeviceInit);

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
En-tête wdfdevice.h (inclure Wdf.h)
Bibliothèque Wdf01000.sys (consultez Gestion des versions de la bibliothèque d’infrastructure).)
IRQL <= DISPATCH_LEVEL
Règles de conformité DDI ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Voir aussi

WdfDeviceInitSetPowerNotPageable