[PATCH 1/3] urlmon: Added user marshaling implementation for OnDataAvailable.

Jacek Caban jacek at codeweavers.com
Mon Nov 13 16:30:51 CST 2017


On 13.11.2017 22:57, Alexandre Julliard wrote:
> Jacek Caban <jacek at codeweavers.com> writes:
>
>> +static HRESULT marshal_stgmed(STGMEDIUM *stgmed, RemSTGMEDIUM **ret)
>> +{
>> +    RemSTGMEDIUM *rem_stgmed;
>> +    IStream *stream = NULL;
>> +    ULONG size = 0;
>> +    HRESULT hres;
>> +
>> +    if((stgmed->tymed == TYMED_ISTREAM && stgmed->u.pstm) || stgmed->pUnkForRelease) {
>> +        hres = CreateStreamOnHGlobal(NULL, TRUE, &stream);
>> +        if(FAILED(hres))
>> +            return hres;
>> +    }
>> +
>> +    switch(stgmed->tymed) {
>> +    case TYMED_NULL:
>> +        break;
>> +    case TYMED_ISTREAM:
>> +        if(stgmed->u.pstm)
>> +            hres = CoMarshalInterface(stream, &IID_IStream, (IUnknown*)stgmed->u.pstm,
>> +                                      MSHCTX_LOCAL, NULL, MSHLFLAGS_NORMAL);
>> +        break;
>> +    default:
>> +        FIXME("unsupported tymed %u\n", stgmed->tymed);
>> +        break;
>> +    }
>> +
>> +    if(SUCCEEDED(hres) && stgmed->pUnkForRelease)
>> +        hres = CoMarshalInterface(stream, &IID_IUnknown, stgmed->pUnkForRelease,
>> +                                  MSHCTX_LOCAL, NULL, MSHLFLAGS_NORMAL);
> This is causing a warning, and it's not clear to me what would be the
> correct default value for hres.

Indeed, I wonder why my GCC didn't catch it. I sent a fixed version.

Thanks,
Jacek



More information about the wine-devel mailing list