implement OleLoadPictureFile

Austin English austinenglish at
Wed Nov 12 18:25:03 CST 2008

On Wed, Nov 12, 2008 at 2:16 AM, Jeremy Drake <wine at> wrote:
> I ran into a function that was not implemented when attempting to run a
> program I work on under wine.
> This patch implements OleLoadPictureFile based on the MSDN docs
> ( and what I saw
> when stepping through in windbg on XP.
> A few notes:
> I'm not sure I got the spec file right.  The first param is a VARIANT, not
> a VARIANT *, so I'm not sure ptr is the right thing.
> I'm not sure the right way to do the TRACE call with the VARIANT param.
> I did not implement OleLoadPictureFileEx.  Technically, OleLoadPictureFile
> should call OleLoadPictureFileEx(varFilename, LP_DEFAULT, LP_DEFAULT,
> LP_DEFAULT, ppdispPicture) and OleLoadPictureEx should pass the sizeX,
> sizeY, and flags to OleLoadPictureEx.
> When stepping through the function in windbg, I saw it call a function
> OLEAUT32!CreateFileStream which does not exist in wine anywhere.  Instead
> of using that, I used the same mechanism as was used in OleLoadPicturePath
> (GlobalAlloc the size of the file, read the whole file in, and
> CreateStreamOnHGlobal).
> Since this is my first wine patch, I hope you will forgive me these
> shortcomings.  I'm not subscribed to any wine list, so please copy me on
> any replies.
> Thanks,
> Jeremy
> --
> Personifiers Unite!  You have nothing to lose but Mr. Dignity!

Can you add a testcase to show that this behavior is correct?


More information about the wine-devel mailing list