Fungsi WdfPdoInitRemovePowerDependencyOnParent (wdfpdo.h)

Metode WdfPdoInitRemovePowerDependencyOnParent menghapus dependensi daya yang dijelaskan di bagian Keterangan .

Sintaks

void WdfPdoInitRemovePowerDependencyOnParent(
  PWDFDEVICE_INIT DeviceInit
);

Parameter

DeviceInit

Penunjuk ke struktur WDFDEVICE_INIT .

Nilai kembali

Tidak ada

Keterangan

Secara umum, kerangka kerja mengharuskan driver bus induk memasuki status daya perangkat D0 sebelum perangkat anak memasuki D0, dan demikian pula dengan perangkat anak keluar dari D0 sebelum induk meninggalkan D0.

Namun, perilaku ini mungkin tidak diinginkan, khususnya jika perangkat anak adalah perangkat virtual yang tidak mewakili perangkat keras nyata. Pada power-down diam S0, status daya perangkat anak mungkin tidak relevan dengan induk. Bahkan, perangkat anak mungkin tidak memiliki alasan untuk melakukan deteksi diam S0. Dalam hal ini, akan lebih baik bagi perangkat induk untuk transisi antara D0 dan Dx berdasarkan aktivitas I/O, daripada bergantung pada status daya perangkat anak.

Menghapus dependensi daya memiliki efek berikut pada pengemudi bus:

  • Panggilan balik PDO PnP/Power mungkin dijalankan saat perangkat induk berada di Dx.
  • Panggilan balik PDO enable/disable-wake-at-bus mungkin dijalankan saat perangkat induk berada di Dx.
  • Permintaan yang diteruskan dari antrean yang dikelola daya pada PDO (dengan asumsi PDO adalah pemilik kebijakan daya) ke antrean yang tidak dikelola daya pada FDO mungkin dikirim saat driver bus berada di Dx.
  • Tumpukan anak melakukan transisi status daya secara independen dari tumpukan induk. Ini termasuk skenario seperti resume cepat di mana tumpukan anak mungkin menerima S-IRP-nya dan bahkan selesai memproses D-IRP-nya sebelum tumpukan induk selesai memproses D-IRP-nya sendiri.

Untuk menghapus dependensi daya, driver bus dapat memanggil WdfPdoInitRemovePowerDependencyOnParent saat membuat PDO untuk perangkat anak.

Fungsi ini tidak mengambil tindakan jika driver bus induk bukan pemilik kebijakan daya dari tumpukan perangkat induk.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10, version 2004
Versi KMDF minimum 1.29
Header wdfpdo.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF)
IRQL PASSIVE_LEVEL