警告 C28604:避免使用超时为 0 的 SMTO_ABORTIFHUNG 调用 SendMessageTimeout
当应用程序调用 SendMessageTimeout 时,代码分析工具将报告此警告,SMTO_ABORTIFHUNG 标志和超时期限为零。 使用 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));