• IT-Karriere:
  • Services:

Security: Microsoft baut Windows-API in Rust

Sprachanbindungen für das klassische Win32-API will Microsoft künftig automatisch erstellen. Das dient der Nutzung in Rust und C#.

Artikel veröffentlicht am ,
Microsoft will die Windows-API auch für andere Sprachen zugänglich machen.
Microsoft will die Windows-API auch für andere Sprachen zugänglich machen. (Bild: Les Chatfield, Flickr.com/CC-BY 2.0)

Die grundlegende Windows-API, die auch auch als Win32 bezeichnet wird, lässt sich standardmäßig nur in C und C++ nutzen. Um aber auch in anderen Sprachen wie C# und Rust plattformnah für Windows programmieren zu können, müssen entsprechende Sprachanbindungen und Wrapper erstellt werden. In Community-Projekten wie PInvoke für .NET und Winapi-rs für Rust geschieht das zwar bereits, Microsoft will dies nun aber vollständig automatisieren und stellt dazu auch eine eigene Rust-API bereit.

Stellenmarkt
  1. Leibniz Universität Hannover, Hannover
  2. Interhyp Gruppe, Berlin, München

Das größte Problem der bisherigen Vorgehensweise durch die genannten Projekte ist, dass diese manuell gepflegt werden müssen. Das führt wegen Änderungen an den APIs vor allem langfristig zu vielen Schwierigkeiten und einem sehr hohen Aufwand. Darüber hinaus sind derartige Arbeiten auf einzelne Sprachen beschränkt. Mit einem neuen Projekt will Microsoft nun grundsätzlich eine Lösung für diesen Problembereich finden.

Anbindung aus Metadaten generieren

Umgesetzt werden soll das automatische Erstellen der Anbindungen über ein Metadaten-Projekt. Damit soll die gesamte Win32-API beschrieben werden, was dann wiederum in anderen Sprachen genutzt werden soll. Die Automatisierung soll dabei vor allem für die Korrektheit sorgen sowie den Pflegeaufwand möglichst gering halten. Da die Win32-API sehr groß und vergleichsweise alt sei, werde das Metadaten-Projekt zur Beschreibung der API schrittweise umgesetzt und ist bei der nun erfolgten ersten Veröffentlichung noch nicht vollständig, heißt es.

Zusammen mit dem Hauptentwickler von PInvoke, Andrew Arnott, hat Microsoft das Projekt CSWin32 entwickelt, das die Metadaten nutzt, um entsprechende API-Wrapper zu erstellen. CSWin32 ist auch als Nuget-Paket verfügbar. Analog dazu hat Microsoft mit Windows-rs ein komplett neues Rust-Projekt erstellt, das auf ähnliche Art und Weise aus den Metadaten erzeugt wird. Das schlicht Windows genannte Rust-Crate soll die Nutzung jeder einzelnen Win32-API ermöglichen - so, als wäre es "nur ein weiteres Rust-Modul".

Es ist davon auszugehen, dass Microsoft vor allem die Umsetzung für Rust mittelfristig auch selbst nutzen möchte. So wird das Projekt vor allem von Microsoft-Angestellten getragen und der Hersteller untersucht schon länger, ob und inwiefern Rust in Windows genutzt werden könnte, um das System abzusichern.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Spiele-Angebote
  1. 9,49€
  2. 28,99€
  3. (u. a. Code Vein - Deluxe Edition für 23,99€, Railway Empire - Complete Collection für 23...
  4. 14,99€

Keep The Focus 23. Jan 2021 / Themenstart

nö, WASM ist prinzpiell deutlich schneller als JavaScript und durch das ziemlich große...

Keep The Focus 23. Jan 2021 / Themenstart

Weil das genau das Ziel einer API (und Abstraktion) ist?

Kommentieren


Folgen Sie uns
       


Samsung QLED 8K Q800T - Test

Samsungs preisgünstiger 8K-Fernseher hat eine tolle Auflösung, schneidet aber insgesamt nicht so gut ab.

Samsung QLED 8K Q800T - Test Video aufrufen
    •  /