bug #9575 - better this time - testcase help needed
Markus Stockhausen
markus.stockhausen at collogia.de
Sat Sep 12 09:56:13 CDT 2009
Am Samstag, den 12.09.2009, 16:50 +0200 schrieb Paul Vriens:
> On 09/12/2009 04:13 PM, Markus Stockhausen wrote:
> > Am Samstag, den 12.09.2009, 15:52 +0200 schrieb Markus Stockhausen:
> >> Hi,
> >>
> >> hopefully the right explanation for the error can be found here
> >> http://bugs.winehq.org/show_bug.cgi?id=9575 . Once again I need someone
> >> with a Windows machine who can provide the following:
> >>
> >> ...
> >> HRESULT = StgOpenStorage( 'testfile.txt', ... , ppstgOpen1 );
> >> HRESULT = StgOpenStorage( 'testfile.txt', ... , ppstgOpen2 );
> >>
> >> I expect *ppstgOpen2 not to be NULL in Windows while being NULL under
> >> Wine.
> >>
> >> Best regards.
> >>
> >> Markus
> >
> > Uh, too fast when sending. Additionally the result code of HRESULT is
> > needed to get a clearer picture.
> >
> > Best regards.
> >
> >
> >
> Hi Markus,
>
> /* create the file */
> SetLastError(0xdeadbeef);
> r = StgCreateDocfile( filename, 0x11012, 0, &stg);
> trace("r : %08x\n", r);
> trace("GLE : %d/%08x\n", GetLastError(), GetLastError());
> IStorage_Release(stg);
>
> SetLastError(0xdeadbeef);
> r= StgOpenStorage( filename, NULL, 0x10012, NULL, 0, &stg);
> trace("r : %08x\n", r);
> trace("GLE : %d/%08x\n", GetLastError(), GetLastError());
>
> SetLastError(0xdeadbeef);
> r= StgOpenStorage( filename, NULL, 0x10012, NULL, 0, &stg);
> trace("r : %08x\n", r);
> trace("GLE : %d/%08x\n", GetLastError(), GetLastError());
>
> Output on W2K3:
>
> storage32.c:1498: r : 00000000
> storage32.c:1499: GLE : 0/00000000
> storage32.c:1504: r : 00000000
> storage32.c:1505: GLE : 0/00000000
> storage32.c:1509: r : 80030020
> storage32.c:1510: GLE : 32/00000020
>
> Wine:
>
> storage32.c:1498: r : 00000000
> storage32.c:1499: GLE : 0/00000000
> storage32.c:1504: r : 00000000
> storage32.c:1505: GLE : 0/00000000
> storage32.c:1509: r : 80030020
> storage32.c:1510: GLE : 32/00000020
>
> So I get STG_E_SHAREVIOLATION and a GLE of ERROR_SHARING_VIOLATION on
> both W2K3 and Wine for the second call.
>
> The grfMode is taken from the trace of running the application.
>
So I guess *ppstgOpen pointing to NULL in Wine can be the culprit.
More information about the wine-devel
mailing list