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#.

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.
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.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
nö, WASM ist prinzpiell deutlich schneller als JavaScript und durch das ziemlich große...
Weil das genau das Ziel einer API (und Abstraktion) ist?
Kommentieren