June 22nd, 2006, 01:37 AM
[RESOLVED] Orcas and wrapping native Vista APIs
Doing a bit of work with the Vista Beta 2 SDK, I have realized just how huge a number of new native Vista APIs there are. I'm not necessarily talking about the new controls or user experience APIs, which you have already talked about wrapping. I'm talking about things like IFileOperation, the whole known folder API, the property system, and countless non-COM APIs in every subsystem of Vista. Last I heard there are something like 5000 new APIs.
I feel there's a real need for wrappers of these APIs (especially the COM based APIs). I believe that MFC is a perfect delivery mechanism for these wrappers, for a few reasons:
1) When new APIs are introduced, I find that most of them are wasted (i.e. never used) because people are too afraid to use them since they are not backwards compatible. People want their apps to run on all platforms, but can't be bothered writing all the delayloading or fallback code that is necessary. Having classes help here a lot.
2) The complexities of COM are still lost on a lot of developers. As COM is taking a major role again in Vista with all the new "I" based APIs, the perfect opportunity exists to wrap these APIs as clean C++ based classes that isolate the user from any extra COM intricacies. Compare that with tons of boilerplate code using CoCreateInstance, Class IDs, PIDLs, etc. Believe me when I say a lot of this code is ugly. Check the latest Windows SDK samples in Beta 2 SDK if you don't believe me.
3) Having new APIs grouped together by category into classes, with proper Intellisense is very helpful for new users and increases discoverability of these new APIs.
So my question is: Can you tell me what other work you're planning on doing with respect to native Vista APIs (COM and non-COM based) other than the work you've already announced (Vista User Experience, controls, new common dialogs)
It would be a shame to have a new set of APIs ignored once again.
Click Here to Expand Forum to Full Width
This is a Codeguru.com survey!