EVT_WDF_DEVICE_D0_ENTRY fungsi panggilan balik (wdfdevice.h)

[Berlaku untuk KMDF dan UMDF]

Fungsi panggilan balik peristiwa EvtDeviceD0Entry driver melakukan operasi yang diperlukan saat perangkat driver memasuki status daya D0.

Sintaks

EVT_WDF_DEVICE_D0_ENTRY EvtWdfDeviceD0Entry;

NTSTATUS EvtWdfDeviceD0Entry(
  [in] WDFDEVICE Device,
  [in] WDF_POWER_DEVICE_STATE PreviousState
)
{...}

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja.

[in] PreviousState

Enumerator jenis WDF_POWER_DEVICE_STATE yang mengidentifikasi status daya perangkat sebelumnya.

Nilai kembali

Jika fungsi panggilan balik EvtDeviceD0Entry tidak mengalami kesalahan, fungsi tersebut harus mengembalikan STATUS_SUCCESS atau nilai status lain yang NT_SUCCESS(statusnya) sama dengan TRUE. Jika tidak, itu harus mengembalikan nilai status yang NT_SUCCESS(status) sama dengan FALSE.

Untuk informasi selengkapnya tentang nilai pengembalian fungsi panggilan balik ini, lihat Melaporkan Kegagalan Perangkat.

Kerangka kerja tidak memanggil fungsi panggilan balik EvtDeviceD0Exit driver setelah fungsi panggilan balik EvtDeviceD0Entry mengembalikan nilai status di mana NT_SUCCESS(status) sama dengan FALSE.

Keterangan

Untuk mendaftarkan fungsi panggilan balik EvtDeviceD0Entry untuk perangkat, driver harus memanggil WdfDeviceInitSetPnpowerEventCallbacks.

Jika driver telah mendaftarkan fungsi panggilan balik EvtDeviceD0Entry untuk perangkat, kerangka kerja memanggil fungsi setiap kali perangkat memasuki status berfungsi (D0). Perangkat akan memasuki status D0 saat salah satu hal berikut ini terjadi:

  • Perangkat dijumlahkan (karena perangkat dicolokkan atau sistem di-boot ulang).
  • Sistem dan semua perangkatnya kembali ke status kerjanya dari status berdaya rendah.
  • Perangkat kembali ke status kerjanya setelah memasuki status daya rendah karena diam (jika perangkat mendukung idle berdaya rendah).
  • Manajer Plug and Play telah mendistribusikan kembali sumber daya perangkat keras sistem di antara perangkat sistem.
Kerangka kerja memanggil fungsi panggilan balik EvtDeviceD0Entry segera setelah perangkat memasuki status berfungsi (D0) dan tersedia untuk driver, tetapi sebelum gangguan perangkat diaktifkan. Parameter PreviousState mengidentifikasi status daya perangkat tempat perangkat berada sebelum memasuki status D0. Ketika kerangka kerja pertama kali memanggil EvtDeviceD0Entry, kerangka kerja tersebut memberikan nilai PreviousState dari WdfPowerDeviceD3Final.

Fungsi panggilan balik harus melakukan operasi apa pun yang diperlukan untuk membuat perangkat beroperasi penuh, seperti memuat firmware atau mengaktifkan kemampuan perangkat yang dinonaktifkan saat perangkat dalam status daya rendah.

Jika fungsi panggilan balik EvtDeviceD0Entry mengembalikan nilai status yang NT_SUCCESS(status) sama dengan FALSE, kerangka kerja melakukan hal berikut:

  • Jika perangkat dimulai untuk pertama kalinya, kerangka kerja memulai urutan penghapusan yang teratur untuk perangkat.
  • Jika perangkat kembali dari status daya rendah ke status kerjanya, kerangka kerja memulai urutan penghapusan mendadak untuk perangkat.
Kerangka kerja tidak memanggil fungsi panggilan balik EvtDeviceD0Exit driver dalam salah satu situasi ini.

Untuk informasi selengkapnya tentang kapan kerangka kerja memanggil fungsi panggilan balik EvtDeviceD0Entry , lihat Skenario PnP dan Power Management.

Untuk informasi selengkapnya tentang driver yang menyediakan fungsi panggilan balik ini, lihat Mendukung PnP dan Manajemen Daya di Driver Fungsi.

Fungsi panggilan balik EvtDeviceD0Entry dipanggil di IRQL = PASSIVE_LEVEL. Anda tidak boleh membuat fungsi panggilan balik ini dapat di-pageable.

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfdevice.h (termasuk Wdf.h)
IRQL PASSIVE_LEVEL (lihat bagian Keterangan)

Lihat juga

EvtDeviceD0Exit