First of all, the birth of COM is based on the binary concept of reuse, has been affecting the technical basis of the DLL. It is a specification of the communication between components and components of a binary module in Windows, and ActiveX relies on this technology because something in the browser may need to get the client's local underlying information. And the ATL library, this class library is to assist in writing ActiveX class library, convenient.
First, we need to get a general idea of com: http://www.cnblogs.com/dwjaissk/archive/2012/12/19/2824672.html
Then ATL and ActiveX wrote: http://www.cnblogs.com/13590/archive/2007/08/01/838677.html
An error was found when compiling the ActiveX DLL:
Error MSB8011: Failed to register output. Try to enable per-user redirection, or register the component from a command prompt with elevated permissions.
The solution is to change from per-user redirection of the connector option in the project properties to Yes.
Activex,atl and COM Technologies