struktur PO_FX_DEVICE_V1 (wdm.h)
Struktur PO_FX_DEVICE menjelaskan atribut daya perangkat ke kerangka kerja manajemen daya (PoFx).
Sintaks
typedef struct _PO_FX_DEVICE_V1 {
ULONG Version;
ULONG ComponentCount;
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback;
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback;
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback;
PPO_FX_DEVICE_POWER_REQUIRED_CALLBACK DevicePowerRequiredCallback;
PPO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK DevicePowerNotRequiredCallback;
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback;
PVOID DeviceContext;
PO_FX_COMPONENT_V1 Components[ANYSIZE_ARRAY];
} PO_FX_DEVICE_V1, *PPO_FX_DEVICE_V1;
Anggota
Version
Nomor versi struktur ini. Jika driver akan mendaftar untuk dukungan status performa dengan PoFx, atur anggota ini ke PO_FX_VERSION_V2. Jika tidak, atur anggota ini ke PO_FX_VERSION_V1.
ComponentCount
Jumlah elemen dalam array Komponen . Selain itu, anggota ini menentukan jumlah komponen dalam perangkat.
ComponentActiveConditionCallback
Penunjuk ke rutinitas panggilan balik ComponentActiveConditionCallback yang diimplementasikan oleh driver perangkat.
ComponentIdleConditionCallback
Penunjuk ke rutinitas panggilan balik ComponentIdleConditionCallback yang diimplementasikan oleh driver perangkat.
ComponentIdleStateCallback
Penunjuk ke rutinitas panggilan balik ComponentIdleStateCallback yang diimplementasikan oleh driver perangkat.
DevicePowerRequiredCallback
Penunjuk ke rutinitas panggilan balik DevicePowerRequiredCallback yang diterapkan oleh driver perangkat.
DevicePowerNotRequiredCallback
Penunjuk ke rutinitas panggilan balik DevicePowerNotRequiredCallback yang diimplementasikan oleh driver perangkat.
PowerControlCallback
Penunjuk ke rutinitas panggilan balik PowerControlCallback yang diimplementasikan oleh driver perangkat.
DeviceContext
Penunjuk ke konteks perangkat yang dialokasikan penelepon. Penunjuk ini diteruskan sebagai parameter ke setiap fungsi panggilan balik yang diimplementasikan driver yang diarahkan oleh struktur ini. Driver perangkat menggunakan konteks ini untuk menyimpan informasi tentang status daya perangkat saat ini. Konteks ini buram untuk PoFx.
Components[ANYSIZE_ARRAY]
Anggota ini adalah elemen pertama dalam array dari satu atau beberapa elemen PO_FX_COMPONENT . Jika array berisi lebih dari satu elemen, elemen tambahan segera mengikuti struktur PO_FX_DEVICE . Array berisi satu elemen untuk setiap komponen dalam perangkat. Status daya Fx dari setiap komponen dapat dikontrol secara independen dari status daya Fx dari komponen lain dalam perangkat. Konstanta ANYSIZE_ARRAY didefinisikan menjadi 1 dalam file header Ntdef.h.
Keterangan
Untuk mendaftarkan perangkat dengan PoFx, driver memanggil rutinitas dan persediaan PoFxRegisterDevice , sebagai parameter, penunjuk ke struktur PO_FX_DEVICE yang menjelaskan perangkat.
Setiap elemen dalam array Komponen menjelaskan atribut status daya dari satu komponen di perangkat. Setiap komponen dalam perangkat diidentifikasi oleh indeks array Komponennya . Rutinitas seperti PoFxActivateComponent dan PoFxCompleteIdleCondition menggunakan indeks array komponen untuk mengidentifikasi komponen.
Driver perangkat tidak diperlukan untuk mengimplementasikan keenam rutinitas panggilan balik. Driver dapat mengatur penunjuk fungsi dalam struktur PO_FX_DEVICE ke NULL jika driver tidak menerapkan rutinitas panggilan balik yang sesuai. Namun, rutinitas panggilan balik tertentu harus diimplementasikan. Secara khusus, jika satu atau beberapa komponen dalam perangkat memiliki lebih dari satu status Fx, driver harus menerapkan rutinitas ComponentIdleStateCallback, ComponentActiveConditionCallback, dan ComponentIdleConditionCallback . Jika tidak, pendaftaran perangkat gagal dan PoFxRegisterDevice mengembalikan STATUS_INVALID_PARAMETER.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung dimulai dengan Windows 8. |
Header | wdm.h (termasuk Wudfwdm.h) |
Lihat juga
ComponentActiveConditionCallback
ComponentIdleConditionCallback