Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
advertencia C28604: Evite llamar a SendMessageTimeout con SMTO_ABORTIFHUNG con un tiempo de espera de 0
La herramienta Análisis de código notifica esta advertencia cuando las aplicaciones llaman a SendMessageTimeout con la marca SMTO_ABORTIFHUNG y un período de tiempo de espera de cero. El uso de SendMessageTimeout de esta manera puede ser problemático porque el período de tiempo de espera no tiene ningún efecto y la llamada se trata como una llamada de bloqueo.
Especifique un valor distinto de cero para el período de tiempo de espera.
Ejemplo de
La siguiente llamada de función puede hacer que el proceso no responda indefinidamente.
fNeedsCallbackEvent = (0 != SendMessageTimeout(
_hwnd,
WM_NULL,
0,
0,
SMTO_ABORTIFHUNG,
0,
&dwResult));
La siguiente llamada de función no tiene este problema.
fNeedsCallbackEvent = (0 != SendMessageTimeout(
_hwnd,
WM_NULL,
0,
0,
SMTO_ABORTIFHUNG,
1000,
&dwResult));