When your object is created, force it to store the link to itself in a global variable or in some other place of joint storage. Then export the function from your COM DLL that will be read from this location so that you can call it and get a link to the previously created object.
This shared link should not increase the object's reference count, otherwise it will never be destroyed. When your object is destroyed, make sure you clear this shared link.
If you can have multiple instances of this object in the same process, you may need to manage the list, not just one global variable.
source share