Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W przypadku wystąpienia błędu większość funkcji systemowych zwraca kod błędu, zazwyczaj 0, nulllub –1. Wiele funkcji systemowych ustawia również dodatkowy kod błędu, nazywany kodem ostatniego błędu. Ten kod błędu jest utrzymywany oddzielnie dla każdego uruchomionego wątku; błąd w jednym wątku nie zastępuje ostatniego kodu błędu w innym wątku. Dowolna funkcja może wywołać funkcję SetLastError lub SetLastErrorEx, aby ustawić kod ostatniego błędu dla bieżącego wątku. Te funkcje są przeznaczone głównie dla bibliotek linków dynamicznych (DLL), dzięki czemu mogą udostępniać informacje do aplikacji wywołującej. Należy pamiętać, że niektóre funkcje wywołują SetLastError lub SetLastErrorEx z wartością 0, kiedy się powiedzie, co powoduje wyczyszczenie kodu błędu ustawionego przez ostatnio nieudaną funkcję, podczas gdy inne tego nie robią.
Aplikacja może pobrać kod ostatniego błędu przy użyciu funkcji GetLastError; kod błędu może powiedzieć więcej o tym, co rzeczywiście miało miejsce, aby funkcja nie powiodła się. Dokumentacja funkcji systemowych wskazuje warunki, w których funkcja ustawia kod ostatniego błędu.
System definiuje zestaw kodów błędów, które mogą być ustawiane jako kody błędów ostatnich lub zwracane przez te funkcje. Kody błędów to wartości 32-bitowe (bit 31 jest najbardziej znaczącym bitem). Bit 29 jest zarezerwowany dla kodów błędów zdefiniowanych przez aplikację; żaden kod błędu systemu nie ma tego zestawu bitów. Jeśli zdefiniujesz kody błędów dla aplikacji, ustaw ten bit, aby wskazać, że kod błędu został zdefiniowany przez aplikację i aby upewnić się, że kody błędów nie powodują konfliktu z żadnymi kodami błędów zdefiniowanymi przez system. Aby uzyskać więcej informacji, zobacz WinError.h i Kody błędów systemu.