shlwapi: expose the IStream_Read and IStream_Write functions.

Reece Dunn msclrhd at googlemail.com
Thu May 1 09:14:34 CDT 2008


2008/5/1 Robert Shearman <rob at codeweavers.com>:
> Reece Dunn wrote:
>
> > @@ -926,6 +926,13 @@ HRESULT WINAPI
> SHCreateStreamOnFileEx(LPCWSTR,DWORD,DWORD,BOOL,struct IStream*,s
> >   HRESULT WINAPI SHCreateStreamWrapper(LPBYTE,DWORD,DWORD,struct
> IStream**);
> >  +#undef IStream_Read
> > +#undef IStream_Write
> > +
> > +HRESULT WINAPI IStream_Read(struct IStream *, LPVOID, ULONG);
> > +
> > +HRESULT WINAPI IStream_Write(struct IStream *, LPCVOID, ULONG);
> > +
> >  #endif /* NO_SHLWAPI_STREAM */
> >   /* SHAutoComplete flags */
> >
> >
>
>  You've put this in the section guarded by NO_SHLWAPI_STREAM, but in the
> PSDK header it isn't guarded by this define. If it were the case, then you
> could have fixed the issue in files that include shlwapi.h by defining this
> before including it.

Ok, I'll move it outside the NO_SHLWAPI_STREAM declaration.

>  However, I think having to work around not being able to use the
> IStream_Read and IStream_Write macros is a bit ugly.

I agree, but that is what we are given so there is not a lot we can do.

I did think about tidying it up better, for example there are places
where I could have used the shlwapi IStream_Read/Write functions
instead, or used IStream_Copy. However, I thought that would be too
radical. I am open for suggestions, though.

- Reece



More information about the wine-devel mailing list