Bill,
Sorry for the delay I've been out of town and mostly offline the last few days.
>I chose the ATL Wizard because presumably you can build a lightweight item with it ( i.e. lighter than using the MFC with it's overhead ). Honestly, in relation to COM DLL vs. API style DLL, I don't know what switches have to be thrown to determine which it will be. What determines this attribute?It's not just compiler switches. If you are doing COM I imagine that ATL is better than MFC at this point. I don't know if there is significant "weight" differences between the two in all honesty. They both end up using a ton of DLL from the Windows\System folder.
To create an API style DLL start the VC project using the MFC AppWizard (dll). This is what the two VC++ examples on my website use.
>Since you say that the COM DLL handles everything with VARIANT type parameters, it generates a couple of questions. How would these parameters be declared on the C++ end in this case?I was wrong with that because I have spent so much time calling a VFP COM object from VC lately. In the VC COM I think you can use normal C++ types. But I can't verify it because I can't seem to get the method as part of the public interface of the test code I just created. I get unknown name COM errors when trying to call it from VFP.
>Since I want to make API calls in the DLL to return system data, am I approaching this the wrong way, and if so, what should I do different?I think it should work just fine.