Commit 83aa7eff authored by Dmitry Timoshkov's avatar Dmitry Timoshkov Committed by Alexandre Julliard

ole32: Query support also for static storage formats.

parent 1ee773bd
......@@ -102,6 +102,8 @@ static inline void init_fmtetc(FORMATETC *fmt, CLIPFORMAT cf, TYMED tymed)
*/
static HRESULT get_storage(IDataObject *data, IStorage *stg, UINT *src_cf)
{
static const UINT fmt_id[] = { CF_METAFILEPICT, CF_BITMAP, CF_DIB };
UINT i;
HRESULT hr;
FORMATETC fmt;
STGMEDIUM med;
......@@ -132,6 +134,17 @@ static HRESULT get_storage(IDataObject *data, IStorage *stg, UINT *src_cf)
return hr;
}
for (i = 0; i < sizeof(fmt_id)/sizeof(fmt_id[0]); i++)
{
init_fmtetc(&fmt, fmt_id[i], TYMED_ISTORAGE);
hr = IDataObject_QueryGetData(data, &fmt);
if(SUCCEEDED(hr))
{
*src_cf = fmt_id[i];
return hr;
}
}
/* IPersistStorage */
hr = IDataObject_QueryInterface(data, &IID_IPersistStorage, (void**)&persist);
if(FAILED(hr)) return hr;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment