diff --git a/dlls/inetcomm/mimeole.c b/dlls/inetcomm/mimeole.c index cf0e85b01cd..6f24f6919be 100644 --- a/dlls/inetcomm/mimeole.c +++ b/dlls/inetcomm/mimeole.c @@ -627,8 +627,19 @@ static HRESULT WINAPI MimeBody_GetProp( DWORD dwFlags, LPPROPVARIANT pValue) { - FIXME("stub\n"); - return E_NOTIMPL; + MimeBody *This = impl_from_IMimeBody(iface); + TRACE("(%p)->(%s, %d, %p)\n", This, pszName, dwFlags, pValue); + + if(!strcasecmp(pszName, "att:pri-content-type")) + { + PropVariantClear(pValue); + pValue->vt = VT_LPSTR; + pValue->u.pszVal = strdupA(This->content_pri_type); + return S_OK; + } + + FIXME("stub!\n"); + return E_FAIL; } static HRESULT WINAPI MimeBody_SetProp( diff --git a/dlls/inetcomm/tests/mimeole.c b/dlls/inetcomm/tests/mimeole.c index f5f8a9077b2..d268e9d0505 100644 --- a/dlls/inetcomm/tests/mimeole.c +++ b/dlls/inetcomm/tests/mimeole.c @@ -19,6 +19,7 @@ */ #define COBJMACROS +#define NONAMELESSUNION #include "windows.h" #include "ole2.h" @@ -216,6 +217,8 @@ static void test_CreateMessage(void) FINDBODY find_struct; char text[] = "text"; HBODY *body_list; + PROPVARIANT prop; + static char att_pritype[] = "att:pri-content-type"; hr = MimeOleCreateMessage(NULL, &msg); ok(hr == S_OK, "ret %08x\n", hr); @@ -247,6 +250,14 @@ static void test_CreateMessage(void) IMimeBody_Release(body); hr = IMimeMessage_GetBody(msg, IBL_ROOT, NULL, &hbody); + + PropVariantInit(&prop); + hr = IMimeMessage_GetBodyProp(msg, hbody, att_pritype, 0, &prop); + ok(hr == S_OK, "ret %08x\n", hr); + ok(prop.vt == VT_LPSTR, "vt %08x\n", prop.vt); + ok(!strcasecmp(prop.u.pszVal, "multipart"), "got %s\n", prop.u.pszVal); + PropVariantClear(&prop); + hr = IMimeMessage_GetBody(msg, IBL_FIRST, hbody, &hbody); ok(hr == S_OK, "ret %08x\n", hr); hr = IMimeMessage_BindToObject(msg, hbody, &IID_IMimeBody, (void**)&body);