Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Sterowniki mogą podzielić sprzęt urządzenia na wiele składników logicznych, aby umożliwić precyzyjne zarządzanie energią. Składnik ma zestaw stanów zasilania, którymi można zarządzać niezależnie od stanów zasilania innych składników w tym samym urządzeniu. W stanie F0 składnik jest w pełni włączony. Składnik może obsługiwać dodatkowe stany F1, F2 i tak dalej.
Właściciel zasad zasilania urządzenia jest zazwyczaj sterownikiem funkcji urządzenia. Aby włączyć zarządzanie energią na poziomie składników, ten sterownik rejestruje urządzenie w strukturze zarządzania energią (PoFx). Rejestrując urządzenie, sterownik przejmuje odpowiedzialność za informowanie pofx, gdy składnik jest aktywnie używany i kiedy składnik jest bezczynny. Funkcja PoFx wybiera inteligentny stan bezczynności dla urządzenia na podstawie informacji na temat działania składnika, tolerancji opóźnień, oczekiwanych czasów bezczynności i wymagań wznawiania. Kontrolując użycie energii na poziomie składnika, funkcja PoFx może zmniejszyć wymagania dotyczące zasilania przy jednoczesnym zachowaniu czasu reakcji systemu. Aby uzyskać więcej informacji, zobacz Component-Level Zarządzanie energią.
Procedury zarządzania energią urządzeń
Te procedury są implementowane przez platformę zarządzania energią (PoFx), aby umożliwić zarządzanie energią urządzeń. Te procedury są wywoływane przez sterownik, który jest właścicielem zasad zasilania (PPO) dla urządzenia. Zazwyczaj sterownik funkcji dla urządzenia to PPO dla tego urządzenia.
| Topic | Description |
|---|---|
| PoFxActivateComponent | The PoFxActivateComponent routine increments the activation reference count on the specified component. |
| PoFxCompleteDevicePowerNotRequired | The PoFxCompleteDevicePowerNotRequired routine notifies the power management framework (PoFx) that the calling driver has completed its response to a call to the driver's DevicePowerNotRequiredCallback callback routine. |
| PoFxCompleteIdleCondition | The PoFxCompleteIdleCondition routine informs the power management framework (PoFx) that the specified component has completed a pending change to the idle condition. |
| PoFxCompleteIdleState | Procedury PoFxCompleteIdleState informują platformę zarządzania energią (PoFx), że określony składnik zakończył oczekującą zmianę stanu Fx. |
| PoFxIdleComponent | The PoFxIdleComponent routine decrements the activation reference count on the specified component. |
| PoFxIssueComponentPerfStateChange | The PoFxIssueComponentPerfStateChange routine submits a request to place a device component in a particular performance state. |
| PoFxIssueComponentPerfStateChangeMultiple | The PoFxIssueComponentPerfStateChangeMultiple routine submits a request to change the performance states in multiple performance state sets simultaneously for a device component. |
| PoFxNotifySurprisePowerOn | The PoFxNotifySurprisePowerOn routine notifies the power management framework (PoFx) that a device was turned on as a side effect of supplying power to some other device. |
| PoFxPowerControl | The PoFxPowerControl routine sends a power control request to the power management framework (PoFx). |
| PoFxQueryCurrentComponentPerfState | The PoFxQueryCurrentComponentPerfState routine retrieves the active performance state in a component's performance state set. |
| PoFxRegisterComponentPerfStates | The PoFxRegisterComponentPerfStates routine registers a device component for performance state management by the power management framework (PoFx). |
| PoFxRegisterDevice | The PoFxRegisterDevice routine registers a device with the power management framework (PoFx). |
| PoFxReportDevicePoweredOn | The PoFxReportDevicePoweredOn routine notifies the power management framework (PoFx) that the device completed the requested transition to the D0 (fully on) power state. |
| PoFxSetComponentLatency | The PoFxSetComponentLatency routine specifies the maximum latency that can be tolerated in the transition from the idle condition to the active condition in the specified component. |
| PoFxSetComponentResidency | The PoFxSetComponentResidency routine sets the estimated time for how long a component is likely to remain idle after the component enters the idle condition. |
| PoFxSetComponentWake | The PoFxSetComponentWake routine indicates whether the driver arms the specified component to wake whenever the component enters the idle condition. |
| PoFxSetDeviceIdleTimeout | The PoFxSetDeviceIdleTimeout routine specifies the minimum time interval from when the last component of the device enters the idle condition to when the power management framework (PoFx) calls the driver's DevicePowerNotRequiredCallback callback routine. |
| PoFxStartDevicePowerManagement | The PoFxStartDevicePowerManagement routine completes the registration of a device with the power management framework (PoFx) and starts device power management. |
| PoFxUnregisterDevice | The PoFxUnregisterDevice routine removes the registration of a device from the power management framework (PoFx). |
Wywołania zwrotne zarządzania energią urządzenia
Te procedury wywołania zwrotnego są wymagane przez strukturę zarządzania energią (PoFx), aby umożliwić zarządzanie energią urządzeń. Sterownik, który jest właścicielem zasad zasilania dla urządzenia, implementuje te procedury wywołania zwrotnego. Funkcja PoFx wywołuje te procedury w celu wykonywania zapytań i konfigurowania stanów zasilania składników w urządzeniu.
| Topic | Description |
|---|---|
| ComponentActiveConditionCallback | The ComponentActiveConditionCallback callback routine notifies the driver that the specified component completed a transition from the idle condition to the active condition. |
| ComponentIdleConditionCallback | The ComponentIdleConditionCallback callback routine notifies the driver that the specified component completed a transition from the active condition to the idle condition. |
| ComponentIdleStateCallback | The ComponentIdleStateCallback callback routine notifies the driver of a pending change to the Fx power state of the specified component. |
| ComponentPerfStateCallback | The ComponentPerfStateCallback callback routine notifies the driver that its request to change the performance state of a component is complete. |
| DevicePowerNotRequiredCallback | The DevicePowerNotRequiredCallback callback routine notifies the device driver that the device is not required to stay in the D0 power state. |
| DevicePowerRequiredCallback | The DevicePowerRequiredCallback callback routine notifies the device driver that the device must enter and remain in the D0 power state. |
| PowerControlCallback | The PowerControlCallback callback routine performs a power control operation that is requested by the power management framework (PoFx). |
Struktury zarządzania energią urządzenia
Struktura zarządzania energią (PoFx) definiuje te struktury do obsługi zarządzania energią urządzeń.
| Topic | Description |
|---|---|
| PO_FX_COMPONENT_V1PO_FX_COMPONENT_V2 | The PO_FX_COMPONENT structure describes the power state attributes of a component in a device. |
| PO_FX_COMPONENT_IDLE_STATE | The PO_FX_COMPONENT_IDLE_STATE structure specifies the attributes of an Fx power state of a component in a device. |
| PO_FX_COMPONENT_PERF_INFO | The PO_FX_COMPONENT_PERF_INFO structure describes all the sets of performance states for a single component within a device. |
| PO_FX_COMPONENT_PERF_SET | The PO_FX_COMPONENT_PERF_SET structure represents a set of performance states for a single component within a device. |
| PO_FX_DEVICE_V1PO_FX_DEVICE_V2PO_FX_DEVICE_V3 | The PO_FX_DEVICE structure describes the power attributes of a device to the power management framework (PoFx). |
| PO_FX_PERF_STATE | The PO_FX_PERF_STATE structure represents a performance state for a single component within a device. |
| PO_FX_PERF_STATE_CHANGE | The PO_FX_PERF_STATE_CHANGE structure contains information about a change to a performance state that is being requested by calling the PoFxIssueComponentPerfStateChange or PoFxIssueComponentPerfStateChangeMultiple routine. |
Wyliczenia zarządzania energią urządzeń
Struktura zarządzania energią (PoFx) definiuje te wyliczenia do obsługi zarządzania energią urządzeń.
| Topic | Description |
|---|---|
| PO_FX_PERF_STATE_TYPE | The PO_FX_PERF_STATE_TYPE enumeration contains values that describe the type of performance states in a PO_FX_COMPONENT_PERF_SET. |
| PO_FX_PERF_STATE_UNIT | The PO_FX_PERF_STATE_UNIT enumeration contains values that describe the type of unit that is controlled by the performance states in a PO_FX_COMPONENT_PERF_SET. |
Stałe zarządzania energią urządzenia
bity flagi PO_FX_FLAG_XXX
The PO_FX_FLAG_XXX constants are flag bits that indicate whether a request to change the condition of component is performed synchronously or asynchronously.
#define PO_FX_FLAG_BLOCKING 0x1
#define PO_FX_FLAG_ASYNC_ONLY 0x2
PO_FX_FLAG_XXX constants
| Constant | Description |
|---|---|
| PO_FX_FLAG_BLOCKING | Zmień warunek synchronicznie. Jeśli ta flaga jest ustawiona, procedura żądająca zmiany warunku nie zwraca kontroli do sterownika wywołującego, dopóki sprzęt składnika nie zakończy przejścia do nowego warunku. Tej flagi można użyć tylko wtedy, gdy obiekt wywołujący jest uruchomiony w DISPATCH_LEVEL IRQL < . |
| PO_FX_FLAG_ASYNC_ONLY | Wprowadź zmianę warunku w pełni asynchroniczną. Jeśli ta flaga jest ustawiona, wywołanie procedury wywołania zwrotnego sterownika jest wywoływane z wątku innego niż wątek, w którym wywoływana jest procedura żądająca zmiany warunku. W związku z tym rutyna, która żąda zmiany warunku, zawsze zwraca asynchronicznie bez oczekiwania na zakończenie wywołania zwrotnego. |
PO_FX_FLAG_XXX remarks
The Flags parameter to the following routines can be set to a PO_FX_FLAG_XXX constant:
- PoFxActivateComponent
- PoFxIdleComponent
- PoFxIssueComponentPerfStateChange
- PoFxIssueComponentPerfStateChangeMultiple
The PO_FX_FLAG_BLOCKING and PO_FX_FLAG_ASYNC_ONLY flag bits are mutually exclusive. Obiekt wywołujący może ustawić jeden lub drugi bit flagi w parametrze Flags, ale nie dla obu bitów flagi.
PO_FX_FLAG_XXX Requirements
| Version | Header |
|---|---|
| Obsługiwane począwszy od systemu Windows 8. | Wdm.h |
bity flagi PO_FX_FLAG_PERF_XXX
The PO_FX_FLAG_PERF_XXX constants are flag bits that define how the power management framework (PoFx) manages performance states for a device component.
#define PO_FX_FLAG_PERF_PEP_OPTIONAL 0x1
#define PO_FX_FLAG_PERF_QUERY_ON_F0 0x2
#define PO_FX_FLAG_PERF_QUERY_ON_ALL_IDLE_STATES 0x4
| Constant | Value | Description |
|---|---|---|
| PO_FX_FLAG_PERF_PEP_OPTIONAL | 1 (0x1) | Wskazuje, że sterownik może zmieniać stany wydajności bez pomocy z wtyczki rozszerzenia platformy (PEP) lub że sterownik rejestruje stany wydajności w narzędziu PoFx tylko do celów rejestrowania. If this flag is set, the PoFxRegisterComponentPerfStates call will still succeeded if the PEP does not support performance states for the component. |
| PO_FX_FLAG_PERF_QUERY_ON_F0 | 2 (0x2) | W przypadku niektórych urządzeń może być konieczne umieszczenie stanu wydajności ustawionego dla składnika w określonym stanie wydajności (znanym jako stan nominalnej wydajności), gdy składnik jest bezczynny. Sterowniki ustawiają tę flagę, jeśli składnik zawiera nominalne stany wydajności, w takim przypadku funkcja PoFx wyśle zapytanie do PEP, aby określić bieżący stan wydajności, gdy składnik przejdzie do F0. |
| PO_FX_FLAG_PERF_QUERY_ON_ALL_IDLE_STATES | 4 (0x4) | W przypadku niektórych urządzeń może być konieczne umieszczenie stanu wydajności ustawionego dla składnika w określonym stanie wydajności (znanym jako nominalny stan wydajności) podczas przechodzenia składnika między stanami bezczynności. Sterowniki ustawiają tę flagę, jeśli ten składnik zawiera nominalne stany wydajności, w takim przypadku funkcja PoFx wyśle zapytanie do PEP, aby określić bieżący stan wydajności, gdy składnik przechodzi między stanami bezczynności. |
PO_FX_FLAG_PERF_XXX remarks
The Flags parameter to the PoFxRegisterComponentPerfStates routine can be set to a PO_FX_FLAG_PERF_XXX constant.
PO_FX_FLAG_PERF_XXX requirements
| Requirements | Version |
|---|---|
| Obsługiwane począwszy od systemu Windows 10. | Wdm.h |