Hi Bruce,

COM registers two kinds of handles, one for normal COM objects (c\x05), one for 
enumerators (e\x05).  

I'm not sure, but it seems likely that enumerators obtained from a method on an 
object (they always have to be) are in some way dependent on that object, so if 
the object is released before the enumerator, unpleasant things happen.

The problem is what happens to locals.  They are being registered to be 
automatically freed when they go out of scope.

I think the only way to handle this is to document it.  I can't think of any 
way that the PPROSERVICES interfaces could somehow inform you to free that type 
of handle before that other type.

An alternative is to _not_ make enumerators freeable locals: they'd always have 
to be explicitly released by user.  

Any thoughts?




Reply via email to