EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 fungsi panggilan balik (wdfdevice.h)

[Berlaku untuk KMDF dan UMDF]

Fungsi panggilan balik peristiwa EvtDeviceArmWakeFromS0 driver (yaitu, memungkinkan) perangkat sehingga dapat memicu sinyal bangun saat dalam status perangkat berdaya rendah, jika sistem tetap dalam status kerja sistem (S0).

Sintaks

EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtWdfDeviceArmWakeFromS0;

NTSTATUS EvtWdfDeviceArmWakeFromS0(
  [in] WDFDEVICE Device
)
{...}

Parameter

[in] Device

Handel ke objek perangkat kerangka kerja.

Nilai kembali

Jika operasi berhasil, fungsi panggilan balik EvtDeviceArmWakeFromS0 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.

Jika NT_SUCCESS(status) sama dengan FALSE, kerangka kerja tidak memanggil fungsi panggilan balik EvtDeviceDisarmWakeFromS0 driver. (Kerangka kerja tidak melaporkan kegagalan perangkat ke manajer PnP.)

Keterangan

Untuk mendaftarkan fungsi panggilan balik EvtDeviceArmWakeFromS0 , driver harus memanggil WdfDeviceInitSetPowerPolicyEventCallbacks. Selain itu, driver harus mengatur IdleCanWakeFromS0 di anggota IdleCaps dari struktur WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS .

Fungsi panggilan balik EvtDeviceArmWakeFromS0 menangani operasi khusus perangkat yang diperlukan untuk memungkinkan perangkat mendeteksi peristiwa eksternal yang memicu sinyal bangun di bus. Fungsi panggilan balik EvtDeviceEnableWakeAtBus pengemudi bus menangani operasi khusus bus, seperti mengaktifkan sinyal Power Management Event (PME) bus PCI.

Jika driver telah mendaftarkan fungsi panggilan balik EvtDeviceArmWakeFromS0 , kerangka kerja memanggilnya saat perangkat masih dalam status daya perangkat D0, sebelum driver bus menurunkan status daya perangkat tetapi setelah kerangka kerja mengirim IRP tunggu/bangun atas nama driver.

Prosesnya terjadi dalam urutan berikut:

  1. Kerangka kerja menentukan bahwa perangkat telah menganggur selama jangka waktu yang telah ditetapkan sebelumnya.
  2. Kerangka kerja memanggil fungsi panggilan balik EvtDeviceArmWakeFromS0 driver.
  3. Kerangka kerja meminta driver untuk bus perangkat untuk menurunkan daya perangkat.
Segera sebelum perangkat Anda memasuki status daya rendah, kerangka kerja akan memanggil fungsi panggilan balik EvtDeviceD0Exit driver Anda.

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

Anda tidak perlu menyediakan fungsi panggilan balik EvtDeviceArmWakeFromS0 jika perangkat Anda:

  • Adalah perangkat USB yang mendukung "suspensi selektif."
  • Tidak dapat dimatikan saat sistem tetap didukung penuh.
  • Tidak memerlukan operasi perangkat keras khusus yang memungkinkan perangkat memicu sinyal bangun.
Jika perangkat Anda mendukung USB "suspensi selektif" dan jika driver Anda menetapkan IdleUsbSelectiveSuspend di anggota IdleCaps dari struktur WDF_DEVICE_POWER_POLICY_IDLE_SETTINGS , kerangka kerja mengirimkan permintaan "penangguhan selektif" ke driver bus USB ketika perangkat telah menganggur untuk jumlah waktu yang telah ditetapkan sebelumnya.

Untuk informasi selengkapnya tentang fungsi panggilan balik ini, lihat Mendukung Power-Down Menganggur.

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 juga

EvtDeviceArmWakeFromSx

EvtDeviceDisarmWakeFromS0