Fungsi PoSetDeviceBusyEx (ntifs.h)
PoSetDeviceBusyEx rutin memberi tahu manajer daya bahwa perangkat yang terkait dengan penghitung diam yang ditentukan sibuk.
Sintaks
void PoSetDeviceBusyEx(
[in, out] PULONG IdlePointer
);
Parameter
[in, out] IdlePointer
Penunjuk ke penghitung diam. Ini adalah nilai pointer yang sebelumnya dikembalikan oleh rutinitas PoRegisterDeviceForIdleDetection . Karena PoRegisterDeviceForIdleDetection mungkin mengembalikan penunjuk NULL, pemanggil harus memverifikasi bahwa penunjuk bukan NULL sebelum memanggil PoSetDeviceBusyEx.
Nilai kembali
Tidak ada
Keterangan
Rutinitas ini adalah pengganti langsung untuk makro PoSetDeviceBusy . Jika Anda menulis kode driver baru untuk Windows Vista dengan Paket Layanan 1 (SP1) dan versi Windows yang lebih baru, panggil PoSetDeviceBusyEx alih-alih PoSetDeviceBusy.
Driver memanggil rutinitas PoSetDeviceBusyEx dan PoRegisterDeviceForIdleDetection untuk mengaktifkan deteksi diam sistem untuk perangkatnya. Jika perangkat yang terdaftar untuk deteksi diam tetap menganggur untuk periode waktu habis yang ditentukan driver, manajer daya mengirimkan permintaan IRP_MN_SET_POWER untuk menempatkan perangkat dalam status tidur yang diminta.
PoSetDeviceBusyEx melaporkan bahwa perangkat sibuk, sehingga manajer daya dapat memulai ulang penghitungan mundur diamnya. Jika perangkat dalam keadaan tidur, PoSetDeviceBusyEx tidak mengubah status perangkat. Artinya, itu tidak menyebabkan sistem mengirim permintaan IRP_MN_SET_POWER untuk membangkitkan perangkat.
PoSetDeviceBusyEx dirancang untuk digunakan dengan operasi I/O yang relatif singkat dibandingkan dengan periode waktu habis penghitung diam. Untuk operasi yang lebih lama yang mungkin melebihi periode ini, gunakan rutinitas PoStartDeviceBusy dan PoEndDeviceBusy sebagai gantinya.
Driver yang membuat beberapa permintaan untuk operasi I/O singkat harus memanggil PoSetDeviceBusyEx untuk setiap permintaan I/O yang dibuatnya.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista dengan SP1 |
Target Platform | Universal |
Header | ntifs.h (termasuk Wdm.h, Ntddk.h, Ntifs.h) |
Pustaka | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Tingkat apa pun |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk