MS making Win32 api available in other languages

  • DNS Benchmark v2 is Finished and Available!
    Guest:
    That's right. It took an entire year, but the result far more accurate and feature laden than we originally planned. The world now has a universal, multi-protocol, super-accurate, DNS resolver performance-measuring tool. This major second version is not free. But the deal is, purchase it once for $9.95 and you own it — and it's entire future — without ever being asked to pay anything more. For an overview list of features and more, please see The DNS Benchmark page at GRC. If you decide to make it your own, thanks in advance. It's a piece of work I'm proud to offer for sale. And if you should have any questions, many of the people who have been using and testing it throughout the past year often hang out here.
    /Steve.
  • 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
232
20
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.