Partager via


Fonction PoFxSetComponentLatency (wdm.h)

La routine PoFxSetComponentLatency spécifie la latence maximale qui peut être tolérée lors de la transition de la condition inactive à la condition active dans le composant spécifié.

Syntaxe

void PoFxSetComponentLatency(
  [in] POHANDLE  Handle,
  [in] ULONG     Component,
  [in] ULONGLONG Latency
);

Paramètres

[in] Handle

Handle qui représente l’inscription de l’appareil auprès de l’infrastructure de gestion de l’alimentation (PoFx). Le pilote de périphérique a déjà reçu ce handle de la routine PoFxRegisterDevice .

[in] Component

Index qui identifie le composant. Ce paramètre est un index dans le tableau Components de la structure PO_FX_DEVICE que le pilote de périphérique a utilisé pour inscrire l’appareil auprès de PoFx. Si le tableau Composants contient N éléments, les index des composants vont de 0 à N–1.

[in] Latency

Latence maximale, en unités de 100 nanosecondes, qui peut être tolérée dans le composant spécifié. Pour plus d'informations, consultez la section Notes.

Valeur de retour

None

Remarques

Le pilote appelant fournit une latence maximale que les clients de l’appareil peuvent tolérer dans le composant spécifié. Cette latence est le temps nécessaire pour effectuer une transition de la condition inactive à la condition active. PoFx utilise cette latence comme indicateur pour améliorer les performances.

Lorsque le composant passe de la condition active à la condition inactive, PoFx sélectionne un état Fx de faible consommation approprié pour le composant à entrer. Une fois cette transition terminée, le temps nécessaire pour revenir à la condition active dépend de l’état Fx sélectionné. PoFx tente de sélectionner un état Fx qui ne viole pas l’exigence de latence maximale.

Par exemple, si un pilote prend en charge les états d’alimentation F0, F1 et F2 dans le composant spécifié, l’état F2 représente un paramètre d’alimentation inférieur à l’état F1. En règle générale, le temps T2 requis pour se réveiller (à l’état complet, F0) à partir de F2 est plus long que le temps T1 requis pour se réveiller à partir de F1. Si la latence maximale est supérieure à T1 mais inférieure à T2, PoFx peut basculer le composant à l’état F1 en toute sécurité tout en respectant la latence maximale requise. Toutefois, PoFx évite de basculer le composant à l’état F2, car cela enfreint cette exigence.

Le pilote de périphérique peut appeler PoFxSetComponentLatency chaque fois qu’un changement de conditions nécessite une modification de la latence maximale. Après chaque appel, la nouvelle latence maximale reste en vigueur jusqu’à ce que le pilote appelle à nouveau PoFxSetComponentLatency pour le mettre à jour.

Si un composant est dans l’état inactif lorsque PoFxSetComponentLatency est appelé, PoFx peut modifier l’état fx actuel du composant pour prendre en charge la nouvelle latence maximale spécifiée par l’appelant.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
Plateforme cible Universal
En-tête wdm.h
Bibliothèque Ntoskrnl.lib
DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

Voir aussi

PO_FX_DEVICE

PoFxRegisterDevice