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