Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Driver dapat membagi perangkat keras perangkat mereka menjadi beberapa komponen logis untuk mengaktifkan manajemen daya terperinci. Komponen memiliki serangkaian status daya yang dapat dikelola secara independen dari status daya komponen lain di perangkat yang sama. Dalam status F0, komponen sepenuhnya diaktifkan. Komponen mungkin mendukung status daya rendah tambahan F1, F2, dan sebagainya.
Pemilik kebijakan daya untuk perangkat biasanya adalah driver fungsi perangkat. Untuk mengaktifkan manajemen daya tingkat komponen, driver ini mendaftarkan perangkat dengan kerangka kerja manajemen daya (PoFx). Dengan mendaftarkan perangkat, driver bertanggung jawab untuk menginformasikan PoFx ketika komponen secara aktif digunakan dan ketika komponen menganggur. PoFx membuat pilihan status menganggur cerdas untuk perangkat berdasarkan informasi tentang aktivitas komponen, toleransi latensi, durasi menganggur yang diharapkan, dan persyaratan bangun. Dengan mengontrol penggunaan daya di tingkat komponen, PoFx dapat mengurangi persyaratan daya sambil mempertahankan respons sistem. Untuk informasi selengkapnya, lihat Component-Level Power Management.
Rutinitas Manajemen Daya Perangkat
Rutinitas ini diimplementasikan oleh kerangka kerja manajemen daya (PoFx) untuk mengaktifkan manajemen daya perangkat. Rutinitas ini dipanggil oleh driver yang merupakan pemilik kebijakan daya (PPO) untuk perangkat. Biasanya, driver fungsi untuk perangkat adalah PPO untuk perangkat ini.
| 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 | Rutinitas PoFxCompleteIdleState menginformasikan kerangka kerja manajemen daya (PoFx) bahwa komponen yang ditentukan telah menyelesaikan perubahan yang tertunda ke status 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). |
Panggilan Balik Manajemen Daya Perangkat
Rutinitas panggilan balik ini diperlukan oleh kerangka kerja manajemen daya (PoFx) untuk mengaktifkan manajemen daya perangkat. Driver yang merupakan pemilik kebijakan daya untuk perangkat menerapkan rutinitas panggilan balik ini. PoFx memanggil rutinitas ini untuk mengkueri dan mengonfigurasi status daya komponen di perangkat.
| 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). |
Struktur Manajemen Daya Perangkat
Kerangka kerja manajemen daya (PoFx) mendefinisikan struktur ini untuk mendukung manajemen daya perangkat.
| 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. |
Enumerasi Manajemen Daya Perangkat
Kerangka kerja manajemen daya (PoFx) mendefinisikan enumerasi ini untuk mendukung manajemen daya perangkat.
| 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. |
Konstanta Manajemen Daya Perangkat
PO_FX_FLAG_XXX bit bendera
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 | Buat kondisi berubah sinkron. Jika bendera ini diatur, rutinitas yang meminta perubahan kondisi tidak mengembalikan kontrol ke driver panggilan hingga perangkat keras komponen menyelesaikan transisi ke kondisi baru. Bendera ini hanya dapat digunakan jika pemanggil berjalan di IRQL < DISPATCH_LEVEL. |
| PO_FX_FLAG_ASYNC_ONLY | Buat kondisi berubah sepenuhnya asinkron. Jika bendera ini diatur, rutinitas panggilan balik driver panggilan dipanggil dari utas selain utas tempat rutinitas yang meminta perubahan kondisi dipanggil. Dengan demikian, rutinitas yang meminta perubahan kondisi selalu kembali secara asinkron tanpa menunggu panggilan balik selesai. |
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. Pemanggil dapat mengatur satu atau bit bendera lainnya dalam parameter Bendera, tetapi bukan kedua bit bendera.
PO_FX_FLAG_XXX Requirements
| Version | Header |
|---|---|
| Didukung dimulai dengan Windows 8. | Wdm.h |
PO_FX_FLAG_PERF_XXX bit bendera
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) | Menunjukkan bahwa driver dapat mengubah status performa tanpa bantuan dari plug-in ekstensi platform (PEP), atau bahwa driver mendaftarkan status performa dengan PoFx hanya untuk tujuan pengelogan. 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) | Untuk beberapa perangkat, PEP mungkin perlu menempatkan status performa yang ditetapkan untuk komponen ke dalam status performa tertentu (dikenal sebagai status performa nominal) saat menganggur komponen. Driver mengatur bendera ini jika komponen berisi status performa nominal, dalam hal ini PoFx akan meminta PEP untuk menentukan status performa saat ini ketika komponen beralih ke F0. |
| PO_FX_FLAG_PERF_QUERY_ON_ALL_IDLE_STATES | 4 (0x4) | Untuk beberapa perangkat, PEP mungkin perlu menempatkan status performa yang ditetapkan untuk komponen ke dalam status performa tertentu (dikenal sebagai status performa nominal) ketika transisi komponen antara status diam. Driver mengatur bendera ini jika komponen ini berisi status performa nominal, dalam hal ini PoFx akan meminta PEP untuk menentukan status performa saat ini ketika komponen beralih antara status diam. |
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 |
|---|---|
| Didukung dimulai dengan Windows 10. | Wdm.h |