Robert Shearman wrote:
These changes are wrong. IStream_Read can return S_FALSE, which means
that the call was successful, but didn't do what was intended. From MSDN:
S_FALSE
The data cannot be read from the stream object. Depending on the
implementation, either S_FALSE or an error code could be returned
when reading past the end of the stream.
Fair enough. Then perhaps the ole storage code is broken, because it
returns S_FALSE when it correctly read the requested amount of data, and
IOlePicture_Load was failing to read a bitmap from an MSI package.
Mike