共用方式為


C28604

警告 C28604:避免呼叫具有逾時SMTO_ABORTIFHUNG的 SendMessageTimeout

當應用程式使用 SMTO_ABORTIFHUNG 旗標和零逾時期間呼叫 SendMessageTimeout 時,程式代碼分析工具會報告此警告。 以這種方式使用 SendMessageTimeout 可能會造成問題,因為逾時期間沒有作用,而且呼叫會被視為封鎖呼叫。

指定逾時週期的非零值。

範例

下列函數調用可能會導致進程不無限期地回應。

fNeedsCallbackEvent = (0 != SendMessageTimeout(
_hwnd, 
WM_NULL, 
0,
0, 
SMTO_ABORTIFHUNG,
0,
&dwResult)); 

下列函數調用沒有此問題。

fNeedsCallbackEvent = (0 != SendMessageTimeout(
_hwnd, 
WM_NULL, 
0,
0,
SMTO_ABORTIFHUNG,
1000,  
&dwResult));