|
|
|
date: Tue, 5 Aug 2008 12:09:38 +0800,
group: microsoft.public.platformsdk.mapi
back
Re: PR_CREATION_TIME & PR_LAST_MODIFICATION_TIME always returned as "now"
Here is the relevant code (pulled from several places in my C++ wrapper of
MAPI):
CComPtr<IStorage> m_stg;
CComPtr<IMessage> m_msg;
m_stg = stg; /* where stg is an IStorage* */
HR_(::OpenIMsgOnIStg(NULL, &MAPIAllocateBuffer, &MAPIAllocateMore,
&MAPIFreeBuffer, alloc, NULL, m_stg, NULL, 0, 0, (LPMESSAGE*)&m_msg));
CComPtr<IMAPIProp> m_mapiProp;
m_mapiProp = iMapiProp;
CLPSPropValue val;
// ULONG propTag; // passed in
if (SUCCEEDED(HrGetOneProp(m_mapiProp, propTag, &val)))
{
switch (PTAG_TYPE(val->ulPropTag))
{
case PT_APPTIME:
return val->Value.at;
case PT_SYSTIME:
return FileTimeToDate(val->Value.ft);
case PT_DOUBLE:
return val->Value.dbl;
default:
return GetMAPIIntProperty(propTag);
}
}
url:http://ureader.com/msg/1651587.aspx
date: Mon, 25 Aug 2008 22:01:01 +0800
author: Kevin Alons
|
|