| Termin | Definicja |
|---|---|
| WinAPI | WinAPI to zbiorcze określenie interfejsu programistycznego Windows, umożliwiającego aplikacjom dostęp do funkcji systemowych. WinAPI jako interfejs systemu WindowsWinAPI, nazywane również Windows API, jest zbiorem programistycznych interfejsów udostępnianych przez system Windows aplikacjom działającym w trybie użytkownika. Dzięki tym interfejsom program może korzystać z funkcji systemowych bez samodzielnego sterowania sprzętem i bez bezpośredniej implementacji mechanizmów odpowiedzialnych za obsługę procesów, pamięci, plików, urządzeń wejścia, grafiki czy komunikacji między procesami. Program wywołuje funkcję API, przekazuje jej określone argumenty i otrzymuje wynik albo kod błędu. W praktyce określenie WinAPI obejmuje przede wszystkim dokumentowane interfejsy używane przez aplikacje Windows, w tym klasyczny interfejs Win32. Nie jest to pojedyncza biblioteka ani jeden plik wykonywalny. Funkcje są udostępniane przez różne moduły systemowe, zwykle w postaci bibliotek DLL, a aplikacja korzysta z nich za pośrednictwem nagłówków i bibliotek importu dostarczanych w Windows SDK. Interfejs programistyczny pozostaje warstwą pośrednią między kodem aplikacji a mechanizmami systemu operacyjnego. Najważniejsze mechanizmy używane przez aplikacjeW klasycznych programach okienkowych WinAPI odpowiada między innymi za tworzenie okien, obsługę kontrolek i przetwarzanie komunikatów. Aplikacja rejestruje klasę okna, tworzy jego instancję, a następnie odbiera komunikaty opisujące zdarzenia, takie jak kliknięcie przycisku, naciśnięcie klawisza, zmiana rozmiaru okna lub żądanie jego zamknięcia. Typowa pętla komunikatów pobiera zdarzenia z kolejki i przekazuje je do procedury okna. To właśnie ten model odróżnia wiele tradycyjnych aplikacji desktopowych od programów działających wyłącznie w konsoli. Inne grupy funkcji WinAPI obsługują pliki i katalogi, procesy oraz wątki, synchronizację, pamięć wirtualną, usługi systemowe, urządzenia i schowek. Wiele funkcji zwraca uchwyty, czyli wartości reprezentujące zasoby zarządzane przez system. Uchwytem może być na przykład odwołanie do otwartego pliku, procesu, wątku lub obiektu synchronizacji. Po zakończeniu pracy aplikacja powinna zwolnić taki zasób właściwą funkcją, ponieważ samo usunięcie zmiennej z pamięci procesu nie zawsze zamyka obiekt systemowy. Wywołania funkcji, znaki i kody błędówProgramy korzystające z WinAPI muszą uwzględniać dokładne typy argumentów, konwencję wywołania oraz sposób przekazywania struktur. Błąd w deklaracji funkcji może prowadzić do uszkodzenia stosu, nieprawidłowych danych albo zakończenia procesu. Z tego powodu kod zwykle korzysta z oficjalnych nagłówków Windows SDK zamiast ręcznie odtwarzać prototypy funkcji. W języku C i C++ dostęp do funkcji może być realizowany przez bezpośrednie importowanie symbolu z biblioteki DLL albo przez dynamiczne pobranie adresu funkcji podczas działania programu. Istotną cechą wielu funkcji tekstowych WinAPI są warianty oznaczane przyrostkami Po nieudanym wywołaniu część funkcji zapisuje dodatkowy kod błędu dostępny przez mechanizm WinAPI w diagnozie problemów z aplikacją WindowsNieprawidłowe działanie aplikacji korzystającej z WinAPI może wynikać zarówno z błędu programu, jak i z problemu środowiska Windows. Typowe objawy obejmują brak reakcji okna, błędy otwierania plików, nieudaną inicjalizację urządzenia, problemy z uprawnieniami, niezgodność bibliotek DLL albo nieprawidłową obsługę kodowania znaków. Sama obecność komunikatu o błędzie nie przesądza jeszcze, że uszkodzony jest system. Konieczne jest ustalenie, która funkcja została wywołana, z jakimi argumentami, jaki zwróciła wynik i jaki kod błędu został zarejestrowany. W praktyce analizuje się dzienniki systemowe i aplikacyjne, zależności programu, wersje wymaganych bibliotek oraz zachowanie procesu po uruchomieniu. Przydatne może być sprawdzenie, czy problem występuje tylko na jednym koncie użytkownika, przy konkretnym pliku albo po podłączeniu określonego urządzenia. Jeżeli aplikacja kończy działanie z powodu wyjątku, zrzut procesu i ślad stosu mogą wskazać miejsce, w którym wywołanie systemowe otrzymało nieprawidłowe dane. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, a w ramach diagnostyki można ustalić, czy źródłem problemu jest system Windows, aplikacja czy warstwa sprzętowa. |