MS making Win32 api available in other languages

  • Be sure to checkout “Tips & Tricks”
    Dear Guest Visitor → Once you register and log-in please checkout the “Tips & Tricks” page for some very handy tips!

    /Steve.
  • BootAble – FreeDOS boot testing freeware

    To obtain direct, low-level access to a system's mass storage drives, SpinRite runs under a GRC-customized version of FreeDOS which has been modified to add compatibility with all file systems. In order to run SpinRite it must first be possible to boot FreeDOS.

    GRC's “BootAble” freeware allows anyone to easily create BIOS-bootable media in order to workout and confirm the details of getting a machine to boot FreeDOS through a BIOS. Once the means of doing that has been determined, the media created by SpinRite can be booted and run in the same way.

    The participants here, who have taken the time to share their knowledge and experience, their successes and some frustrations with booting their computers into FreeDOS, have created a valuable knowledgebase which will benefit everyone who follows.

    You may click on the image to the right to obtain your own copy of BootAble. Then use the knowledge and experience documented here to boot your computer(s) into FreeDOS. And please do not hesitate to ask questions – nowhere else can better answers be found.

    (You may permanently close this reminder with the 'X' in the upper right.)

coffeeprogrammer

Well-known member
Jul 19, 2021
169
14
Does anyone have more details on this than just what it says in the article? A few months ago I tried writing to the Win32 api in masm and it was kinda of fun and I felt like I could learn alot of the apis and windows things in the process. I was taking a break from C# coding, when I got to the sd times I found this article. I found it kinda of interesting.

 
Most mature languages have a way to call OS specific code, such as the Windows API. Usually it's some sort of external definition. It appears that what is going on here is that MS is publishing ( https://www.nuget.org/packages/Microsoft.Windows.SDK.Win32Metadata/17.0.2-preview ) the WinAPI in a specific format ( https://www.ecma-international.org/publications-and-standards/standards/ecma-335/ ) that can be parsed by user written tools to generate code (or header files, or packages, or whatever is needed) to allow access to WinAPI from languages they don't directly support (as well as the three they do support: C#, C++, Rust.) You can see some of them on the GitHUB page https://github.com/microsoft/win32metadata (right now there is D Lang, Dart and Zig.)

If one wanted, one could support Assembly by generating some macros/functions to wrap calls to these Windows APIs. That ofc would be somewhat antithetical to the small is better mantra of Assembly, but time to code matters too, IMHO.