Mendukung perangkat Multiple-Component dengan Status Daya Fungsional Tunggal atau Ganda

[Hanya berlaku untuk KMDF]

Driver KMDF untuk perangkat multi-komponen dapat menentukan satu atau beberapa status daya fungsi untuk setiap komponen.

Dalam hal ini, driver mendaftar langsung dengan kerangka kerja manajemen daya (PoFx). Untuk menentukan bahwa WDF tidak boleh mendaftar dengan PoFx, driver memanggil WdfDeviceAssignS0IdleSettings dengan anggota IdleTimeoutType dari struktur WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS diatur ke DriverManagedIdleTimeout. Biasanya, driver memanggil metode ini dari fungsi panggilan balik EvtDriverDeviceAdd-nya .

Selanjutnya, driver harus mendaftar dengan PoFx. Untuk melakukannya, driver memanggil PoFxRegisterDevice dan kemudian PoFxStartDevicePowerManagement. Driver Anda harus mendaftar dengan PoFx hanya sekali, ketika perangkat pertama kali dimulai. Salah satu cara untuk melakukan ini adalah dengan memanggil rutinitas ini dari fungsi EvtDeviceSelfManagedIoInit yang disediakan pengemudi. EvtDeviceSelfManagedIoInit hanya dipanggil saat pertama kali perangkat dimulai.

Ketika perangkat dihapus, driver harus memanggil PoFxUnregisterDevice untuk membatalkan pendaftaran perangkat dari PoFx. Untuk membatalkan pendaftaran hanya sekali, kami sarankan driver memanggil rutinitas ini dari fungsi EvtDeviceSelfManagedIoFlush yang disediakan driver. EvtDeviceSelfManagedIoFlush hanya dipanggil ketika perangkat sedang dihapus. Dengan membatalkan pendaftaran di EvtDeviceSelfManagedIoFlush, driver mempertahankan pendaftaran daya selama transisi tidur dan penyeimbangan ulang dan tidak harus mempertahankan referensi daya untuk permintaan I/O yang tetap tertunda selama transisi ini.

Ketika driver memanggil PoFxRegisterDevice, ia menerima handel pendaftaran daya (POHANDLE) yang dapat digunakan untuk berinteraksi langsung dengan PoFx, seperti yang dijelaskan dalam topik berikut:

Selain itu, driver dapat memanggil rutinitas kerangka kerja daya secara langsung untuk mengirim permintaan kontrol daya dan menentukan latensi, residensi, dan persyaratan bangun.

Untuk informasi selengkapnya tentang PoFx, lihat Gambaran Umum Power Management Framework.