inetcomm: Return a new instance of stream in IMimeBody::GetData.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
393512d03b
commit
0b8066674b
|
@ -442,6 +442,22 @@ static HRESULT create_sub_stream(IStream *stream, ULARGE_INTEGER start, ULARGE_I
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static HRESULT get_stream_size(IStream *stream, ULARGE_INTEGER *size)
|
||||||
|
{
|
||||||
|
STATSTG statstg = {NULL};
|
||||||
|
LARGE_INTEGER zero;
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
|
hres = IStream_Stat(stream, &statstg, STATFLAG_NONAME);
|
||||||
|
if(SUCCEEDED(hres)) {
|
||||||
|
*size = statstg.cbSize;
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
zero.QuadPart = 0;
|
||||||
|
return IStream_Seek(stream, zero, STREAM_SEEK_END, size);
|
||||||
|
}
|
||||||
|
|
||||||
static inline MimeBody *impl_from_IMimeBody(IMimeBody *iface)
|
static inline MimeBody *impl_from_IMimeBody(IMimeBody *iface)
|
||||||
{
|
{
|
||||||
return CONTAINING_RECORD(iface, MimeBody, IMimeBody_iface);
|
return CONTAINING_RECORD(iface, MimeBody, IMimeBody_iface);
|
||||||
|
@ -1505,11 +1521,16 @@ static HRESULT WINAPI MimeBody_GetData(
|
||||||
IStream** ppStream)
|
IStream** ppStream)
|
||||||
{
|
{
|
||||||
MimeBody *This = impl_from_IMimeBody(iface);
|
MimeBody *This = impl_from_IMimeBody(iface);
|
||||||
|
ULARGE_INTEGER start, size;
|
||||||
|
HRESULT hres;
|
||||||
|
|
||||||
FIXME("(%p)->(%d, %p). Ignoring encoding type.\n", This, ietEncoding, ppStream);
|
FIXME("(%p)->(%d, %p). Ignoring encoding type.\n", This, ietEncoding, ppStream);
|
||||||
|
|
||||||
*ppStream = This->data;
|
start.QuadPart = 0;
|
||||||
IStream_AddRef(*ppStream);
|
hres = get_stream_size(This->data, &size);
|
||||||
return S_OK;
|
if(SUCCEEDED(hres))
|
||||||
|
hres = create_sub_stream(This->data, start, size, ppStream);
|
||||||
|
return hres;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI MimeBody_SetData(
|
static HRESULT WINAPI MimeBody_SetData(
|
||||||
|
|
Loading…
Reference in New Issue