Partager via


WdfDeviceInitSetPowerNotPageable, fonction (wdfdevice.h)

[S’applique uniquement à KMDF]

La méthode WdfDeviceInitSetPowerNotPageable informe le gestionnaire d’alimentation que le pilote n’accède pas à données paginables pendant la transition du système entre un état de veille et l’état de travail (S0).

Syntaxe

void WdfDeviceInitSetPowerNotPageable(
  [in] PWDFDEVICE_INIT DeviceInit
);

Paramètres

[in] DeviceInit

Pointeur fourni par l’appelant vers une structure WDFDEVICE_INIT.

Valeur de retour

Aucun

Remarques

Si votre pilote de fonction ou pilote bus appelle WdfDeviceInitSetPowerNotPageable, l’appareil du fichier de pagination du système peut ne pas être dans son état de fonctionnement (D0) lorsque le périphérique de votre pilote entre dans un état de faible alimentation ou retourne à son état de fonctionnement. Par conséquent, pendant les transitions d’alimentation de votre appareil, votre pilote ne doit effectuer aucune opération susceptible de provoquer l’accès au fichier de pagination du système d’exploitation. Ces opérations incluent l’accès aux fichiers, au Registre ou au pool paginé.

Par défaut, l’infrastructure permet d’accéder 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 de la pile de l’appareil enfant ne peut appeler WdfDeviceInitSetPowerNotPageable.

L’appel WdfDeviceInitSetPowerPageable ou WdfDeviceInitSetPowerNotPageable 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 de vidéo.

Si votre pilote appelle WdfDeviceInitSetPowerNotPageable, il doit le faire avant d’appeler WdfDeviceCreate.

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

Exemples

L’exemple de code suivant informe le gestionnaire d’alimentation qu’un pilote n’accède pas aux données paginables pendant que le système passe d’un état de veille à l’état de travail (S0).

WdfDeviceInitSetPowerNotPageable(DeviceInit);

Exigences

Exigence Valeur
plateforme cible Universel
version minimale de KMDF 1.0
d’en-tête wdfdevice.h (include Wdf.h)
bibliothèque Wdf01000.sys (voir Versioning de la bibliothèque Framework.)
IRQL <= DISPATCH_LEVEL
règles de conformité DDI ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql (kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf)

Voir aussi

WdfDeviceInitSetPowerPageable