1. To create a standalone snapin do the following
a) A sample snapin is created in samplesnap.?xx files. Use this to get started for a standalone snapin. (USe the standalone part & ignore namespace sample).
b) A CBaseSnapin derived class is created for each snapin. This encapsulates the ComponentData and can create component.
c) The ComponentData and Component delegates any calls to the underlying CBaseSnapinItem derived object. A CBaseSnapinItem is derived from IDataObject (which is also a cookie) which implements default implementation for most of the actions.
d) Add your SNAPININFO and nodetypes to inc\nodetypes.hxx. (Use these snapininfo & nodetypes in CBaseSnapinItem derived class).
e) Add your ComponentData & About objects in TestSnapins.idl.
f) Add any of your resources to TestSnapins.rc.
g) Add an entry to your CBaseSnapin derived object in TestSnapinsList.hxx.
2. To create a namespace extension snapin do the following