Re: API question

new topic     » goto parent     » topic index » view thread      » older message » newer message

jjnick wrote:

> Say, what in the world is the Win32 API
> in the grand scheme of things.

To some extend, the core of Windows is fairly small. But it's augmented by
lots of dynamic link libraries that extend the core functionality, adding
things like windowing, gui controls, common dialogs, networking,
telephony... the list goes on. For Microsoft to extend Windows, they merely
have to update a DLL, or add a new one.

The Win32 API is mostly hooks into these DLL libraries. As new routines are
added, and old ones fall into disfavor, the API changes. Each version of
Windows adds new features, and extends the API.

Ever notice that the 'solution' to having old DLLs is to install a current
version of IE (Internet Explorer)? That's because the install replaces the
old DLLs on your machine with new ones. There was a DLL floating around that
you could install that would give you a lot of the GUI functionality of
Win98, for example, just by replacing a single DLL.

For example, the 'coolbar/rebar/toolbar band' that most IE and Microsoft
Office applications use is implemented in a DLL. Everyone wanted that look
and feel in their applications, but you had to have the DLL loaded on your
machine to use it. And the only way you could get the DLL was to install IE.
So you would have non-internet applications that had, as part of their
requirements, IE installed on your machine.

> Will it eventually be phased out for
> something else like MFC?

Well, the Win32 API is a sort of haphazard collection of routines - some
mesh well together, others don't. They are sort of loosely organized - for
example, most GUI routines are in the GDL DLL. (There was some shuffling of
routines to random DLLs in response to the Justice Department investigation,
but that's a major digression).

MFC is a 'wrapper' around these raw routines, much like Win32Lib. It tries
to organize the interface, and hide the actual details of the API. But MFC
is written on top of the Win32 API - not as a replacement to it. If you dig
into the MFC code, you'll find that it eventually makes calls to the Win32
API. So it can't phase out the Win32 API.

Did that answer the question?

-- David Cuny

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu