共用方式為


C28648

警告 C28648:PulseEvent 是不可靠的函式

等候同步處理對象的線程可以暫時從核心模式 APC 的等候狀態中移除,然後在 APC 完成之後返回等候狀態。 如果在從等候狀態移除線程的期間發生 PulseEvent 呼叫,則不會釋放線程,且會永遠「停止回應」。 這是因為 PulseEvent 只會釋放呼叫時正在等候的線程。

修正 使用 PulseEvent 的一些方法:

  • 如果只需要釋放其中一個等候事件的線程,而且事件是手動重設事件,請將它變更為自動重設事件,並呼叫 SetEvent 而不是 PulseEvent

  • 如果只需要釋放其中一個等候事件的線程,而且事件是自動重設事件,請呼叫 SetEvent 而不是 PulseEvent

  • 如果等候事件的所有線程都需要釋放,而且事件是手動重設事件,請重新設計程序代碼,以使用不同類型的同步處理物件 (,例如號誌) 。

  • 如果等候事件的所有線程都需要釋放,而且事件是自動重設事件,請呼叫 SetEvent 而不是 PulseEvent, (原始對 PulseEvent 的呼叫仍然只會釋放一個線程) 。