Freigeben über


C28604

Warnung C28604: Vermeiden des Aufrufens von SendMessageTimeout mit SMTO_ABORTIFHUNG mit einem Timeout von 0

Das Codeanalysetool meldet diese Warnung, wenn Anwendungen SendMessageTimeout mit dem flag SMTO_ABORTIFHUNG und einem Timeoutzeitraum von 0 aufrufen. Die Verwendung von SendMessageTimeout auf diese Weise kann problematisch sein, da der Timeoutzeitraum keine Auswirkungen hat und der Anruf als blockierenden Anruf behandelt wird.

Geben Sie einen Nonzero-Wert für den Timeoutzeitraum an.

Beispiel

Der folgende Funktionsaufruf kann dazu führen, dass der Prozess nicht unbegrenzt reagiert.

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

Beim folgenden Funktionsaufruf gibt es dieses Problem nicht.

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