Shell Namespace Extension

Hi there expert Delphi programmers.

Does anybody know how I can make an extension to Windows' namespace, that
is, to create my own objects under the Desktop or My Computer objects.  I've
read the documentation in the SDK about this, but I have no idea when it
comes to interfaces.

Has somebody done this before, and could they provide some sample code?

Thanks a lot,