Spirit of the IUnknown
(sung to the tune of “Spirit of the Radio” (Rush, “Permanent waves”))
Words (c) Jason Whittington, 1999
Begin the day with a simple call,
A function unobtrusive
Loads the module that’s so elusive
And a matching context means no marshal goo
Off on your way from the factory
Interfaces at your fingers
QueryInterface gets to you a new one
Just Release the pointer when your object’s through
Transactional objects crackle with life
While they Service SOAP calls from some ASP
Giving their feedback on the final outcome
Making a call to Abort or Set Complete
All this machinery so that you can use it
Is still quite closely guarded
CreateInstance will get you a new object from the factory
(yeah the factory)
One likes to believe that it’s easy to use it,
But the threading models and getting pointers marshaled
shatters the illusion of transparency
the CLSID to marshal was requested by the S-C-M…
F-T-M!
Cookies, From the GIT
For Safety! Ohhhh….For Safe-ty!