inetcomm: Add an implementation of IVirtualStream.

This commit is contained in:
Hans Leidekker 2008-11-11 10:17:38 +01:00 committed by Alexandre Julliard
parent 066a8f442d
commit 55b086b24e
4 changed files with 22 additions and 0 deletions

View File

@ -139,6 +139,7 @@ static cf mime_body_cf = { &cf_vtbl, MimeBody_create };
static cf mime_allocator_cf = { &cf_vtbl, MimeAllocator_create };
static cf mime_message_cf = { &cf_vtbl, MimeMessage_create };
static cf mime_security_cf = { &cf_vtbl, MimeSecurity_create };
static cf virtual_stream_cf = { &cf_vtbl, VirtualStream_create };
/***********************************************************************
* DllGetClassObject (INETCOMM.@)
@ -177,6 +178,10 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
{
cf = (IClassFactory*) &mime_allocator_cf.lpVtbl;
}
else if( IsEqualCLSID( rclsid, &CLSID_IVirtualStream ))
{
cf = (IClassFactory*) &virtual_stream_cf.lpVtbl;
}
if ( !cf )
{

View File

@ -77,6 +77,7 @@ HRESULT MimeBody_create(IUnknown *outer, void **obj);
HRESULT MimeAllocator_create(IUnknown *outer, void **obj);
HRESULT MimeMessage_create(IUnknown *outer, void **obj);
HRESULT MimeSecurity_create(IUnknown *outer, void **obj);
HRESULT VirtualStream_create(IUnknown *outer, void **obj);
HRESULT MimeInternational_Construct(IMimeInternational **internat);

View File

@ -2989,3 +2989,13 @@ HRESULT WINAPI MimeOleGetAllocator(IMimeAllocator **alloc)
{
return MimeAllocator_create(NULL, (void**)alloc);
}
HRESULT VirtualStream_create(IUnknown *outer, void **obj)
{
FIXME("(%p, %p)\n", outer, obj);
*obj = NULL;
if (outer) return CLASS_E_NOAGGREGATION;
return MimeOleCreateVirtualStream((IStream **)obj);
}

View File

@ -464,6 +464,12 @@ static struct regsvr_coclass const coclass_list[] = {
"inetcomm.dll",
"Both"
},
{ &CLSID_IVirtualStream,
"CLSID_IVirtualStream",
NULL,
"inetcomm.dll",
"Both"
},
{ NULL } /* list terminator */
};