Re: API question
- Posted by David Cuny <dcuny at LANSET.COM> May 01, 2001
- 558 views
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