close

Windows API

Skocz do nawigacji Skocz do wyszukiwania

Windows API to zestaw interfejsów programistycznych (w języku angielskim interfejs programowania aplikacji lub API) dostępnych w systemach operacyjnych Microsoft Windows . Aby korzystać z Windows API, Microsoft udostępnia bezpłatnie Platform SDK , które obecnie przekształciło się w bardziej nowoczesny Windows SDK , który ujednolica Platform SDK z .NET Framework SDK (z kolei dedykowanym dla środowiska .NET). Platform SDK (Windows SDK) to zbiór narzędzi i dokumentacji do połączenia z kompilatorem języka C .

Wersje Windows API

Windows API można podzielić na następujące grupy:

  • Win16 , początkowa 16-bitowa wersja Windows API, której specyfikacje są również dostępne jako ECMA Standard z kodem ECMA-234 .
  • Win32 , 32-bitowa ewolucja dla nowoczesnych wersji systemu Windows.
  • Win32s , podzbiór Win32 do zainstalowania w 16-bitowych wersjach systemu Windows w celu uruchamiania 32-bitowych skompilowanych aplikacji.
  • Win64 , 64-bitowa ewolucja wersji systemu Windows przeznaczona dla nowych 64-bitowych procesorów Intel i AMD .
  • WinRT , nowe API dla uniwersalnych aplikacji na PC, Tablet, Smartfon, Hololens .

Struktura API Windows

Interfejsy API składają się z zestawu funkcji języka C zaimplementowanych w bibliotekach dynamicznie dołączanych ( w języku angielskim biblioteki dołączane dynamicznie lub DLL).

Windows API, mimo że został napisany, ze względu na wydajność, w mieszance języka C i języka asemblera , ma złożony model obiektowy o bardzo jednolitej strukturze i stylu, który był inspiracją dla wielu innych projektów.

Podstawowa struktura Windows API pozostała prawie niezmieniona od Windows 1.0 do dzisiaj. Istnieją trzy główne grupy interfejsów API: kernel , GDI i user .

API jądra

Interfejsy API jądra zapewniają aplikacjom interfejs wysokiego poziomu do usług jądra systemu operacyjnego (zarządzanie pamięcią, zarządzanie procesami, synchronizacja itp.). W wersjach Windows 1.0 do Windows 4.9 ( Windows Me ) wiele z tych API to po prostu wywołania usług dostarczanych przez przerwania programowe MS-DOS . W systemach z jądrami NT te API wywołują niskopoziomowe API NT, zwane Native API .

API GDI

Interfejsy API GDI ( Graphics Device Interface ) tworzą bibliotekę graficzną systemów Windows. GDI wirtualizuje wszystkie urządzenia graficzne (monitory, drukarki, plotery) w celu uzyskania jednolitego interfejsu (zwanego Kontekstem Urządzenia ) pomiędzy różnymi typami urządzeń. Ponadto GDI pozwala tworzyć i manipulować serią obiektów graficznych, w tym czcionkami , pisakami, pędzlami, mapami bitowymi itp.

Użytkownik API

Interfejs API użytkownika (z interfejsu użytkownika ) udostępnia usługi interfejsu graficznego, oparte na pojęciach „okna” i „wiadomości”.

Implementacje firm innych niż Microsoft

Chociaż implementacja Windows API podlega prawu autorskiemu , istnieją zastrzeżone implementacje innych producentów , a także kilka projektów open source , w tym WINE do emulacji Windows API w systemach uniksopodobnych oraz ReactOS , którego celem jest stworzenie całego systemu operacyjnego kompatybilnego z Windows API i może natywnie wykonywać programy napisane dla niego.

Biblioteki wyższego poziomu

Nawarstwianie się nowych funkcji w czasie, potrzeba pełnej kompatybilności wstecznej i ogromna ogólna liczba dostępnych funkcji (do tej pory kilka tysięcy) sprawiły, że programowanie w systemie Windows za pomocą interfejsów API jest trudne i nieodpowiednie dla obecnie akceptowanych standardów. Z tego powodu z czasem narodziło się wiele bibliotek (w językach takich jak C++ i inne), które proponują bardziej abstrakcyjny i łatwy w użyciu model obiektowy, skutecznie przekształcając Windows API w interfejs niskopoziomowy.

Przykłady bibliotek, które hermetyzują Windows API to:

Przyszłość Windows API

Na przestrzeni lat Windows API w zamierzeniu Microsoftu musiało ustąpić miejsca bibliotece .NET, w szczególności za sprawą komponentu Windows Presentation Foundation , dostępnego w wersji 3.0 .NET Framework. W rzeczywistości niektóre projekty, takie jak Singularity of the Microsoft Research , eksperymentowały z nowymi systemami operacyjnymi całkowicie opartymi na nowym typie jądra, całkowicie napisanym z zarządzanym kodem opartym na .NET, porzucając w ten sposób starą architekturę opartą na Windows API. Ale wraz z pojawieniem się smartfonów i tabletów w ostatnich latach Microsoft wolał wprowadzić nowy zestaw API o nazwie WinRT do tworzenia aplikacji, ze wszystkimi standardami aplikacji, kodem, który może być używany na wielu architekturach, zarówno 32, jak i 64-bitowych, z piaskownicą oraz z interfejsami, które można dostosować do każdego typu urządzenia.

Powiązane pozycje

Linki zewnętrzne