Replace stub entry for StgOpenStorageEx with call to StgOpenStorage.
This commit is contained in:
parent
b3957e3004
commit
6e028f414d
|
@ -247,7 +247,7 @@
|
||||||
@ stub STGMEDIUM_UserUnmarshal
|
@ stub STGMEDIUM_UserUnmarshal
|
||||||
@ stub StgOpenAsyncDocfileOnIFillLockBytes
|
@ stub StgOpenAsyncDocfileOnIFillLockBytes
|
||||||
@ stdcall StgOpenStorage(wstr ptr long ptr long ptr)
|
@ stdcall StgOpenStorage(wstr ptr long ptr long ptr)
|
||||||
@ stub StgOpenStorageEx
|
@ stdcall StgOpenStorageEx(wstr long long long ptr ptr ptr ptr)
|
||||||
@ stdcall StgOpenStorageOnILockBytes(ptr ptr long long long ptr)
|
@ stdcall StgOpenStorageOnILockBytes(ptr ptr long long long ptr)
|
||||||
@ stdcall StgSetTimes(wstr ptr ptr ptr )
|
@ stdcall StgSetTimes(wstr ptr ptr ptr )
|
||||||
@ stdcall StringFromCLSID(ptr ptr)
|
@ stdcall StringFromCLSID(ptr ptr)
|
||||||
|
|
|
@ -5631,6 +5631,45 @@ HRESULT WINAPI StgCreatePropSetStg(IStorage *pstg, DWORD reserved,
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
* StgOpenStorageEx [OLE32.@]
|
||||||
|
*/
|
||||||
|
HRESULT WINAPI StgOpenStorageEx(const WCHAR* pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, STGOPTIONS* pStgOptions, void* reserved, REFIID riid, void** ppObjectOpen)
|
||||||
|
{
|
||||||
|
TRACE("(%s, %lx, %lx, %lx, %p, %p, %p, %p)\n", debugstr_w(pwcsName),
|
||||||
|
grfMode, stgfmt, grfAttrs, pStgOptions, reserved, riid, ppObjectOpen);
|
||||||
|
|
||||||
|
if (stgfmt != STGFMT_DOCFILE && grfAttrs != 0)
|
||||||
|
{
|
||||||
|
ERR("grfAttrs must be 0 if stgfmt != STGFMT_DOCFILE\n");
|
||||||
|
return STG_E_INVALIDPARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stgfmt != STGFMT_DOCFILE && grfAttrs != 0 && grfAttrs != FILE_FLAG_NO_BUFFERING)
|
||||||
|
{
|
||||||
|
ERR("grfAttrs must be 0 or FILE_FLAG_NO_BUFFERING if stgfmt == STGFMT_DOCFILE\n");
|
||||||
|
return STG_E_INVALIDPARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stgfmt == STGFMT_FILE)
|
||||||
|
{
|
||||||
|
ERR("Cannot use STGFMT_FILE - this is NTFS only\n");
|
||||||
|
return STG_E_INVALIDPARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stgfmt == STGFMT_STORAGE || stgfmt == STGFMT_DOCFILE || stgfmt == STGFMT_ANY)
|
||||||
|
{
|
||||||
|
if (stgfmt == STGFMT_ANY)
|
||||||
|
WARN("STGFMT_ANY assuming storage\n");
|
||||||
|
FIXME("Stub: calling StgOpenStorage, but ignoring pStgOptions and grfAttrs\n");
|
||||||
|
return StgOpenStorage(pwcsName, NULL, grfMode, (SNB)NULL, 0, (IStorage **)ppObjectOpen);
|
||||||
|
}
|
||||||
|
|
||||||
|
ERR("Invalid stgfmt argument\n");
|
||||||
|
return STG_E_INVALIDPARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* StgOpenStorage [OLE32.@]
|
* StgOpenStorage [OLE32.@]
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue