Bagikan melalui


Perangkat Kembali ke Status Kerjanya

Perangkat yang berada dalam status daya rendah kembali ke status kerjanya jika salah satu hal berikut ini terjadi:

  • Perangkat mendeteksi peristiwa eksternal dan memicu sinyal bangun di busnya. Driver bus yang mendeteksi sinyal bangun memanggil WdfDeviceIndicateWakeStatus. Akibatnya, kerangka kerja memanggil fungsi panggilan balik EvtDeviceDisableWakeAtBus driver bus.

  • Perangkat telah menganggur dan driver memanggil WdfDeviceStopIdle.

  • Status daya sistem telah berubah dari status daya rendah menjadi status kerja (S0).

Dalam setiap situasi ini, kerangka kerja memanggil fungsi panggilan balik EvtDeviceD0Entry pengemudi bus, yang kemudian memulihkan perangkat (perangkat anak bus) ke status berfungsi (D0).

Untuk setiap fungsi dan driver filter yang mendukung perangkat, kerangka kerja melakukan hal berikut, secara berurutan, satu driver pada satu waktu, dimulai dengan driver yang terendah dalam tumpukan driver:

  1. Kerangka kerja memanggil fungsi panggilan balik EvtDeviceD0Entry driver (jika ada).

  2. Kerangka kerja memanggil fungsi panggilan balik EvtInterruptEnable driver (jika ada) untuk setiap gangguan, dan kemudian memanggil fungsi panggilan balik EvtDeviceD0EntryPostInterruptsEnabled driver (jika ada), sehingga driver dapat mengaktifkan gangguan perangkat.

  3. Jika perangkat keras dan driver mendukung DMA, kerangka kerja memanggil fungsi panggilan balik EvtDmaEnablerFill, EvtDmaEnablerEnable, dan EvtDmaEnablerSelfManagedIoStart driver (jika ada) untuk setiap saluran DMA yang dibuat.

  4. Jika driver adalah pemilik kebijakan daya perangkat, kerangka kerja memanggil fungsi panggilan balik EvtDeviceDisarmWakeFromS0 atau EvtDeviceDisarmWakeFromSx .

  5. Kerangka kerja memanggil fungsi panggilan balik EvtChildListScanForChildren driver (jika ada).

  6. Kerangka kerja memulai ulang semua antrean I/O yang dikelola daya driver dan memanggil fungsi panggilan balik EvtIoResume mereka (jika perlu).

  7. Jika driver menggunakan I/O yang dikelola sendiri, kerangka kerja memanggil fungsi panggilan balik EvtDeviceSelfManagedIoRestart driver.