Information AboutWin32s |
| CATEGORIES ABOUT WIN32S | |
| microsoft apis | |
|
CONCEPT AND CHARACTERISTICS It was intended as an implementation of a subset of Win32, Microsoft's main 32-bit Windows API taken from Windows NT 3.1 . However, several program compilation options and DLLs which were implicit in Windows NT 3.1 have to be included with the application in Win32s. Although ostensibly compatible with early versions of Windows NT, many functions were not implemented including Threading and asynchronous I/O, newer Serial Port functions and many GDI extensions. This essentially limits it to applications specifically designed for the platform. In addition, Microsoft made a long series of unexplained and apparently rather pointless changes to Win32s which are widely regarded as a highly successful attempt to make it impossible for any third-party to market a compatible platform. Whether these changes were anticompetitive or simply due to the inherently unreliable nature of constant Thunking (see below) is not clear. It would not have made sense for Microsoft to make developing for Win32s difficult, as it was intended to ease the transition to Win32 for developers and to get them off Win16 as soon as possible. Win16 was universally regarded by developers (and, privately, by Microsoft) as a very bad thing. At the same time, however, MS were attempting the impossible, both with Windows 3.x and Windows 9x. They had one API (MS-DOS) which hosted another API (Win16) which was hosting another API (Win32s or Win32). To consistently and reliably implement all three was virtually impossible given the limited nature of MS-DOS. A technique named Thunking is fundamental to the implementation of Win32s as well as Chicago-kernel operating systems, which are Windows 95 , Windows 98 and Windows Me . An OS which allows user-level thunking cannot reliably provide memory management or memory protection on a system-wide basis, neither can it offer any core or kernel security. This is the main reason behind the now-legendary instability of Windows 95, Windows 98 and Windows Me - something which Win32s also "boasted". The stability and security NT can offer is partially based on thunking being totally illegal, except thunks from Win16 to Win32 - The CPU must remain in protected mode at all times. Many early 1990's programs that ran on Windows 3.1 and Windows 95 used Win32s instead of completely separate 16 and 32 bit versions. Several Win32s programs that predate Windows 95 can run on it and often Windows 98. Others were purely Win16, such as Word For Windows . In theory there's no such thing as a "Win32s program" since Win32s is a subset of Win32, then there are only "Win32 programs". In practice, however, Win32s differed in more than just implementation and many a perfectly legal Win32 app that ran just fine on Windows NT 3.1 would not initialize at all on Win32s. Microsoft dropped support for Win32s from their developer tools with Visual C++ version 4.2 released in late 1996 . SOURCES AND INSTALLATION To download Win32s, use any web search engine to find the file PW1118.EXE Make sure the page references Win32s before downloading and also ensure you're installing OLE if you require consistent clipboard handling. You'll also then need to reinstall many applications which need to be made OLE aware (i.e. Setting up their OLE server). EXTERNAL LINKS |
|
|