Función PoFxSetComponentLatency (wdm.h)

La rutina PoFxSetComponentLatency especifica la latencia máxima que se puede tolerar en la transición de la condición inactiva a la condición activa en el componente especificado.

Sintaxis

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

Parámetros

[in] Handle

Identificador que representa el registro del dispositivo con el marco de administración de energía (PoFx). El controlador de dispositivo recibió anteriormente este identificador de la rutina PoFxRegisterDevice .

[in] Component

Índice que identifica el componente. Este parámetro es un índice en la matriz Components de la estructura PO_FX_DEVICE que el controlador de dispositivo usó para registrar el dispositivo con PoFx. Si la matriz Components contiene N elementos, los índices de componente oscilan entre 0 y N-1.

[in] Latency

Latencia máxima, en unidades de 100 nanosegundos, que se pueden tolerar en el componente especificado. Para obtener más información, vea la sección Comentarios.

Valor devuelto

None

Observaciones

El controlador de llamada proporciona una latencia máxima que los clientes del dispositivo pueden tolerar en el componente especificado. Esta latencia es el tiempo necesario para completar una transición de la condición inactiva a la condición activa. PoFx usa esta latencia como sugerencia para mejorar el rendimiento.

Cuando el componente cambia de la condición activa a la condición inactiva, PoFx selecciona un estado Fx de bajo consumo adecuado para que el componente entre. Una vez completada esta transición, el tiempo necesario para volver a la condición activa depende del estado Fx seleccionado. PoFx intenta seleccionar un estado fx que no infringe el requisito de latencia máxima.

Por ejemplo, si un controlador admite estados de energía F0, F1 y F2 en el componente especificado, el estado F2 representa un valor de potencia inferior al estado F1. Normalmente, el tiempo T2 necesario para reactivar (al estado completo, F0) de F2 es mayor que el tiempo T1 necesario para reactivarse desde F1. Si la latencia máxima es mayor que T1 pero menor que T2, PoFx puede cambiar de forma segura el componente al estado F1 y seguir cumpliendo el requisito de latencia máxima. Sin embargo, PoFx evita cambiar el componente al estado F2 porque al hacerlo se infringe este requisito.

El controlador de dispositivo puede llamar a PoFxSetComponentLatency cada vez que un cambio en las condiciones requiere un cambio en la latencia máxima. Después de cada llamada, la nueva latencia máxima permanece en vigor hasta que el controlador llama a PoFxSetComponentLatency de nuevo para actualizarla.

Si un componente está en la condición de inactividad cuando se llama a PoFxSetComponentLatency , PoFx podría cambiar el estado fx actual del componente para dar cabida a la nueva latencia máxima especificada por el autor de la llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Plataforma de destino Universal
Encabezado wdm.h
Library Ntoskrnl.lib
Archivo DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

Consulte también

PO_FX_DEVICE

PoFxRegisterDevice