İçeriğe atla

Windows API

Windows API ya da WinAPI, Microsoft'un Microsoft Windows işletim sistemlerinde bulunan çekirdek uygulama programlama arayüzü kümesidir (API). Windows API adı, genellikle kendi adlarıyla (örneğin, Win32 API) atıfta bulunulan birçok farklı platform uygulamasına atıfta bulunur. Neredeyse tüm Windows programları Windows API ile etkileşime girer. Windows NT işletim sistemi satırlarında, az sayıda (Windows başlangıç işleminde erken başlayan programlar gibi) Native API'yi kullanır.[1]

Geliştirici desteği, bir yazılım geliştirme kiti, Microsoft Windows SDK biçiminde, Windows API ve ilişkili Windows arabirimlerine dayalı yazılım oluşturmak için gereken belgeleri ve araçları sağlar.[2]

Windows API (Win32), temel olarak C programlama diline odaklanmıştır, çünkü açıkta kalan fonksiyonları ve veri yapıları bu dilde, belgelerinin son sürümlerinde tanımlanmıştır. Bununla birlikte, API, çağrılar ve geri aramalar için öngörülen arama kuralları ile birlikte (iyi tanımlanmış) düşük seviyeli veri yapılarını idare edebilen herhangi bir programlama dili derleyicisi veya çevirme dili tarafından kullanılabilir.[3] Benzer şekilde, API'nin işlevinin içsel uygulaması tarihsel olarak birçok dilde geliştirilmiştir. C'nin nesne yönelimli bir programlama dili olmamasına rağmen, Windows API ve Windows tarihsel olarak nesne yönelimli programlama olarak tanımlanmıştır. Nesne yönelimli yapıyı daha belirgin kılan (Microsoft Temel Sınıf Kütüphanesi (MFC), Görsel Bileşen Kütüphanesi (VCL), GDI +, vb.), Nesne yönelimli diller için birçok Microsoft sarmalayıcı sınıfları ve uzantıları da olmuştur. Örneğin, Windows 8, C ++'da uygulanan ve tasarım tarafından nesne yönelimli olan Windows API ve Windows Runtime API'sını sağlar.[4]

Genel bakış

Windows API tarafından sağlanan işlevler sekiz kategoride gruplandırılabilir:

Baz Servisleri

Bir Windows sisteminde mevcut olan temel kaynaklara erişim sağlar. Dahil edilenler dosya sistemileri, bilgisayar donanımı, işlemler, iş parçacığı ve hata işleme gibi şeylerdir. Bu işlevler Microsoft Windows kitaplığı dosyalarından kernel.exe, krnl286.exe veya krnl386.exe dosyalarında 16 bit Windows, kernel32.dll ve KernelBase.dll dosyalarında 32 ve 64 bit Windows'ta bulunur. Bu dosyalar, 64 bit Windows'ta "Windows" dizinindeki "System32" klasöründe ve 16 bit Windows sürümünde "Windows" dizininde bulunur.[5]

Gelişmiş Servisler

Çekirdeğin dışındaki işlevlere erişim sağlar. Bu, Windows Kayıt, sistemi kapatma / yeniden başlatma (veya iptal etme), Windows hizmeti başlatma / durdurma / oluşturma, kullanıcı hesaplarını yönetme gibi şeylerdir. Bu işlevler, 32 bit Windows'ta advapi32.dll ve advapires32.dll dosyalarında bulunur.

Grafik Aygıt Arabirimi

Bilgisayar monitörü, yazıcılara ve diğer çıkış cihazlarına grafik içeriği çıkışı için fonksiyonlar sağlar. 16-bit Windows'ta gdi.exe ve kullanıcı modunda 32-bit Windows'da gdi32.dll'de bulunur. Çekirdek modu GDI desteği, doğrudan grafik sürücüsü ile iletişim kuran win32k.sys tarafından sağlanır.[6]

Kullanıcı arayüzü

Ekran pencereleri oluşturma ve yönetme işlevlerini ve düğmeler ve kaydırma çubukları gibi temel kontrolleri, fare ve klavye girişini ve Windows'un grafik kullanıcı arayüzü (GUI) kısmıyla ilişkili diğer işlevleri sağlayan işlevleri sağlar. Bu işlev birimi, 16-bit Windows'da user.exe ve 32-bit Windows'da user32.dll'de bulunur. Windows XP sürümlerinden bu yana, temel denetimler ortak denetimlerle (Ortak Denetim Kütüphanesi) birlikte Windows USER içinde bulunur.

Ortak İletişim Kutusu Kütüphanesi

Uygulamalara, dosyaları açıp kaydetmek, renk ve yazı tipi vb. seçmek için standart iletişim kutusu sağlar. Kütüphane, 16 bit Windows'da commdlg.dll ve 32 bit Windows'ta comdlg32.dll dosyasında bulunur. API'nin Kullanıcı Arabirimi kategorisi altında gruplandırılmıştır.

Ortak Kontrol Kütüphanesi

Uygulamalara işletim sistemi tarafından sağlanan bazı gelişmiş kontrollere erişim sağlar. Bunlar durum çubuğu, ilerleme çubuğu, araç çubuğu ve sekmeli tarayıcı gibi şeyleri içerir. Kitaplık, 16-bit Windows'ta commctrl.dll ve 32-bit Windows'ta comctl32.dll adlı bir dinamik bağlantı kitaplığı (DLL) dosyasında bulunur. API'nin Kullanıcı Arabirimi kategorisi altında gruplandırılmıştır.[7]

Windows shell

Windows API’nin bileşeni, uygulamaların işletim sistemi kabuk programlama tarafından sağlanan işlevlere erişmesine, değiştirmesine ve geliştirmesine izin verir. Bileşen, 16-bit Windows'taki shell.dll ve 32-bit Windows'taki shell32.dll'de bulunur. Shell Lightweight Utility İşlevleri shlwapi.dll dosyasındadır. API'nin Kullanıcı Arabirimi kategorisi altında gruplandırılmıştır.[8]

Ağ hizmetleri

İşletim sisteminin çeşitli ağ yeteneklerine erişim izni verir. Alt bileşenleri arasında NetBIOS, Winsock, NetDDE, uzaktan yordam çağrısı (RPC) ve daha pek çoğu bulunur. Bu bileşen, 32-bit Windows'ta netapi32.dll içinde bulunur.[9]

Web

Internet Explorer (IE) web tarayıcısı, uygulamalar tarafından sıklıkla kullanılan birçok API'yi de gösterir ve bu nedenle Windows API'nin bir parçası olarak kabul edilebilir. IE, Windows 95 OSR2'den beri işletim sistemine dahil edilmiştir ve Windows 98'den beri uygulamalara web ile ilgili hizmetler sağlamıştır. Özellikle, aşağıdakileri sağlamak için kullanılır:

  • Shdocvw.dll ve mshtml.dll (Microsoft Trident) içinde bulunan bir gömülebilir web tarayıcı kontrolü.
  • Urlmon.dll dosyasında tutulan URL moniker hizmeti, URL'lerin çözümlenmesi için uygulamalara COM nesneleri sağlar. Uygulamalar, başkalarının kullanması için kendi URL işleyicilerini de sağlayabilir.[10]
  • Sistem genelinde Proxy ayarlarını da dikkate alan bir HTTP istemci kitaplığı (wininet.dll); Ancak Microsoft, bazı uygulamalar için daha küçük ve daha uygun olan winhttp.dll adlı başka bir HTTP istemci kitaplığı ekledi.
  • Çok dilli ve uluslararası metin desteğine yardımcı olan bir kütüphane (mlang.dll).
  • DirectX Transform, bir dizi görüntü filtresi bileşenidir.
  • XML desteği (msxml * .dll'de tutulan MSXML bileşenleri).
  • Windows Adres Defterlerine erişim.

Multimedya

Klasik Windows Multimedya API winmm.dll içine yerleştirilir ve ses dosyalarını çalmak, MIDI mesajları göndermek ve almak, joysticklere erişmek ve Windows'tan MCI alt sisteminin adı verilen ve diğer tüm özelliklerini kolaylaştırmak için işlevler içerir. Multimedya Uzantıları, Windows 3.0 için ayrı olarak ve Windows 3.1x'den beri işletim sisteminin ayrılmaz bir parçası olarak bulunurlar;

Bunun dışında, Windows 95 OSR2’den bu yana geçen her Windows sürümünün bir parçası olarak Microsoft, aşağıdakileri içeren, gevşek bir şekilde ilgili grafik ve oyun hizmetleri kümesi olan DirectX API'lerini sağladı:

  • Donanım hızlandırmalı 2D vektör grafikleri için Direct2D.
  • Donanım hızlandırmalı 3D grafikler için Direct3D.
  • Düşük seviye donanım hızlandırmalı ses kartı erişimi için DirectSound.
  • Joystick (oyun çubuğu) ve gamepad gibi giriş cihazlarıyla iletişim için DirectInput.
  • Çok oyunculu bir oyun altyapısı olarak DirectPlay. Bu bileşen DirectX 9'dan itibaren kullanımdan kaldırılmıştır ve Microsoft artık oyun geliştirme için kullanılmasını önermemektedir.[11]
  • Eski DirectX sürümlerinde 2D grafikler için DirectDraw, artık kullanımdan kaldırıldı ve Direct2D ile değiştirildi.
  • Windows 3.x sürümleri için yazılmış 16 bit oyunlarda 2D grafikler için WinG. Windows 95 sürümü ile kullanımdan kaldırıldı.

Microsoft ayrıca medya kodlama ve oynatma için birkaç API sağlar:

  • Genel multimedya boru hatlarını oluşturan ve çalıştıran DirectShow. GStreamer çerçevesiyle karşılaştırılabilir ve genellikle oyun içi videolar oluşturmak ve medya oynatıcıları oluşturmak için kullanılır (Windows Media Player buna dayalıdır). DirectShow artık oyun geliştirme için önerilmemektedir.
  • Media Foundation, DirectShow'un yerini alması amaçlanan daha yeni bir dijital medya API'si.

Kaynakça

  1. ^ "Arşivlenmiş kopya". 13 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  2. ^ "Arşivlenmiş kopya". 13 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  3. ^ "Arşivlenmiş kopya". 2 Kasım 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  4. ^ "Arşivlenmiş kopya". 13 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  5. ^ "Arşivlenmiş kopya". 13 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  6. ^ "Arşivlenmiş kopya". 14 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  7. ^ "Arşivlenmiş kopya". 9 Kasım 2016 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  8. ^ "Arşivlenmiş kopya". 13 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  9. ^ "Arşivlenmiş kopya". 15 Ocak 2013 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  10. ^ "Arşivlenmiş kopya". 13 Ağustos 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 13 Ağustos 2019. 
  11. ^ "Arşivlenmiş kopya". 7 Eylül 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 4 Aralık 2020. 

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Windows Vista</span> 2007de piyasaya sürülen Windows sürümü

Windows Vista, kişisel bilgisayarlar için geliştirilen Microsoft Windows işletim sistemleri ailesinin sürüm olarak altıncı üyesidir. 22 Temmuz 2005'te gerçek adı duyurulmadan önce Longhorn kod adıyla tanınıyordu. Windows Vista, 30 Ocak 2007'de dünya çapında piyasaya sürülmüştür. Microsoft Türkiye, 24 Ocak 2007 tarihindeki tanıtımıyla Vista'nın resmî lansmanını yapan ilk Microsoft şubesi olmuştur. Windows Vista eski sürümle oranla birçok yeni özellik ve değişikliğe sahiptir. Bu değişim geliştirilmiş grafiksel kullanıcı arayüzü, görsel stil, yeniden tasarlanmış arama fonksiyonları, multimedya araçları, yeniden tasarlanmış ağ iletişimi, görüntü ve yazıcı gibi çeşitli fonksiyonları kapsamaktadır.

<span class="mw-page-title-main">Wine</span> Windows yazılımını Unix benzeri sistemlerde çalıştırmak için uyumluluk katmanı

Wine, Linux ve Mac OS X gibi POSIX uyumlu işletim dizgelerinde Windows yazılımlarının çalıştırılmasını sağlayan özgür bir uygulama katmanıdır. Wine'nın açılımı, Wine Is Not an Emulator idir.

<span class="mw-page-title-main">DirectX</span>

DirectX, Microsoft'un video oyunları başta olmak üzere çoklu ortam yazılımlarını rahat, hızlı ve uyumlu şekilde hazırlayabilmek için yarattığı bir uygulama programlama arayüzüdür (API). Şu andaki en güncel resmî sürüm DirectX 12'dir. İçerdiği bileşenlerden bazıları şu şekilde özetlenebilir:

<span class="mw-page-title-main">Windows 95</span> 1995te piyasaya sunulmuş, Windowsun MS-DOS üzerinde yükselen dördüncü ana sürümü

Windows 95, Microsoft'un ürettiği işletim sistemi ailesi Windows'un MS-DOS üzerinde yükselen dördüncü ana sürümüdür.

<span class="mw-page-title-main">Game Maker</span> Oyun motoru

Game Maker, YoYo Games tarafından Delphi programlama dili ile geliştirilmiş bir oyun yapımı programıdır.

<span class="mw-page-title-main">OpenGL</span> grafik uygulama geliştirme arabirimi

OpenGL, gelişmiş donanım desteğini kullanarak hem iki hem de üç boyutlu grafikleri ekrana çizmek için kullanılan ücretsiz bir grafik uygulama geliştirme arabirimidir. Windows, Linux, MacOS ve Solaris gibi birçok işletim sisteminde yaygın olarak ve Playstation 3 başta olmak üzere bazı oyun konsollarınca desteklenir. Donanım tarafında ise SGI, ATI, Nvidia veya Intel gibi büyük üreticiler her ekran kartında OpenGL desteği sunar.

<span class="mw-page-title-main">Windows Kayıt Defteri</span>

Windows Kayıt Defteri, Microsoft Windows 32-bit, 64-bit, sürümleri ve Windows Mobile'da işletim sisteminin seçeneklerini ve ayarlarını tutan bir dizindir. Bu dizin tüm donanımların, işletim sisteminin, çoğu yazılımın, kullanıcıların ve KB'nin ayarlarını tutar. Kullanıcı Denetim masasında ayarlarda bir değişiklik yaparsa bu değişiklikler kayıt defterine yansır ve orada tutulur.

BCX; Kevin Diggins tarafından yazılmış, BASIC dili olan, BCX kaynak kodunu C kaynak koduna çevirip çeşitli C derleyicileri ile derleyebilen ücretsiz bir uygulama programlama yazılımıdır. Son proje çatalları GNU/Linux ve OS X işletim sistemlerinde çalışabilen türevlerinin ortaya çıkması ile sonuçlanmıştır.

Microsoft Windows XP Professional x64 Edition, 25 Nisan 2005 tarihinde yayınlanmış, Windows XP'nin x86-64 destekli sistemler için olan sürümüdür.

<span class="mw-page-title-main">Windows XP görsel stilleri</span> Vikimedya liste maddesi

Windows XP görsel stilleri Windows XP'nin grafik kullanıcı arabiriminin özelleştirilmesidir. "Luna", "Royale", "Zune" ve "Embedded", Windows XP için Microsoft tarafından tasarlanan görsel stillerin kod adlarıdır. Windows XP'den beri, temalar görsel stillerin seçimini de içeriyor. Varsayılan olarak, "Luna", Windows XP Home ve Professional sürümlerine önceden yüklenir; "Royale", Windows XP Media Center Edition'da önceden yüklenir ve "Embedded", Windows XP Embedded'a önceden yüklenmiştir. Microsoft, önceden yüklenmiş görsel stillerin yanı sıra indirmek için ek olanları da piyasaya sürdü. Üçüncü taraflar görsel stilleri de yayımladı, ancak bunlar çekirdek Windows bileşenlerini çalışmak için değiştirmeyi gerektiriyor. Görsel stiller tüm Windows XP sürümleriyle uyumludur. Windows'un önceki sürümleriyle karşılaştırıldığında, yeni stiller, işletim sisteminin grafik çekiciliğine, arayüz boyunca doymuş renkleri ve bitmap'leri kullanarak pencereler için köşeleri yuvarlatarak daha fazla vurgu yapıyor.

<span class="mw-page-title-main">Windows NT mimarisi</span>

Microsoft tarafından üretilen ve satılan bir işletim sistemi satırı olan Windows NT'nin mimarisi, kullanıcı modu ve çekirdek modu olmak üzere iki ana bileşenden oluşan katmanlı bir tasarımdır. Tek işlemcili ve simetrik çok işlemcili (SMP) tabanlı bilgisayarlarla çalışmak üzere tasarlanmış, önleyici, yeniden gelen bir işletim sistemidir. Giriş/çıkış isteklerini işlemek için, I / O istek paketlerini (IRP'ler) ve zaman uyumsuz G / Ç'yi kullanan paket odaklı G / Ç kullanırlar. Windows XP'den başlayarak, Microsoft Windows'un 64 bit sürümleri hazırlanmaya başladı; Bundan önce, bu işletim sistemleri yalnızca 32-bit sürümlerde mevcuttu.

<span class="mw-page-title-main">XNU</span>

XNU, MacOS işletim sisteminde kullanılmak üzere Aralık 1996'dan beri Apple'da geliştirilen ve Darwin işletim sisteminin bir parçası olarak ücretsiz ve açık kaynaklı yazılım olarak piyasaya sürülen bilgisayar işletim sistemi çekirdeğidir. Ayrıca, iOS, tvOS ve watchOS işletim sistemlerinin çekirdeği olarak da kullanılır. XNU, "X Not Unix"'in bir kısaltmasıdır.

<span class="mw-page-title-main">Metin tabanlı kullanıcı arayüzü</span> bir metin ekranına çıktı vermeye veya onu kontrol etmeye dayalı arabirim türü

Metin tabanlı kullanıcı arayüzü, metinsel kullanıcı arayüzü veya terminal kullanıcı arabirimi olarak da adlandırılır, grafik kullanıcı arayüzlerinin (GUI) icadından bir süre sonra ortaya çıkan ve onu grafik kullanıcı arayüzünden ayırt etmek için türetilen yeni bir terimdir. TUI'de bilgisayar grafikleri metin kipinde görüntülenir. Gelişmiş bir TUI, GUI'ler gibi tüm ekran alanını kullanabilir ve fare ve diğer girişleri kabul edebilir.

Cocoa, masaüstü işletim sistemi macOS için Apple'ın yerel nesne yönelimli programlama ve uygulama programlama arayüzüdür (API).

Carbon, Macintosh bilgisayarları çalıştıran işletim sistemi olan Mac OS X için Apple'ın C tabanlı uygulama programlama arayüzlerinden (API) biridir. Carbon, Mac OS 8 ve Mac OS 9 işletim sistemlerinde çalışan programlar için iyi bir geriye dönük uyumluluk sağlamıştır. Geliştiriciler, “klasik” Mac OS ve Macintosh işletim sistemleri yazılımlarını OS X platformuna taşımak için uygulamayı azami çaba harcayarak çok az bir çaba ile kullanabilirler. OpenStep'te ortaya çıkan tamamen farklı Cocoa API sistemidir.

Windows Runtime, 2012 yılında ilk olarak Windows 8 ve Windows Server 2012'de tanıtılan platform tabanlı bir uygulama mimarisidir. WinRT, C++/WinRT, C ++/CX, JavaScript-TypeScript, yönetilen kod dilleri C Sharp ve Visual Basic .NET (VB.NET) 'in geliştirilmesini destekler. WinRT uygulamaları, hem x86 hem de ARM mimarisini doğal olarak destekler ve daha fazla güvenlik ve kararlılık sağlamak için sandbox ortamında çalışabilir. WinRT bileşenleri, yerel, yönetilen ve betik dilleri dahil olmak üzere birden fazla dil ve API arasında birlikte çalışabilirlikle tasarlanmıştır.

<span class="mw-page-title-main">Dinamik bağlantı kitaplığı</span>

Dynamic-link library (DLL), Microsoft'un paylaşılan kitaplık konseptini Microsoft Windows ve OS/2 işletim sistemlerinde kullanılan uygulamasıdır. Bu kitaplıklar genellikle DLL, OCX veya DRV dosya uzantısına sahiptir. DLL dosya biçimleri, Windows .exe dosyalarındakilerle aynıdır; yani 32 bit ve 64 bit Windows için Taşınabilir Yürütülebilir (PE) ve 16 bit Windows için Yeni Yürütülebilir (NE) EXE'lerde olduğu gibi, DLL'ler herhangi bir kombinasyonda kod, veri ve kaynaklar içerebilir.

Microsoft Windows dinamik bağlantı kitaplığı denen paylaşımlı kitaplıklar içerir. Bu kitaplıklardaki kodlara birden fazla program aynı anda erişebilir, ama aynı anda bilgisayarın hafızasına sadece bir tane yüklenir. Bu makale birçok Windows programının kullandığı, bütün modern Windows işletim sistemlerinde bulunan ana kütüphaneleri içermektedir.

WoW64 Microsoft platformlarını çalıştıran bilgisayarlarda, 32-Bit uygulamaları çalıştırabilen Windows 64-Bit işletim sistemlerinde bulunan bir alt sistemdir.

Daha önce Desktop Compositing Engine (DCE) olarak bilinen Masaüstü Pencere Yöneticisi, Windows Vista'dan beri Microsoft Windows'ta bulunan ve Windows'un grafik kullanıcı arayüzünün donanım hızlandırma ile oluşturulmasını sağlayan pencere yöneticisidir.