Bagikan melalui


struktur WDF_POWER_FRAMEWORK_SETTINGS (wdfdevice.h)

[Berlaku untuk KMDF dan UMDF]

Struktur WDF_POWER_FRAMEWORK_SETTINGS menjelaskan pengaturan kerangka kerja manajemen daya (PoFx) untuk perangkat komponen tunggal.

Sintaks

typedef struct _WDF_POWER_FRAMEWORK_SETTINGS {
  ULONG                                         Size;
  PFN_WDFDEVICE_WDM_POST_PO_FX_REGISTER_DEVICE  EvtDeviceWdmPostPoFxRegisterDevice;
  PFN_WDFDEVICE_WDM_PRE_PO_FX_UNREGISTER_DEVICE EvtDeviceWdmPrePoFxUnregisterDevice;
  PPO_FX_COMPONENT                              Component;
  PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK    ComponentActiveConditionCallback;
  PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK      ComponentIdleConditionCallback;
  PPO_FX_COMPONENT_IDLE_STATE_CALLBACK          ComponentIdleStateCallback;
  PPO_FX_POWER_CONTROL_CALLBACK                 PowerControlCallback;
  PVOID                                         PoFxDeviceContext;
  ULONGLONG                                     PoFxDeviceFlags;
  WDF_TRI_STATE                                 DirectedPoFxEnabled;
} WDF_POWER_FRAMEWORK_SETTINGS, *PWDF_POWER_FRAMEWORK_SETTINGS;

Anggota

Size

Ukuran, dalam byte, dari struktur ini.

EvtDeviceWdmPostPoFxRegisterDevice

Penunjuk ke fungsi panggilan balik peristiwa EvtDeviceWdmPostPoFxRegisterDevice driver, atau NULL.

EvtDeviceWdmPrePoFxUnregisterDevice

Penunjuk ke fungsi panggilan balik peristiwa EvtDeviceWdmPrePoFxUnregisterDevice driver, atau NULL.

Component

Penunjuk ke struktur PO_FX_COMPONENT yang menjelaskan satu-satunya komponen di perangkat komponen tunggal, atau NULL. Jika NULL, KMDF default ke dukungan F0 hanya untuk komponen ini. Struktur ini menentukan jumlah dan atribut dari F-states yang didukung komponen, serta status Fx terdalam dari mana komponen dapat terbangun.

ComponentActiveConditionCallback

Penunjuk ke rutinitas panggilan balik ComponentActiveConditionCallback driver, atau NULL. Kerangka kerja manajemen daya (PoFx) memanggil fungsi panggilan balik ini ketika komponen menjadi aktif. Sementara dalam kondisi Aktif, komponen dijamin berada di F0.

ComponentIdleConditionCallback

Penunjuk ke fungsi panggilan balik ComponentIdleConditionCallback driver, atau NULL. PoFx memanggil fungsi panggilan balik ini ketika komponen menjadi menganggur. Saat dalam kondisi Menganggur, komponen mungkin berada dalam status F apa pun, termasuk F0.

ComponentIdleStateCallback

Penunjuk ke fungsi panggilan balik ComponentIdleStateCallback driver, atau NULL. PoFx memanggil fungsi panggilan balik ini ketika status F komponen berubah.

PowerControlCallback

Penunjuk ke fungsi panggilan balik PowerControlCallback driver klien, atau NULL. PoFx memanggil rutinitas ini untuk meneruskan permintaan operasi kontrol daya langsung ke driver. Jika driver Anda tidak mendukung kode kontrol daya apa pun, atur parameter ini ke NULL.

PoFxDeviceContext

Pointer konteks yang disediakan kerangka kerja ke ComponentActiveConditionCallback, ComponentIdleConditionCallback, ComponentIdleStateCallback, dan PowerControlCallback.

PoFxDeviceFlags

Nilai jenis ULONGLONG yang berisi bitwise ATAU dari nilai berikut yang terkait dengan Kerangka Kerja Manajemen Daya Terarah. Bidang ini tersedia mulai dari KMDF versi 1.33 dan UMDF 2.33.

PO_FX_DEVICE_FLAG_DFX_CHILDREN_OPTIONAL

Ketika Directed Power Framework ("DFx") diaktifkan pada perangkat, biasanya perangkat anak juga mengaktifkan DFx. Namun, dalam beberapa kasus (misalnya perangkat perangkat lunak murni), perangkat anak tidak menerapkan manajemen daya. Atur bendera ini untuk memperbolehkan perangkat anak tersebut melewati DFx.

Untuk mengatur bendera ini atas nama perangkat anak, driver WDF induk harus:

  • Ikut serta dalam DFx
  • Bukan sopir bus
  • Memiliki setidaknya satu perangkat anak virtual yang dibuat melalui saluran side-band (misalnya filter atau perangkat atas yang dibuat dengan memanggil SwDeviceCreate

Untuk driver yang menargetkan WDF pra-v33, sebagai gantinya tentukan direktif INF: WdfDirectedPowerTransitionChildrenOptional, yang tersedia mulai dari Windows 10, versi 1903. Jika driver menentukan arahan INF dan menetapkan bendera ini, arahan INF lebih diutamakan.

PO_FX_DEVICE_FLAG_DISABLE_FAST_RESUME

Ini diperlukan untuk mengimplementasikan IRP_MN_QUERY_DEVICE_RELATIONS/PowerRelations antara dua perangkat.

Secara default, WDF menerapkan resume cepat, yang berarti bahwa selama bangun sistem, pemilik kebijakan daya dalam tumpukan perangkat menyelesaikan S0-IRP tanpa menunggu untuk meminta dan menyelesaikan D0-IRP. Ini tidak berfungsi dengan baik dengan PowerRelations.

Agar PowerRelation berfungsi dengan baik, jika perangkat bergantung pada perangkat lain untuk memasukkan D0 terlebih dahulu, perangkat kedua harus mengatur bendera ini untuk memilih keluar dari resume cepat.

Dalam beberapa kasus, kebijakan global dapat menonaktifkan resume cepat secara global meskipun bendera ini tidak ditetapkan.

DirectedPoFxEnabled

Enumerator jenis WDF_TRI_STATE yang menunjukkan apakah perangkat mengaktifkan Directed Power Management Framework (DFx). Tersedia mulai dari KMDF versi 1.33 dan UMDF 2.33.

WdfTrue - DFx diaktifkan. WdfFalse – DFx dinonaktifkan. WdfUseDefault - Nilai default jika driver tidak mengaturnya. Nilai ini memiliki arti yang sama dengan WdfTrue.

Directed PoFx (DFx) tersedia mulai dari Windows 10, versi 1903 sebagai opsi untuk driver yang menggunakan SystemManagedIdleTimeout atau SystemManagedIdleTimeoutWithHint.

  • Untuk driver yang menargetkan WDF pra-v31, atur direktif INF WdfDirectedPowerTransitionEnable ke 1 untuk memilih ikut serta ke DFx.
  • Untuk driver yang menargetkan V31+ WDF, DFx diaktifkan secara default. Driver dapat mengatur WdfDirectedPowerTransitionEnable ke nol untuk memilih keluar dari DFx.
  • Untuk driver yang menargetkan V33+ WDF, DFx juga diaktifkan secara default. Driver dapat mengatur WdfDirectedPowerTransitionEnable ke nol atau mengatur bidang ini ke WdfFalse (disarankan) untuk memilih keluar dari DFx. Jika keduanya diatur, arahan INF lebih diutamakan.

Keterangan

Struktur WDF_POWER_FRAMEWORK_SETTINGS digunakan input untuk WdfDeviceWdmAssignPowerFrameworkSettings.

Untuk menginisialisasi struktur WDF_POWER_FRAMEWORK_SETTINGS , driver Anda harus memanggil WDF_POWER_FRAMEWORK_SETTINGS_INIT.

Untuk UMDF, hanya Ukuran, PoFxDeviceFlags, dan DirectedPoFxEnabled yang digunakan. Bidang lain diabaikan dan harus diatur ke nol. Kerangka kerja melakukan ini secara otomatis ketika driver UMDF memanggil WDF_POWER_FRAMEWORK_SETTINGS_INIT.

Untuk informasi selengkapnya, lihat Mendukung Status Daya Fungsi dan Gambaran Umum Power Management Framework.

Struktur ini tidak berlaku untuk driver klien KMDF untuk perangkat multi-komponen.

Persyaratan

Persyaratan Nilai
Versi KMDF minimum 1.11
Versi UMDF minimum 2.33
Header wdfdevice.h (termasuk Wdf.h)

Lihat juga

EvtDeviceWdmPostPoFxRegisterDevice

EvtDeviceWdmPrePoFxUnregisterDevice

WDF_POWER_FRAMEWORK_SETTINGS_INIT

WdfDeviceWdmAssignPowerFrameworkSettings