¿Es correcto suponer que GetLastError (y variantes) son por subproceso o es por proceso? Los problemas si es por proceso son algo obvios en las aplicaciones multiproceso porque no hay forma de garantizar que no se hayan realizado otras llamadas Win32 entre su llamada fallida y GetLastError. A veces, el valor de GetLastError es importante.Manejo adecuado de GetLastError (y otros) en un contexto multiproceso
Por ejemplo, AcceptEx devolverá FALSE (error) si está utilizando puertos de terminación de E/S. WSAGetLastError (similar a GetLastError) devolverá ERROR_IO_PENDING para informarle que está pendiente y que la falla no se debe a otra cosa. El problema es que docenas de otras llamadas pueden estar en vuelo y sobrescribir este valor.
¿Son estas llamadas específicas del hilo o del proceso? Si es específico del proceso, ¿cómo maneja esto correctamente?
+1 por mencionar a Lewis Carroll. –
Debo estar ciego porque no lo vi en los documentos de MSDN hasta que todos lo señalaron. –
+1 para señalar lo obvio. –