"Reece Dunn" <[EMAIL PROTECTED]> writes:

> @@ -120,12 +119,12 @@ static HRESULT WINAPI IStream_fnRead(IStream *iface, 
> void* pv, ULONG cb, ULONG*
>    TRACE("(%p,%p,0x%08x,%p)\n", This, pv, cb, pcbRead);
>  
>    if (!pv)
> -    return STG_E_INVALIDPOINTER;
> +    return S_OK;

It's very unlikely that this is the correct behavior in all cases.

> @@ -459,7 +458,9 @@ HRESULT WINAPI SHCreateStreamOnFileEx(LPCWSTR lpszPath, 
> DWORD dwMode,
>    switch(STGM_CREATE_MODE(dwMode))
>    {
>    case STGM_FAILIFTHERE:
> -    dwCreate = OPEN_EXISTING;
> +    if (bCreate && PathFileExistsW(lpszPath))
> +      return HRESULT_FROM_WIN32(ERROR_FILE_EXISTS);
> +    dwCreate = bCreate ? CREATE_ALWAYS : OPEN_EXISTING;

That case should be handled by CreateFile, you shouldn't check for the
file existence explicitly.

-- 
Alexandre Julliard
[EMAIL PROTECTED]


Reply via email to