On Wed, 2012-06-20 at 12:13 +0200, robert.van.h...@serioustoys.com wrote: > IStream is not exposed to the user, but an internal interface would > probably end up looking a lot like IStream because we need read/write/seek > operations, reference counting and the ability to create clones. So we > might as well use IStream. > > Hmmm... Then I want exactly the same as SHCreateStreamOnFileEx, but the > only difference is that the file should be opened with FILE_SHARE_DELETE. > (I think).
You will also need IStream_Clone, which shlwapi doesn't implement. > What is that policy on this? It seems overkill to copy istream.c from > shlwapi, just because I want to change 1 flag. On the other hand, I don't > want to expose more functions in the shlwapi header, as that would make > it different from the Windows implementation... You can look at istream.c for inspiration, but please avoid copying it verbatim with its 2-space indentation and CamelCaseNotation. Try following the coding style of surrounding code in msi. You can probably also simplify the code a bit. E.g. you can leave out parameter validation and code/structure fields that will not be used by msi.