Fungsi WdfDeviceInitSetPowerNotPageable (wdfdevice.h)
[Berlaku untuk KMDF saja]
Metode WdfDeviceInitSetPowerNotPageable memberi tahu manajer daya bahwa driver tidak akan mengakses data yang dapat di-pageable saat sistem bertransisi antara status tidur dan status kerja (S0).
Sintaks
void WdfDeviceInitSetPowerNotPageable(
[in] PWDFDEVICE_INIT DeviceInit
);
Parameter
[in] DeviceInit
Penunjuk yang disediakan penelepon ke struktur WDFDEVICE_INIT .
Nilai kembali
Tidak ada
Keterangan
Jika driver fungsi atau driver bus Anda memanggil WdfDeviceInitSetPowerNotPageable, perangkat file halaman sistem mungkin tidak dalam status berfungsi (D0) saat perangkat driver Anda memasuki status daya rendah atau kembali ke status kerjanya. Oleh karena itu, selama transisi daya perangkat Anda, driver Anda tidak boleh melakukan operasi apa pun yang dapat menyebabkan sistem operasi mengakses file halaman. Operasi tersebut termasuk mengakses file, registri, atau kumpulan halaman.
Secara default, kerangka kerja memungkinkan akses ke data yang dapat di-pageable untuk driver fungsi. Kerangka kerja menggunakan pengaturan perangkat induk untuk setiap perangkat anak yang dijumlahkan oleh driver bus, kecuali driver bus memanggil WdfDeviceInitSetPowerPageable atau WdfDeviceInitSetPowerNotPageable untuk perangkat anak. Jika Anda menulis driver bus yang memanggil WdfDeviceInitSetPowerPageable untuk perangkat anak, tidak ada driver di tumpukan perangkat anak yang dapat memanggil WdfDeviceInitSetPowerNotPageable.
Memanggil WdfDeviceInitSetPowerPageable atau WdfDeviceInitSetPowerNotPageable dari driver filter tidak berpengaruh. Kerangka kerja menggunakan pengaturan yang ditentukan driver berikutnya yang lebih rendah.
Sebagian besar driver tidak perlu memanggil WdfDeviceInitSetPowerPageable atau WdfDeviceInitSetPowerNotPageable. Sebagai gantinya, Anda harus membiarkan kerangka kerja menggunakan pengaturan default yang sesuai untuk driver Anda. Namun, driver Anda harus memanggil WdfDeviceInitSetPowerNotPageable jika driver adalah bagian dari tumpukan driver yang tidak boleh mengakses data yang dapat di-pageable selama transisi daya (seperti tumpukan penyimpanan atau tumpukan video), atau jika driver adalah driver bus yang menghitung perangkat yang mungkin merupakan perangkat penyimpanan atau video.
Jika driver Anda memanggil WdfDeviceInitSetPowerNotPageable, itu harus dilakukan sebelum memanggil WdfDeviceCreate.
Untuk informasi selengkapnya tentang memanggil WdfDeviceCreate, lihat Membuat Objek Perangkat Kerangka Kerja.
Contoh
Contoh kode berikut memberi tahu manajer daya bahwa driver tidak akan mengakses data yang dapat dipaginasi saat sistem bertransisi antara status tidur dan status kerja (S0).
WdfDeviceInitSetPowerNotPageable(DeviceInit);
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Universal |
Versi KMDF minimum | 1,0 |
Header | wdfdevice.h (termasuk Wdf.h) |
Pustaka | Wdf01000.sys (lihat Penerapan Versi Pustaka Kerangka Kerja.) |
IRQL | <= DISPATCH_LEVEL |
Aturan kepatuhan DDI | ChildDeviceInitAPI(kmdf), DeviceInitAPI(kmdf), DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), PdoDeviceInitAPI(kmdf) |