Hacker News new | past | comments | ask | show | jobs | submit login

It's less about hobbling Edge and more about compelling you to not use Win32 while keeping you stuck in Windows. Win32 needs to die and Microsoft is doing everything it can to kill it while not completely pissing off those that rely upon it.

Part of the problem is that if they force everyone to rewrite Win32 native apps then what's stopping them from just going to MacOS or something else?

They want everyone off Win32 but still locked into Windows.




I'm pretty sure it's not going away, especially because the newer more bloated stuff they're trying to push is built on top of it, and that's not going to change unless MS decides to start officially documenting the native NTAPI.

They day they get rid of Win32 is the day I switch completely to Linux+WINE or even ReactOS.


Such as? Products like Office have undergone significant refactoring to remove reliance on Win32. They have something like over 90% code reuse between Office apps on MacOS, OSX, Android, Win32, and Xaml.

With every release of Windows 10, more and more GDI and Win32 is replaced.

Part of the MinWin project was to extricate Win32 from the kernel and have a true separation.


For example, .NET framework calls into Win32 CreateFile when opening a file:

https://referencesource.microsoft.com/#mscorlib/microsoft/wi...

Products like Office have undergone significant refactoring to remove reliance on Win32.

Then what are they using instead? Whatever it is, how does it provide the basic functions? Does it call into native NT API directly?

Part of the MinWin project was to extricate Win32 from the kernel and have a true separation.

What? Win32 is not part of the kernel, it's a layer on top of the native NT API (or VMM32, if you remember Win9x...)

https://en.wikipedia.org/wiki/Architecture_of_Windows_NT

https://en.wikibooks.org/wiki/X86_Disassembly/Microsoft_Wind...


> Then what are they using instead? Whatever it is, how does it provide the basic functions? Does it call into native NT API directly?

They use a PAL, each platform has it's own PAL and the Windows Kernel as two (WinRT and Win32).

https://www.zdnet.com/article/how-microsoft-is-taking-on-the...

> What? Win32 is not part of the kernel, it's a layer on top of the native NT API (or VMM32, if you remember Win9x...)

It wasn't. When WinNT hit the scene in the 90s there was definitely a distinction between Userland and Kernel space but by XP there was so much encroachment. MinWin was the creation of horizontal layers of separation.

https://betanews.com/2009/12/02/mark-russinovich-on-minwin-t...


Both those articles are heavy on marketing and light on detail, but if the PAL they're talking about is anything like the one described here...

https://arstechnica.com/information-technology/2016/12/how-a...

...the "PAL" is basically the Win32 libraries with a different interface on the other side (in some ways, like WINE), so no, Win32 is not going away.


> Both those articles are heavy on marketing and light on detail

And? Does that somehow invalidate my arguement? The Betanews article is an interview with Mark Russinovich, the Chief Technology Officer for Azure at Microsoft. And as the article says, Microsoft has been making a concerted effort to extricate Win32 from the Kernel and making it an isolated Subsystem as it originally was.

> The principal division of labor in Win32 has historically been vertical, not horizontal, dividing core system kernel functions from "user" input and interactive functions, from graphics and display functions. Even though Windows architecture has evolved to the point where the whole graphics part is essentially deprecated for modern apps, GDI32.DLL is presumed to be present.

The zdnet article is based off a presentation that Microsoft gave at CppCon talking about how they made Microsoft Office Cross Platform. The PAL concept is similar to the HAL in Windows but specific to Office. They very well could have created different PALs that implemented the Win32 API but they didn't.

There are two versions of Office for Windows, one implemented using Win32 and one using WinRT/UWP. The former is mostly around because Microsoft is still supporting versions of Windows prior to 8.

WinRT on Windows 8 actually is a wrapper on top of Win32 but what does that matter?

> if the PAL they're talking about is anything like the one described here... > ...the "PAL" is basically the Win32 libraries with a different interface on the other side (in some ways, like WINE), so no, Win32 is not going away.

So you ask if Drawbridge is the PAL used in Office and then you state that it is in fact the same thus proving that Win32 isn't going away? Drawbridge was born out of a Microsoft Research project in 2011, the talk about Office's PAL is from 2007 and describes something different.

You also didn't bother to read your own article because it states that SQL's PAL emulates about 1% of Win32 API, just enough to run SQL Server and their goal is to remove internal abstractions and merge down all code just above the host extension layer. In other words, get rid of Win32 emulation and the SQLOS abstractions.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: