Win32 API in pywin32

eryk sun eryksun at gmail.com
Fri Aug 5 16:04:34 EDT 2016


On Fri, Aug 5, 2016 at 11:58 AM, Matt Wheeler <m at funkyhat.org> wrote:
> On Fri, 5 Aug 2016, 02:23 Lawrence D’Oliveiro, <lawrencedo99 at gmail.com>
> wrote:
>
>> On Friday, August 5, 2016 at 12:06:23 PM UTC+12, Igor Korot wrote:
>> >
>> > On Thu, Aug 4, 2016 at 4:57 PM, Lawrence D’Oliveiro wrote:
>> >> On Friday, August 5, 2016 at 11:50:28 AM UTC+12, jj0ge... at gmail.com
>> wrote:
>> >>> According to Python.org Mark Hammond has an Add-on (pywin32) that
>> >>> supports Win32 and COM.
>> >>
>> >> Are people still using Win32? I thought Windows went 64-bit years ago.
>>
>
> The API is still called Win32 (fun fact: on 64 bit windows
> C:\Windows\System32 actually contains the 64 bit system (binaries &
> libraries). The 32 bit equivalents live in a dir called SysWOW64 (stands
> for Windows on Win64 or something) and get mapped to their regular
> locations for any 32 bit processes. That's right, 64 bit libraries live in
> System32 and 32 bits in SysWOW64 :) )*

Officially the name is the "Windows API" (or WinAPI; hence Python's
_winapi module). It was "formerly called the Win32 API" [1]. That
said, referring to it as Win32 is so pervasive in Microsoft's own
documentation, among developers, and in the API itself that the old
name isn't going anywhere.

The system directory and many DLLs retain the "32" suffix in the
64-bit system in order to ease porting 32-bit programs that used
hard-coded paths. I don't know all of the compatibility problems and
constraints (and pressure from important customers) that they faced,
so I won't pointlessly criticize this decision that was made over 15
years ago.

As to the name WOW64 for the 32-bit subsystem, the Microsoft devs (or
marketing department?) who named it apparently don't think like most
people, as evidenced by the many complaints about the name. They
should have realized that WOW64 suggests it's a 64-bit system, not
"Windows [32-bit] on Windows 64-bit".

[1]: https://msdn.microsoft.com/en-us/library/hh920508



More information about the Python-list mailing list