There is probably no universal solution.
Any COM program can implement an IDataObject by itself, and the data in it can be in a format that you don't understand at all. There is no mandatory rule on where the data should be placed. All you can do is give a format and let the DataObject put it in The data will be transferred and returned to you.
I think your request is wrong. Can you tell me what exactly you want to do?
There is probably no universal solution.
Any COM program can implement an IDataObject by itself, and the data in it can be in a format that you don't understand at all. There is no mandatory rule on where the data should be placed. All you can do is give a format and let the DataObject put it in The data will be transferred and returned to you.
I think your request is wrong. Can you tell me what exactly you want to do?