Metode IDebugControl2::WaitForEvent (dbgeng.h)

Metode WaitForEvent menunggu peristiwa yang masuk ke aplikasi mesin debugger.

Sintaks

HRESULT WaitForEvent(
  [in] ULONG Flags,
  [in] ULONG Timeout
);

Parameter

[in] Flags

Atur ke nol. Saat ini tidak ada bendera yang dapat digunakan dalam parameter ini.

[in] Timeout

Menentukan berapa milidetik yang harus ditunggu sebelum metode ini akan kembali. Jika Timeout adalah INFINITE, metode ini tidak akan kembali sampai peristiwa yang masuk ke aplikasi mesin debugger terjadi atau gangguan keluar dikeluarkan. Jika sesi saat ini memiliki target kernel langsung, Timeout harus diatur ke INFINITE.

Nilai kembali

Metode ini dapat mengembalikan nilai kesalahan lainnya dan nilai kesalahan di atas mungkin memiliki arti tambahan. Lihat Mengembalikan Nilai untuk detail selengkapnya.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.
S_FALSE
Waktu habis kedaluwarsa.
E_PENDING
Gangguan keluar dikeluarkan. Target tidak tersedia.
E_UNEXPECTED
Baik ada permintaan input yang luar biasa, atau tidak ada target yang dapat menghasilkan peristiwa.
E_FAIL
Mesin sudah menunggu peristiwa.

Keterangan

Metode ini hanya dapat dipanggil dari utas yang memulai sesi debugger.

Ketika peristiwa terjadi, mesin debugger akan memproses peristiwa dan memanggil panggilan balik peristiwa. Jika salah satu panggilan balik ini menunjukkan bahwa peristiwa harus masuk ke aplikasi mesin debugger (dengan mengembalikan DEBUG_STATUS_BREAK), metode ini akan kembali; jika tidak, itu akan terus menunggu peristiwa. Filter peristiwa juga dapat menentukan bahwa peristiwa harus masuk ke aplikasi mesin debugger. Untuk informasi selengkapnya tentang filter peristiwa, lihat Mengontrol Pengecualian dan Peristiwa.

Metode ini bukan re-entrant. Setelah dipanggil, itu tidak dapat dipanggil lagi pada klien mana pun sampai dikembalikan. Secara khusus, ini tidak dapat dipanggil dari panggilan balik peristiwa, termasuk ekstensi dan perintah yang dijalankan oleh panggilan balik.

Jika tidak ada target yang mampu menghasilkan peristiwa -- misalnya, semua target telah keluar -- metode ini akan mengakhiri sesi saat ini, membuang target, lalu mengembalikan E_UNEXPECTED.

Konstanta INFINITE didefinisikan dalam Winbase.h.

Untuk informasi selengkapnya tentang menggunakan WaitForEvent untuk mengontrol alur eksekusi aplikasi debugger dan target, lihat Sesi Debugging dan Model Eksekusi. Untuk detail tentang panggilan balik peristiwa, lihat Memantau Peristiwa.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header dbgeng.h (termasuk Dbgeng.h, Winbase.h)

Lihat juga

IDebugControl

IDebugControl2

IDebugControl3