Fungsi PoSetSystemWake (wdm.h)

Rutinitas PoSetSystemWake menandai IRP yang ditentukan sebagai salah satu yang berkontribusi membangunkan sistem dari keadaan tidur.

Sintaks

void PoSetSystemWake(
  [in, out] PIRP Irp
);

Parameter

[in, out] Irp

Penunjuk ke IRP tunggu/bangun.

Nilai kembali

Tidak ada

Keterangan

Driver memanggil PoSetSystemWake untuk menandai IRP IRP_MN_WAIT_WAKE sebagai kontribusi untuk membangunkan sistem dari keadaan tidur. Secara default, runtime integrasi tunggu/bangun dianggap sebagai IRP bangun perangkat. Merupakan tanggung jawab perangkat terminal dalam rantai tunggu/bangun untuk menentukan apakah perangkat membangunkan sistem dan memanggil PoSetSystemWake untuk IRP tunggu/bangun terminal. Ketika driver memanggil PoSetSystemWake pada IRP, driver ditandai sebagai telah berkontribusi untuk membangunkan sistem dari keadaan tidur. Hanya satu pengemudi dalam tumpukan yang perlu memanggil rutinitas ini, dan biasanya harus sopir bus dalam tumpukan pengemudi.

Semua driver lain dalam rantai tunggu/bangun dapat memanggil PoGetSystemWake untuk runtime integrasi tunggu/bangun mereka sendiri saat selesai untuk menentukan apakah mereka harus memanggil PoSetSystemWake pada IRP tunggu/bangun anak yang akan mereka selesaikan. Ini memastikan bahwa informasi bangun sistem berjalan dengan benar di seluruh rantai tunggu/bangun.

Setelah IRP tunggu/bangun selesai, manajer daya memeriksa apakah IRP ditandai sebagai IRP bangun sistem. Jika IRP ditandai sebagai IRP bangun sistem, manajer daya menambahkan IRP ke daftar internal perangkat yang membangunkan sistem. Namun, manajer daya hanya melacak perangkat paling spesifik yang bekerja sistem. Misalnya, jika perangkat A ditambahkan sebagai perangkat yang membangunkan sistem, lalu perangkat B—anak perangkat A—juga ditambahkan, manajer daya hanya mempertahankan perangkat B dalam daftar karena perangkat B adalah yang paling spesifik. Jika manajer daya tidak dapat menentukan perangkat paling spesifik yang membangunkan sistem, manajer daya mungkin melacak lebih dari satu perangkat yang melaporkannya membangunkan sistem.

Manajer daya mencatat peristiwa Pelacakan Peristiwa untuk Windows (ETW) (dapat dilihat di saluran sistem global) yang mencakup informasi tentang perangkat mana yang membangunkan sistem.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows Vista.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

Lihat juga

PoGetSystemWake