Well, the nice thing is that (by their very nature) COM objects passed to functions are passed by reference ... can't make copies (even shallow ones) of those.