inetcomm: Advertise support for a couple more interfaces.
This commit is contained in:
parent
de8dd504d7
commit
157d18bbf8
|
@ -137,6 +137,8 @@ static const struct IClassFactoryVtbl cf_vtbl =
|
|||
|
||||
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 };
|
||||
|
||||
/***********************************************************************
|
||||
* DllGetClassObject (INETCOMM.@)
|
||||
|
@ -147,10 +149,27 @@ HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv)
|
|||
|
||||
TRACE("%s %s %p\n", debugstr_guid(rclsid), debugstr_guid(iid), ppv );
|
||||
|
||||
if (IsEqualCLSID(rclsid, &CLSID_ISMTPTransport))
|
||||
return SMTPTransportCF_Create(iid, ppv);
|
||||
|
||||
if (IsEqualCLSID(rclsid, &CLSID_ISMTPTransport2))
|
||||
return SMTPTransportCF_Create(iid, ppv);
|
||||
|
||||
if (IsEqualCLSID(rclsid, &CLSID_IIMAPTransport))
|
||||
return IMAPTransportCF_Create(iid, ppv);
|
||||
|
||||
if( IsEqualCLSID( rclsid, &CLSID_IMimeBody ))
|
||||
if (IsEqualCLSID(rclsid, &CLSID_IPOP3Transport))
|
||||
return POP3TransportCF_Create(iid, ppv);
|
||||
|
||||
if ( IsEqualCLSID( rclsid, &CLSID_IMimeSecurity ))
|
||||
{
|
||||
cf = (IClassFactory*) &mime_security_cf.lpVtbl;
|
||||
}
|
||||
else if( IsEqualCLSID( rclsid, &CLSID_IMimeMessage ))
|
||||
{
|
||||
cf = (IClassFactory*) &mime_message_cf.lpVtbl;
|
||||
}
|
||||
else if( IsEqualCLSID( rclsid, &CLSID_IMimeBody ))
|
||||
{
|
||||
cf = (IClassFactory*) &mime_body_cf.lpVtbl;
|
||||
}
|
||||
|
|
|
@ -75,7 +75,11 @@ void InternetTransport_UnregisterClass(HINSTANCE hInstance);
|
|||
|
||||
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 MimeInternational_Construct(IMimeInternational **internat);
|
||||
|
||||
HRESULT SMTPTransportCF_Create(REFIID riid, LPVOID *ppv);
|
||||
HRESULT IMAPTransportCF_Create(REFIID riid, LPVOID *ppv);
|
||||
HRESULT POP3TransportCF_Create(REFIID riid, LPVOID *ppv);
|
||||
|
|
|
@ -2540,22 +2540,19 @@ static const IMimeMessageVtbl MimeMessageVtbl =
|
|||
MimeMessage_GetRootMoniker,
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
* MimeOleCreateMessage (INETCOMM.@)
|
||||
*/
|
||||
HRESULT WINAPI MimeOleCreateMessage(IUnknown *pUnkOuter, IMimeMessage **ppMessage)
|
||||
HRESULT MimeMessage_create(IUnknown *outer, void **obj)
|
||||
{
|
||||
MimeMessage *This;
|
||||
|
||||
TRACE("(%p, %p)\n", pUnkOuter, ppMessage);
|
||||
TRACE("(%p, %p)\n", outer, obj);
|
||||
|
||||
if (pUnkOuter)
|
||||
if (outer)
|
||||
{
|
||||
FIXME("outer unknown not supported yet\n");
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
*ppMessage = NULL;
|
||||
*obj = NULL;
|
||||
|
||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
|
||||
if (!This) return E_OUTOFMEMORY;
|
||||
|
@ -2566,10 +2563,19 @@ HRESULT WINAPI MimeOleCreateMessage(IUnknown *pUnkOuter, IMimeMessage **ppMessag
|
|||
list_init(&This->body_tree);
|
||||
This->next_hbody = (HBODY)1;
|
||||
|
||||
*ppMessage = (IMimeMessage *)&This->lpVtbl;
|
||||
*obj = (IMimeMessage *)&This->lpVtbl;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* MimeOleCreateMessage (INETCOMM.@)
|
||||
*/
|
||||
HRESULT WINAPI MimeOleCreateMessage(IUnknown *pUnkOuter, IMimeMessage **ppMessage)
|
||||
{
|
||||
TRACE("(%p, %p)\n", pUnkOuter, ppMessage);
|
||||
return MimeMessage_create(NULL, (void **)ppMessage);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* MimeOleSetCompatMode (INETCOMM.@)
|
||||
*/
|
||||
|
@ -2754,16 +2760,13 @@ static const IMimeSecurityVtbl MimeSecurityVtbl =
|
|||
MimeSecurity_GetCertData
|
||||
};
|
||||
|
||||
/***********************************************************************
|
||||
* MimeOleCreateSecurity (INETCOMM.@)
|
||||
*/
|
||||
HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity **ppSecurity)
|
||||
HRESULT MimeSecurity_create(IUnknown *outer, void **obj)
|
||||
{
|
||||
MimeSecurity *This;
|
||||
|
||||
TRACE("(%p)\n", ppSecurity);
|
||||
*obj = NULL;
|
||||
|
||||
*ppSecurity = NULL;
|
||||
if (outer) return CLASS_E_NOAGGREGATION;
|
||||
|
||||
This = HeapAlloc(GetProcessHeap(), 0, sizeof(*This));
|
||||
if (!This) return E_OUTOFMEMORY;
|
||||
|
@ -2771,10 +2774,17 @@ HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity **ppSecurity)
|
|||
This->lpVtbl = &MimeSecurityVtbl;
|
||||
This->refs = 1;
|
||||
|
||||
*ppSecurity = (IMimeSecurity *)&This->lpVtbl;
|
||||
*obj = (IMimeSecurity *)&This->lpVtbl;
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* MimeOleCreateSecurity (INETCOMM.@)
|
||||
*/
|
||||
HRESULT WINAPI MimeOleCreateSecurity(IMimeSecurity **ppSecurity)
|
||||
{
|
||||
return MimeSecurity_create(NULL, (void **)ppSecurity);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
|
|
@ -404,6 +404,12 @@ static struct regsvr_coclass const coclass_list[] = {
|
|||
"inetcomm.dll",
|
||||
"Both"
|
||||
},
|
||||
{ &CLSID_ISMTPTransport2,
|
||||
"CLSID_ISMTPTransport2",
|
||||
NULL,
|
||||
"inetcomm.dll",
|
||||
"Both"
|
||||
},
|
||||
{ &CLSID_IPOP3Transport,
|
||||
"CLSID_IPOP3Transport",
|
||||
NULL,
|
||||
|
@ -452,6 +458,12 @@ static struct regsvr_coclass const coclass_list[] = {
|
|||
"inetcomm.dll",
|
||||
"Both"
|
||||
},
|
||||
{ &CLSID_IMimeSecurity,
|
||||
"CLSID_IMimeSecurity",
|
||||
NULL,
|
||||
"inetcomm.dll",
|
||||
"Both"
|
||||
},
|
||||
{ NULL } /* list terminator */
|
||||
};
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@ interface IIMAPTransport;
|
|||
|
||||
cpp_quote("DEFINE_GUID(CLSID_IInternetMessageUrl, 0xca30cc91, 0xb1b3, 0x11d0, 0x85, 0xd0, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_ISMTPTransport, 0xfd853ce6, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_ISMTPTransport2, 0xdf2c7eC, 0x3435, 0x11d0, 0x81, 0xd0, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_IPOP3Transport, 0xfd853ce7, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_INNTPTransport, 0xfd853ce8, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_IRASTransport, 0xfd853ce9, 0x7f86, 0x11d0, 0x82, 0x52, 0x00, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
|
|
|
@ -32,6 +32,8 @@ interface IMimeEnumProperties;
|
|||
cpp_quote("DEFINE_GUID(CLSID_IMimeBody, 0xfd853cdb, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_IMimeAllocator, 0xfd853cdd, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_IMimeMessage, 0xfd853ce3, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_IMimeSecurity, 0xfd853cde, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
cpp_quote("DEFINE_GUID(CLSID_IVirtualStream, 0xfd853cdf, 0x7f86, 0x11d0, 0x82, 0x52, 0x0, 0xc0, 0x4f, 0xd8, 0x5a, 0xb4);")
|
||||
|
||||
cpp_quote("#define MIME_E_REG_CREATE_KEY 0x800cce01")
|
||||
cpp_quote("#define MIME_E_REG_QUERY_INFO 0x800cce02")
|
||||
|
|
Loading…
Reference in New Issue