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 StgOpenAsyncDocfileOnIFillLockBytes
|
||||
@ 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 StgSetTimes(wstr ptr ptr ptr )
|
||||
@ stdcall StringFromCLSID(ptr ptr)
|
||||
|
|
|
@ -5631,6 +5631,45 @@ HRESULT WINAPI StgCreatePropSetStg(IStorage *pstg, DWORD reserved,
|
|||
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.@]
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue