Fungsi WaitForInputIdle (winuser.h)

Menunggu hingga proses yang ditentukan selesai memproses input awalnya dan menunggu input pengguna tanpa input tertunda, atau hingga interval waktu habis berlalu.

Sintaks

DWORD WaitForInputIdle(
  [in] HANDLE hProcess,
  [in] DWORD  dwMilliseconds
);

Parameter

[in] hProcess

Handel untuk proses. Jika proses ini adalah aplikasi konsol atau tidak memiliki antrean pesan, WaitForInputIdle akan segera kembali.

[in] dwMilliseconds

Interval waktu habis, dalam milidetik. Jika dwMilliseconds adalah INFINITE, fungsi tidak akan kembali hingga proses diam.

Nilai kembali

Tabel berikut ini memperlihatkan kemungkinan nilai pengembalian untuk fungsi ini.

Mengembalikan kode/nilai Deskripsi
0
Penantian berhasil terpenuhi.
WAIT_TIMEOUT
Waktu tunggu dihentikan karena interval waktu habis berlalu.
WAIT_FAILED
Terjadi kesalahan.

Keterangan

Fungsi WaitForInputIdle memungkinkan utas untuk menangguhkan eksekusinya sampai proses yang ditentukan selesai inisialisasinya dan menunggu input pengguna tanpa input tertunda. Jika proses memiliki beberapa utas, fungsi WaitForInputIdle akan kembali segera setelah utas apa pun diam.

WaitForInputIdle dapat digunakan kapan saja, bukan hanya selama startup aplikasi. Namun, WaitForInputIdle hanya menunggu sekali agar proses menjadi diam; Panggilan WaitForInputIdle berikutnya segera kembali, apakah prosesnya diam atau sibuk.

WaitForInputIdle dapat berguna untuk menyinkronkan proses induk dan proses anak yang baru dibuat. Ketika proses induk membuat proses turunan, fungsi CreateProcess kembali tanpa menunggu proses turunan menyelesaikan inisialisasinya. Sebelum mencoba berkomunikasi dengan proses anak, proses induk dapat menggunakan fungsi WaitForInputIdle untuk menentukan kapan inisialisasi anak telah selesai. Misalnya, proses induk harus menggunakan fungsi WaitForInputIdle sebelum mencoba menemukan jendela yang terkait dengan proses anak.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winuser.h (termasuk Windows.h)
Pustaka User32.lib
DLL User32.dll
Set API ext-ms-win-ntuser-misc-l1-1-0 (diperkenalkan dalam Windows 8)

Lihat juga

CreateProcess

Fungsi Proses dan Utas

Menyinkronkan Eksekusi Beberapa Utas