2012-07-05 84 views
-4

我正在使用一些遺留代碼,其中包括調用WaitForMultipleObjects()。從學校我記得功能WaitForMultipleObjectsEx()(我們只是模糊地提到)。我很想知道,如果有什麼差異,並且有什麼時候使用哪個通用規則。用Google搜索這個問題的標題並沒有得出任何結論。WaitForMultipleObjects和WaitForMultipleObjectsEx之間的區別是什麼

+1

有**噸** ???和Windows在Windows中的功能...在這裏同樣的事情,沒有什麼真正想念的事情。 – Mehrdad 2012-07-05 08:49:47

+6

你從[WaitForMultipleObjectsEx MSDN鏈接](http://msdn.microsoft.com/en-us/library/windows/desktop/ms687028%28v=vs.85%29.aspx)和[WaitForMultipleObjects MSDN鏈接](http://msdn.microsoft.com/en-us/library/windows/desktop/ms687025%28v=vs.85%29.aspx)還有一個額外的BOOL參數以指示它是否可警告,MSDN文章很清楚 – EdChum 2012-07-05 08:51:09

+0

一般來說,'Ex'函數是更新的版本,擴展接口。你需要提供額外的功能嗎? – 2012-07-05 08:53:32

回答

4

如前所述,添加了「Ex」的例程通常具有原始函數的一些擴展功能。在這種情況下,還有一個額外的布爾參數「bAlertable」。這裏的區別在於,這個額外的參數(如果設置爲true)允許您等待,不僅處於信號狀態和超時的對象,還包括I/O完成和用戶模式異步過程調用。這個增加的功能可以讓你自己完成讀取和寫入的完成程序。如果您不需要額外的功能,只需在bAlertable參數設置爲FALSE的情況下調用此函數,或者您可以僅使用不帶參數的舊版本。

相關問題