ATL DLL Vs Win32 DLL - VC++

Hi,
What is the difference between the ATL DLL and Win32 DLL in VC++

? I am not sure which one to select from the template wizard.

IS COM dll different from this ?

I appreciate any input.

Thanks

[207 byte] By [BobHicks] at [2007-12-23]
# 1

These are different technologies. I suggest reading on MSDN on the different topics. Also, ATL is not a supported technology under the Express edition.

In addition, you won't find templates for such technologies in the Express version.

Thanks,

Ayman Shoukry

VC++ Team
AymanShoukry-MSFT at 2007-8-30 > top of Msdn Tech,Visual Studio Express Editions,Visual C++ 2005 Express Edition...
# 2

difference between the ATL DLL and Win32 DLL

==================================

I want to share my knowldge what my understanding. Welcome reply if i give wrong answer.

COM DLL.

========

COM is a specification. ATL is a tool to implement this specification and it generate DLL or EXE. This DLL follow COM specification. So many specification is there in COM.

One of the specification tell, how to export function to client and How to do local transparency using export function?

COM dll can implement any language.(C, C++, VB, Delphi, ATL....) . But we should follow COM specification.

COM DLL should export the following function.

1) DllRegisterServer

2) DllUnregisterServer

3) DllCanIUnloadNow

4) DllGetClassObject

1st function is used for local transparency. Com dll should register before use. It will register in registry using some utility(ex: regsvr32.exe). Then only we can create the instance for COM dll from anywhere in local machine(Local Transparency).When register the dll (using regsvr32 utility), this utility will invoke DllRegisterServer fucntion. This function is used to store the information about dll in Registry. It store the information about dll(clsid, prog id, dll path name and apartments). When you create the instance for com dll first it will search in registry. If given clsid is exist in registry then only it will create the instance for com dll.

2nd unction is used for delete the information from registry for given clsid.

3rd function is used for create the instance for class factory after load COM dll.When you create the instance for COM dll, first search in registry. If COM dll is exist, load the DLL and create the instance.

4th function is used for unload the dll from memory.

Win32 dll

=======

No specification. We can export any function. function name no standard. This dll should be in current directory, windows directory, sytem directory or user path directory. (No local transparency)

If any difference is there between COM DLL and Win32 DLL., Please reply to ayanbala@yahoo.co.in I'm expecting your good comments.

Thanks & Rgs,

Bala

balasubramanian at 2007-8-30 > top of Msdn Tech,Visual Studio Express Editions,Visual C++ 2005 Express Edition...