[1/2] ole32: Accept TYMED_FILE as a possible source of CF_METAFILEPICT format.

Huw Davies huw at codeweavers.com
Fri Oct 30 08:40:35 CDT 2015


On 30 Oct 2015, at 06:07, Dmitry Timoshkov wrote:
> Huw Davies <huw at codeweavers.com> wrote:
>> 
>> This should be easy enough to test.  Create a stand-alone data cache
>> ( using CreateDataCache() ), then call IOleCache_Cache with the
>> relevant fmtetc.
> 
> Ufortunately it's not that simple. IOleCache_Cache() refuses to accept
> FORMATETC for CF_METAFILEPICT with medium set to TYMED_FILE, and both
> IOleCache_SetData() and IOleObject_SetData() don't accept STGMEDIUM set
> to TYMED_FILE either (with properly initialized lpszFileName pointing to
> a valid metafile). I have no idea how an existing storage may have medium
> set to TYMED_FILE, or how to set it for testing purposes besides manually
> patching the storage, any ideas?

In that case you'll have to create the stream by hand and try to load it
(and also fix your patch so that IOleCache_* don't end up accepting 
TYMED_FILE).

Huw.




More information about the wine-devel mailing list