Fungsi CoWaitForMultipleHandles (combaseapi.h)
Menunggu handel tertentu disinyalkan atau periode batas waktu tertentu berlalu.
Sintaks
HRESULT CoWaitForMultipleHandles(
[in] DWORD dwFlags,
[in] DWORD dwTimeout,
[in] ULONG cHandles,
[in] LPHANDLE pHandles,
[out] LPDWORD lpdwindex
);
Parameter
[in] dwFlags
Opsi tunggu. Nilai yang mungkin diambil dari enumerasi COWAIT_FLAGS .
[in] dwTimeout
Periode batas waktu, dalam milidetik.
[in] cHandles
Jumlah elemen dalam array pHandles .
[in] pHandles
Array handel.
[out] lpdwindex
Penunjuk ke variabel yang, ketika status yang dikembalikan S_OK, menerima nilai yang menunjukkan peristiwa yang menyebabkan fungsi kembali. Nilai ini biasanya merupakan indeks ke dalam pHandles untuk handel yang diberi sinyal.
Jika pHandles menyertakan satu atau beberapa handel ke objek mutex, nilai antara WAIT_ABANDONED_0 dan (WAIT_ABANDONED_0 + nCount - 1) menunjukkan indeks ke dalam pHandles untuk mutex yang ditinggalkan.
Jika bendera COWAIT_ALERTABLE diatur dalam dwFlags, nilai WAIT_IO_COMPLETION menunjukkan bahwa penantian berakhir dengan satu atau beberapa panggilan prosedur asinkron mode pengguna (APC) yang diantrekan ke utas.
Lihat WaitForMultipleObjectsEx untuk informasi selengkapnya.
Nilai kembali
Fungsi ini dapat mengembalikan nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Handel atau handel yang diperlukan diberi sinyal. |
|
pHandles adalah NULL, lpdwindex adalah NULL, atau dwFlags bukan nilai dari enumerasi COWAIT_FLAGS . |
|
Nilai pHandles adalah 0. |
|
Periode batas waktu berlalu sebelum handel atau handel yang diperlukan diberi sinyal. |
Keterangan
Bergantung pada bendera mana yang diatur dalam parameter dwFlags, CoWaitForMultipleHandles memblokir utas panggilan hingga salah satu peristiwa berikut terjadi:
- Satu atau semua handel disinyalkan. Dalam kasus objek mutex, kondisi ini juga puas dengan mutex yang ditinggalkan.
- Panggilan prosedur asinkron (APC) telah diantrekan ke utas panggilan dengan panggilan ke fungsi QueueUserAPC .
- Periode batas waktu berakhir.
Jika utas panggilan berada di apartemen multithread (MTA), CoWaitForMultipleHandles memanggil fungsi WaitForMultipleObjectsEx .
Persyaratan
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | combaseapi.h (termasuk Objbase.h) |
Pustaka | Ole32.lib |
DLL | Ole32.dll |
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