Using COM Smart Pointers in the file utilctl.h in BCB3

I would like to use the COM smart pointer templates in the file utilctl.h.
I am not really familiar with templates.  Is there any code examples or
could anyone explain to me how to use them.  It seems that I can send a COM
object into the template and the template wraps the object and overloads the
different operators.  Could anyone help on the issue.  Thanks in advance
David