Windows schmeißt dir grundsätzlich keine Exceptions um die Ohren. Windows zeigt dir im Rückgabewert einer Funktion an, dass etwas falsch gelaufen ist, und dann bist du dafür verantwortlich, GetLastError aufzurufen und den Rückgabewert anzuzeigen (Der Rückgabewert ist ein Integer. In Delphi gibt es die Funktion SysErrorMessage, die einen vernünftigen String zurückgibt. Die
WinApi-Funktion dazu heißt FormatMessage, da gibt es bestimmt eine C++-Kapselung zu, die leichter zu handaben ist).