Windows -API
Das Windows -APIinformell Winapi, ist Microsofts Kernset von Anwendungsprogrammierschnittstellen (APIs) erhältlich in der Microsoft Windows Betriebssysteme. Der Name Windows -API bezieht sich gemeinsam auf verschiedene Plattformimplementierungen, auf die häufig von ihren eigenen Namen bezeichnet wird (z. B., Win32 API); Siehe das Versionen Sektion. Fast alle Windows -Programme interagieren mit der Windows -API. Auf der Windows NT -Linie der Betriebssysteme eine kleine Anzahl (wie die Programme, die früh in der Startseite begonnen haben Windows -Startprozess) Verwenden Sie die Einheimische API.[1]
Entwicklerunterstützung ist in Form von a erhältlich Softwareentwicklungskit, Microsoft Windows SDKBereitstellung von Dokumentationen und Tools, die zum Erstellen von Software basierend auf der Windows -API und zugehörigen Windows -Schnittstellen erforderlich sind.
Die Windows -API (Win32) konzentriert sich hauptsächlich auf die Programmiersprache C[2] In diesem Sprache werden seine exponierten Funktionen und Datenstrukturen in dieser Sprache in jüngsten Versionen seiner Dokumentation beschrieben. Die API kann jedoch von jeder Programmiersprache verwendet werden Compiler oder Assembler in der Lage, die (gut definierten) Datenstrukturen mit niedriger Ebene zusammen mit den vorgeschriebenen Daten zu bewältigen Konventionen anrufen für Anrufe und Rückrufe. In ähnlicher Weise wurde die interne Implementierung der API -Funktion historisch in mehreren Sprachen entwickelt.[a] Trotz der Tatsache, dass C nicht ein ist Objekt orientierte Programmierung Sprache, Windows-API und Windows wurden historisch als objektorientiert beschrieben. Es gab auch viele Wrapper-Klassen und -Anweiterungen (von Microsoft und anderen) für objektorientierte Sprachen, die diese objektorientierte Struktur explizit machen (Microsoft Foundation Class Library (MFC), Bibliothek für visuelle Komponenten (Vcl), GDI+, etc.). Zum Beispiel, Windows 8 Bietet die Windows -API und die Winrt API, die in implementiert ist in C ++[3] und ist objektorientiert von Design.[3]
Überblick
Die von der Windows -API bereitgestellten Funktionen können in acht Kategorien eingeteilt werden:[4]
- Basisdienste
- [5] Bereiten Sie Zugriff auf die grundlegenden Ressourcen, die einem Windows -System zur Verfügung stehen. Enthalten sind Dinge wie Dateisysteme, Geräte, Prozesse, Themen, und Fehlerbehandlung. Diese Funktionen wohnen in kernel.exe, krnl286.exe oder krnl386.exe Dateien auf 16-Bit-Fenstern und kernel32.dll und Kernelbase.dll Bei 32 und 64 Bit -Fenstern. Diese Dateien befinden sich im Ordner \ Windows \ system32 auf allen Versionen von Windows.
- Fortgeschrittene Dienste
- Bieten Sie Zugang zu Funktionen jenseits des Kernels. Enthalten sind Dinge wie die Windows -Registrierungstarten/stoppen/erstellen a Windows -ServiceVerwalten Sie Benutzerkonten. Diese Funktionen wohnen in advapi32.dll und Advapires32.dll An 32-Bit-Fenstern.
- Grafikgerätschnittstelle
- [6] Bietet Funktionen zum Ausgabe von Grafikinhalten an Monitore, Drucker, und andere Ausgabegeräte. Es wohnt in gdi.exe an 16-Bit-Fenstern und GDI32.dll Auf 32-Bit-Windows im Benutzermodus. Kernel-Mode-GDI-Unterstützung wird von bereitgestellt von
Win32K.Sys
die direkt mit dem Grafiktreiber kommuniziert.[7] - Benutzeroberfläche
- [8] Bietet die Funktionen zum Erstellen und Verwalten des Bildschirms Fenster und die meisten grundlegenden Kontrollen, wie z. Tasten und Bildlaufleisten, Empfangen Sie Maus- und Tastatureingaben und andere Funktionen, die dem zugeordnet sind grafische Benutzeroberfläche (GUI) Teil von Windows. Diese funktionale Einheit liegt in user.exe an 16-Bit-Fenstern und user32.dll An 32-Bit-Fenstern. Seit Windows XP Versionen, die grundlegenden Steuerelemente wohnen in comctl32.dllzusammen mit den gemeinsamen Kontrollen (gemeinsame Kontrollbibliothek).
- Gemeinsames Dialogfeld Bibliothek
- [9] Bietet Anwendungen den Standard Dialogboxen So öffnen und speichern Sie Dateien, wählen Sie Farbe und Schriftart usw. Die Bibliothek befindet sich in einer Datei mit dem Namen commdlg.dll an 16-Bit-Fenstern und comdlg32.dll An 32-Bit-Fenstern. Es ist unter dem gruppiert Benutzeroberfläche Kategorie der API.
- Gemeinsame Kontrollbibliothek
- [10] Gibt Anwendungen Zugriff auf einige vom Betriebssystem bereitgestellte erweiterte Steuerelemente. Dazu gehören Dinge wie Statusbalken, Fortschrittsriegel, Symbolleisten und Registerkarten. Die Bibliothek wohnt in a Dynamische Link Bibliothek (DLL) Datei aufgerufen commctrl.dll an 16-Bit-Fenstern und comctl32.dll An 32-Bit-Fenstern. Es ist unter dem gruppiert Benutzeroberfläche Kategorie der API.
- Windows Shell
- [11][12] Die Komponente der Windows -API ermöglicht Anwendungen, auf Funktionen zugreifen, die von der bereitgestellt werden Betriebssystem Shellund um es zu verändern und zu verbessern. Die Komponente liegt in Shell.dll an 16-Bit-Fenstern und Shell32.dll An 32-Bit-Fenstern. Die Schalen -Leichtnutzfunktionen sind in Shlwapi.dll. Es ist unter dem gruppiert Benutzeroberfläche Kategorie der API.
- Netzwerkdienste
- [13] Geben Sie Zugang zu den verschiedenen Networking Fähigkeiten des Betriebssystems. Zu seinen Unterkomponenten gehören Netbios, Winsock, Netdde, Remote -Verfahrensanruf (RPC) und vieles mehr. Diese Komponente liegt in netapi32.dll An 32-Bit-Fenstern.
Netz
Das Internet Explorer (Dh) Webbrowser enthüllt auch viele APIs, die häufig von Anwendungen verwendet werden und als solches als Teil der Windows -API angesehen werden können. IE wurde seitdem in das Betriebssystem aufgenommen Windows 95 OSR2 und hat seitdem Web-bezogene Dienste für Anwendungen zur Verfügung gestellt Windows 98.[14] Insbesondere wird es verwendet, um:
- Eine eingebettete Webbrowsersteuerung, enthalten in shdocvw.dll und mshtml.dll.
- Der URL -Moniker -Gottesdienst, der in gehalten wird urlmon.dll, der bereitstellt Com Objekte für Anwendungen zur Lösung von URLs. Anwendungen können auch ihre eigenen URL -Handler für andere zur Verfügung stellen.
- Eine HTTP-Clientbibliothek, die auch systemweite Proxy-Einstellungen (WinInet.dll) berücksichtigt; Microsoft hat jedoch eine weitere HTTP -Clientbibliothek namens winHTTP.dll hinzugefügt, die für einige Anwendungen kleiner und besser geeignet ist.
- Eine Bibliothek zur Unterstützung von mehrsprachigen und internationalen Textunterstützung (mlang.dll).
- DirectX -Transformationen, ein Satz von Bildfilterkomponenten.
- XML -Unterstützung (die MSXML -Komponenten, gehalten in msxml*.dll).
- Zugriff auf die Windows -Adressbücher.
Multimedia
Die klassische Windows Multimedia-API wird in WinMm.dll platziert und enthält Funktionen zum Abspielen von Sounddateien, zum Senden und Empfangen von MIDI-Nachrichten, zum Zugriff auf Joysticks und die Erleichterung aller anderen Funktionen der sogenannten MCI Subsystem von Windows, das aus dem stammt Multimedia -Erweiterungen Verfügbar für Windows 3.0 separat und als integraler Bestandteil des Betriebssystems seit Windows 3.1. Zu diesem Zeitpunkt befanden sich sie in MMSystem.dll.
Abgesehen davon als Teil jeder Windows -Version seitdem Windows 95 OSR2 hat Microsoft die bereitgestellt DirectX APIs - eine locker verwandte Reihe von Grafik- und Spieldiensten, darunter:
- Direct2D Für Hardware-beschleunigte 2D-Vektorgrafiken.
- Direct3d Für hardwarebeschleunigte 3D-Grafiken.
- Regie Für Hardware-Beschleunigungs-Soundkartenzugriff auf niedriger Ebene.
- DirectInput Für die Kommunikation mit Eingabegeräten wie Joysticks und Gamepads.
- DirectPlay als Multiplayer -Gaming -Infrastruktur. Diese Komponente wurde ab DirectX 9 veraltet, und Microsoft empfiehlt nicht mehr ihre Verwendung für die Spielentwicklung.
- Direkt zeichnen Für 2D -Grafiken in früheren DirectX -Versionen, jetzt veraltet und durch Direct2D ersetzt.
- Flügel Für 2D-Grafiken in 16-Bit-Spielen für Windows 3.x-Versionen. Veraltet mit Windows 95 Release.
Microsoft bietet auch mehrere APIs für Mediencodierung und Wiedergabe:
- Direkt zeigen, der generische Multimedia -Pipelines baut und betreibt. Es ist vergleichbar mit dem Gstreamer Framework und oft verwendet, um Videos im Spiel zu rendern und Medienspieler zu erstellen (Windows Media Player basiert darauf). DirectShow wird nicht mehr für die Spielentwicklung empfohlen.
- Medienstiftung, Eine neuere API für digitale Medien, die DirectShow ersetzen soll.
Programminteraktion
Die Windows -API wurde hauptsächlich für die Wechselwirkung zwischen dem entwickelt Betriebssystem und eine Anwendung. Für die Kommunikation zwischen verschiedenen Windows -Anwendungen hat Microsoft neben der Haupt -Windows -API eine Reihe von Technologien entwickelt. Dies begann mit Dynamischer Datenaustausch (DDE), das von abgelöst wurde von Objektverbindung und Einbettung (OLE) und später von der Komponentenobjektmodell (Com), Automatisierungsobjekte, ActiveX Kontrollen und die .NET Framework. Es gibt nicht immer eine klare Unterscheidung zwischen diesen Technologien, und es gibt viel Überschneidungen.
Die Vielzahl der Begriffe ist im Grunde das Ergebnis von Gruppierungssoftware -Mechanismen, die sich auf einen bestimmten Aspekt der Softwareentwicklung beziehen. Die Automatisierung bezieht sich speziell auf den Exportieren der Funktion einer Anwendung oder Komponente (als eine Programmierschnittstelle (API)), so dass es von anderen Anwendungen anstelle von menschlichen Benutzern gesteuert werden kann. Just-in-Time (JIT) zusammengestellt Sprachen.
Windows.pas ist a Pascal/Delphi Einheit, die die enthält Fenster-Spezifische API -Deklarationen. Es ist das Pascal -Äquivalent zu Windows.h, verwendet in C.[15]
Wrapper -Bibliotheken
Verschiedene Wrapper wurden von Microsoft entwickelt, das einige der niedrigsten Funktionen der Windows -API übernahm und die Anwendungen ermöglichte, abstrakter mit der API zu interagieren. Microsoft Foundation Class Library (MFC) Eingepackte Windows -API -Funktionalität in C ++ Klassenund erlaubt so mehr objektorientierter Weg, um mit der API zu interagieren. Das Aktive Vorlagenbibliothek (ATL) ist a Schablone Orientierter Wrapper für com. Das Windows -Vorlagebibliothek (WTL) wurde als Erweiterung des ATL entwickelt und als kleinere Alternative zu MFC gedacht.
Die meisten Anwendungsrahmen Für Windows (zumindest teilweise) wickeln Sie die Windows -API ein. Und so kam es dass der .NET Framework und Java, ebenso wie jeder andere Programmiersprachen Unter Windows sind (oder enthalten) Wrapper -Bibliotheken.
Geschichte
Die Windows -API hat immer einen großen Teil der zugrunde liegenden Struktur der Windows -Systeme für Programmierer ausgesetzt. Dies hatte den Vorteil, ihnen viel Flexibilität und Macht gegenüber ihren Anwendungen zu verschaffen, aber auch eine große Verantwortung dafür, wie Anwendungen mit verschiedenen mit einem verbundenen Vorgängen mit niedrigem Niveau umgehen, die mit einem verbunden sind grafische Benutzeroberfläche.
Zum Beispiel schreibt ein anfänglicher C -Programmierer oft die einfache "Hallo Welt" als erste Aufgabe. Der Arbeitsteil des Programms ist nur eine einzige Printf -Linie innerhalb der Hauptunterroutine. Der Overhead für die Verknüpfung mit der Standard -E/A -Bibliothek ist ebenfalls nur eine Zeile:
#enthalten int hauptsächlich(Leere) { printf("Hallo Welt!\n"); }
Die Windows -Version war immer noch nur eine funktionierende Codezeile, aber es erforderte viele, viele weitere Zeilen von Gemeinkosten. Charles Petzold, der mehrere Bücher über das Programmieren für die Windows -API schrieb, sagte: "Das Original Hallo Weltprogramm In den Windows 1.0 war SDK ein kleiner Skandal. Hallo. (...) Veteranenprogrammierer rollten sich oft in Horror oder Lachen zusammen, wenn sie auf das Windows Hello-World-Programm stoßen. "[16]
Im Laufe der Jahre wurden verschiedene Änderungen und Ergänzungen an Windows -Systeme vorgenommen, und die Windows -API änderte sich und wuchs, um dies widerzuspiegeln.[17] Die Windows -API für Windows 1.0 weniger als 450 unterstützt Funktionsaufrufe, während moderne Versionen der Windows -API Tausende unterstützen. Im Allgemeinen blieb die Schnittstelle jedoch ziemlich konsistent, und eine alte Windows 1.0 -Anwendung sieht einem Programmierer, der an die moderne Windows -API gewöhnt ist, weiterhin bekannt.[18]
Microsoft hat sich bemüht, zu warten Rückwärtskompatibilität. Um dies zu erreichen, implementierte Microsoft bei der Entwicklung neuer Windows-Versionen manchmal Problemumgehungen, um die Kompatibilität mit Software von Drittanbietern zu ermöglichen, die die vorherige Version auf eine undokumentierte oder sogar unvernehmliche Weise verwendete. Raymond Chen, ein Microsoft -Entwickler, der an der Windows -API arbeitet, hat gesagt: "Ich könnte wahrscheinlich monatelang nur über schlechte Dinge schreiben, die Apps tun und was wir tun mussten, um sie wieder zum Arbeiten zu bringen (oft trotz sich selbst). Aus diesem Grund Ich bin besonders wütend, wenn die Leute Microsoft bei den Betriebsbetriebs -Upgrades böswillig gebrochen haben. Wenn eine Anwendung unter Windows 95 nicht ausgeführt wurde, habe ich es als persönlicher Fehler angesehen. "[19]
Eine der größten Änderungen an der Windows -API war der Übergang von Win16 (versandt in Windows 3.1 und älter) zu Win32 (Windows NT und Windows 95 und Up). Während Win32 ursprünglich mit eingeführt wurde mit Windows NT 3.1 und Win32s Ermöglichte Verwendung einer Win32 -Untergruppe vor Windows 95, erst als Windows 95, in dem die Anwendungen auf Win32 weit verbreitet waren. Um den Übergang in Windows 95 für Entwickler außerhalb und innerhalb von Microsoft, einem komplexen API -Schema, zu erleichtern Thunks Es wurde verwendet, dass 32-Bit-Code einen 16-Bit-Code (für den größten Teil von Win16-APIs) aufrufen und umgekehrt. Flache Thunks Ermöglichte 32-Bit-Code in 16-Bit-Bibliotheken, und das Schema wurde ausgiebig in den Bibliotheken von Windows 95 verwendet, um zu vermeiden, dass das gesamte Betriebssystem auf Win32 in einer Stapel portiert wird. In Windows NT war das Betriebssystem rein 32-Bit, mit Ausnahme von Teilen für die Kompatibilität mit 16-Bit Der Code benötigt für diese Thunks. Versionen von 64-Bit Fenster können auch 32-Bit-Anwendungen über ausführen Wow64. Der Ordner SYSWOW64 im Windows-Ordner im Betriebssystemantrieb enthält mehrere Tools zur Unterstützung von 32-Bit-Anwendungen.
Versionen
Fast jede neue Version von Microsoft Windows hat seine eigenen Ergänzungen und Änderungen an der Windows -API eingeführt.[20] Der Name der API blieb jedoch zwischen verschiedenen Windows -Versionen konsistent, und die Namensänderungen wurden auf wichtige Architektur- und Plattformänderungen für Windows beschränkt. Microsoft änderte schließlich den Namen der damals aktuellen Win32-API-Familie in Windows-API und verwandelte es für frühere und zukünftige API-Versionen in eine Saison.[4]
- Win16 ist die API für die erste, 16-Bit Versionen von Microsoft Windows. Diese wurden anfangs einfach als einfach als die bezeichnet Windows -API, wurde aber später umbenannt in 16, um sie von der neueren 32-Bit-Version der Windows-API zu unterscheiden. Die Funktionen der Win16 -API befinden sich hauptsächlich in den Kerndateien des Betriebssystems: kernel.exe (oder krnl286.exe oder krnl386.exe), user.exe und gdi.exe. Trotz der Dateierweiterung von exe, diese sind tatsächlich Dynamische Linkbibliotheken.
- Win32 ist der 32-Bit Programmierschnittstelle (API) für Versionen von Windows ab 95. Die API besteht aus Funktionen, die wie bei Win16 in System -DLLs implementiert sind. Die Kerndlls von Win32 sind kernel32.dll, user32.dll, und GDI32.dll. Win32 wurde mit vorgestellt mit Windows NT. Die Version von Win32 wurde mit verschickt mit Windows 95 wurde anfangs als Win32C bezeichnet, mit c Bedeutung Kompatibilität. Diese Amtszeit wurde später von Microsoft zugunsten von Win32 aufgegeben.
- Win32s ist eine Erweiterung für die Windows 3.1x Familie von Microsoft Windows, die a implementierten Teilmenge der Win32 -API für diese Systeme. Das "S" steht für "Teilmenge".
- Win64 ist die Variante der API auf 64-Bit Plattformen des Windows -Architektur (Ab 2021[aktualisieren], x86-64 und Aarch64).[b][21][22] Sowohl 32-Bit- als auch 64-Bit-Versionen einer Anwendung können weiterhin aus einem zusammengestellt werden CodebasisObwohl einige ältere APIs veraltet wurden und einige der APIs, die bereits in Win32 veraltet waren, wurden entfernt. Alle Erinnerungen Zeiger sind standardmäßig 64-Bit (die LLP64 Modell), so dass der Quellcode auf Kompatibilität mit 64-Bit überprüft werden muss Zeigerarithmetik und nach Bedarf neu geschrieben.[23]
- Zusammenzucken ist die Implementierung der Windows -API für die Windows CE Betriebssystem.
Andere Implementierungen
Das Wein Das Projekt bietet eine Win32 -API Kompatibilitätsschicht zum Unix-artig Plattformen, zwischen Linux -Kernel -API und Programme für die Windows -API. Reactos Geht noch einen Schritt weiter und zielt darauf ab, das vollständige Windows-Betriebssystem zu implementieren, um eng mit dem Weinprojekt zusammenzuarbeiten, um die Wiederverwendung und Kompatibilität der Code zu fördern. Doswin32 und HX dos Extender sind andere Projekte, die die Windows -API emulieren, damit einfache Windows -Programme von a ausgeführt werden können DOS Befehlszeile. Odin ist ein Projekt, um Win32 zu emulieren OS/2Ersetzt die ursprüngliche Win-OS/2-Emulation, die auf Microsoft-Code basierte. Andere kleinere Implementierungen umfassen die Mewel und Zink Bibliotheken, die eine Teilmenge der Win16 -API auf DOS implementieren sollten (siehe Liste der plattformunabhängigen GUI-Bibliotheken).
Windows Interface Source -Umgebung (WISE) war ein Lizenzprogramm von Microsoft, mit dem Entwickler Windows-basierte Anwendungen neu kompilieren und ausführen konnten Unix und Macintosh Plattformen. Wise SDKs basierten auf einem Emulator der Windows -API, der auf diesen Plattformen ausgeführt werden konnte.[24]
Zu den Bemühungen um die Standardisierung gehörten Suns Öffentliche Windows -Schnittstelle (PWI) für Win16 (siehe auch: Sun Windows Application Binary Interface (Wabi)), Willows Software's Anwendungsprogrammierschnittstelle für Windows (APIW) für Win16 und Win32 (siehe auch: Willows Twin), und ECMA-234, was versuchte, die Windows -API bindend zu standardisieren.
Compiler -Unterstützung
Um Software zu entwickeln, die die Windows-API verwendet, muss ein Compiler in der Lage sein, die oben aufgeführten Microsoft-spezifischen DLLs zu verwenden (die Objekte sind außerhalb von Win32 und nehmen ein bestimmtes VTABLE-Layout an). Der Compiler muss entweder die Header -Dateien verarbeiten, die die Namen der Innen -API -Funktionsnamen freilegen oder solche Dateien angeben.
Für die Sprache C ++, Zortech (später Symantec, dann Digital Mars), Watcom und Borland haben alle bekannte kommerzielle Compiler produziert, die häufig mit Win16, Win32s und Win32 verwendet wurden. Einige von ihnen lieferten Speicherleiter, sodass Win32 -Programme mit Microsoft von Microsoft win32s dll auf Win1 betreiben können. Der Zortech -Compiler war wahrscheinlich einer der ersten stabilen und verwendbaren C ++ - Compiler für die Windows -Programmierung, bevor Microsoft einen C ++ - Compiler hatte.
Für bestimmte Anwendungsklassen sollte das Compiler -System auch in der Lage sein, verarbeiten Schnittstellenbeschreibung Sprache (IDL) Dateien. Zusammengenommen sind diese Voraussetzungen (Compiler, Werkzeuge, Bibliotheken und Header) als die bekannt Microsoft Plattform SDK. Eine Zeit lang das Microsoft Visual Studio und BorlandDas integrierte Entwicklungssystem waren das einzige Integrierte Entwicklungsumgebungen (IDES), die dies bereitstellen könnten (obwohl der SDK kostenlos von der gesamten IDE -Suite kostenlos heruntergeladenbar ist Microsoft Windows SDK für Windows 7 und .NET Framework 4).
Ab 2016[aktualisieren], das Mingw und Cygwin Projekte bieten auch ein solches Umfeld basierend auf dem GNU Compiler -Sammlung (GCC) Verwenden einer eigenständigen Header-Datei, um die Verknüpfung mit dem Win32-spezifischen DLLs einfach zu verkleinern. LCC-Win32 ist ein C -Compiler, der von Jacob Navia gepflegt wird, Freeware Für nichtkommerzielle Verwendung. Pelles C ist ein Freeware C -Compiler von Pelle Orinius. Kostenloser Pascal ist ein gratis Software Objekt Pascal Compiler, der die Windows -API unterstützt. Das Masm32 -Paket ist ein ausgereiftes Projekt, das die Windows -API unter Unterstützung unterstützt Microsoft Macro Assembler (MASM) Durch die Verwendung maßgefertigter oder konvertierter Header und Bibliotheken aus der Plattform SDK. Flat Assembler Fasm Ermöglicht das Erstellen von Windows -Programmen, ohne einen externen Linker zu verwenden, auch wenn es unter Linux ausgeführt wird.
Für den Windows -spezifischen Compiler -Support wird ebenfalls benötigt Strukturierte Ausnahmebehandlung (SEH). Dieses System dient zwei Zwecken: Es liefert ein Substrat, auf dem sprachspezifisch Ausnahmebehandlung kann implementiert werden, und so benachrichtigt der Kernel Anwendungen über außergewöhnliche Bedingungen wie Dereferenzierung eines ungültigen Zeigers oder eines Stapelüberlaufs. Die Microsoft/Borland C ++ - Compiler hatten die Möglichkeit, dieses System zu verwenden, sobald es in Windows 95 und NT eingeführt wurde. Die tatsächliche Implementierung war jedoch ohne Papiere und musste für das Weinprojekt und kostenlose Compiler umgekehrt werden. SEH basiert darauf, Ausnahmehandlerrahmen auf den Stapel zu drücken und sie dann zu einer verknüpften Liste hinzuzufügen, die in gespeicherter Liste gespeichert ist Thread-lokaler Speicher (Das erste Feld des Thread -Umgebungsblocks). Wenn eine Ausnahme ausgelöst wird, entspannen die Kern- und Basisbibliotheken den Stapel, der mit Handlern und Filtern bewegt wird, sobald sie auftreten. Schließlich wird jede Ausnahme, die von der Anwendung nicht behandelt wird, von dem Standard -Backstop -Handler behandelt, der den Windows Common Crash -Dialog aufgreift.
Siehe auch
- Windows -Bibliotheken für Betriebssystem/2
- Interix
- Linux -Kernel -API
- Microsoft Windows -Bibliotheksdateien
- Windows Legacy -Audiokomponenten
- C ++/Winrt, eine Bibliothek, die Zugriff auf Windows -Laufzeit
Anmerkungen
- ^ Beide Sprachen Pascal und x86 Montage war in früheren Versionen der Windows -API stark eingesetzt worden, bevor C dominant wurde. Eine Erinnerung daran ist, dass die API -Funktionen die noch verwenden Pascal Calling Convention So restaurieren Sie den Stapel von Push -Parametern nach einem Aufruf (obwohl sie von rechts nach links gedrückt werden, wie es die meisten C -Compiler standardmäßig tun).
- ^ Die Nomenklatur von veröffentlichten 64-Bit-Versionen enthält Windows XP Professional X64 Edition und X64-Ausgaben von Windows Server 2003, Windows Vista und Windows Server 2008 auf der X86-64 (AMD64) -Plattform und Windows 2000 Server Limited Edition, Windows XP 64-Bit Edition, Windows Advanced Server 2003 für Itanium und Windows 2008 Advanced Server für Itanium auf der IA-64 Plattform.
Verweise
- ^ Russsinovich, Mark (November 2006). "Inside native Anwendungen". Microsoft Docs. Abgerufen 12. April, 2022.
- ^ "Walkthrough: Erstellen Sie eine herkömmliche Windows -Desktop -Anwendung (C ++)". Microsoft Docs. 23. Februar 2022.
- ^ a b Mayberry, Michael (2012). Winrt enthüllte. New York City: Apress. p. 3. ISBN 978-1-4302-4585-8.
- ^ a b Microsoft Developer Network (Juli 2005). Überblick über die Windows -API. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Juli 2005). Basisdienste. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Juli 2005). Grafikgerätschnittstelle. Abgerufen am 28. August 2005.
- ^ "G". Microsoft Developer Network. Abgerufen 2009-01-28.
- ^ Microsoft Developer Network (Juli 2005). Benutzeroberfläche. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (2005). Gemeinsames Dialogfeld Bibliothek. Abgerufen am 22. September 2005.
- ^ Microsoft Developer Network (Juli 2005). Gemeinsame Kontrollbibliothek. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Juli 2005). Windows Shell. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (2005). Shell Programmer's Guide. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Juli 2005). Netzwerkdienste. Abgerufen am 28. August 2005.
- ^ Microsoft Developer Network (Januar 2006); Programmieren und Wiederverwendung des Browsers Abgerufen am 22. Januar 2006.
- ^ Texeira, Steve und Xavier Pacheco (2002). Borland Delphi 6 Entwicklerhandbuch. Sams. p. 253. ISBN 0672321157.
- ^ Charles Petzold (Dezember 2001). Programmieren von Microsoft Windows mit C#. Microsoft Press. Jenseits der Konsole, Seite 47.
- ^ Detaillierte Analyse von Änderungen in der Windows -API von XP bis 10. Abgerufen am 08. September 2016.
- ^ Charles Petzold (11. November 1998). Programmierfenster, fünfte Ausgabe. Microsoft Press. APIs und Speichermodelle, Seite 9.
- ^ Raymond Chen (15. Oktober 2003). Was ist mit BozosliveHere und TabthETEXTOUTForWimps? Abgerufen am 29. Juni 2022.
- ^ Das Iseran -Projekt (1996–2001). Geschichte der Windows -API. Abgerufen am 7. Oktober 2005.
- ^ "Windows XP Professional X64 Edition Homepage". Microsoft.
- ^ "Microsoft 64-Bit Computing-Übersicht". Microsoft.
- ^ "MSDN: Vorbereitungen für 64-Bit-Fenster". Microsoft.
- ^ WEISE Archiviert 2008-03-30 bei der Wayback -Maschine
Externe Links
- MSDN Windows -API -Index
- Windows -API -Microsoft -Code -Samples
- ECMA-234 – ECMA Standard für eine Teilmenge der Windows -API
- Advanced Win32 API Newsgroup
- Französische Win32 API Newsgroup