COM concepts

Here is one article which i found very useful when I was looking for something on COM. There are lot many sites on COM, but this one is explained in the simple language and covers all the important concepts of COM. It starts from basics like class and interface and goes on till threading. It also has links to other advanced COM concepts. For me this is one stop site to quickly refer to the COM concepts.

I have been reading a codeproject article on writing shell namespace extensions which is my favorite COM concept! Shell namespace extension is basically a COM component which integrates into Windows Explorer. For example, you can write an extension which actually is shown as a virtual drive in Windows Explorer. Clicking on this drive might show the registry contents or connect to gmail to show the gmail file attachments and so on.

The article is very simple though it addresses a complex concept. I have been in the team of maintaining a shell namespace extension for last two years and I have always wondered how it is developed. This article explains basics of shell namespace and goes into detail.

A PIDL (Pointer to ID List) is the basic concept of shell extension. it is the data structure Explorer uses to organize the items and sub-folders that are shown in the tree view. IEnumIDList, IShellView, IShellFolder are important namespace extension Interfaces.

Shell namespace extension itself is a big COM topic which has various concepts like PIDLs, namespaces, handling the treeview and folder views and many more.

0 comments: