Example #1
0
// uses the built in outlook email fields, OUTLOOK_EMAIL1 etc, minus 1 for ADDRt_YPE and +1 for EmailOriginalDisplayName
String MAPIContact::GetEmail(int nIndex) {
	String strEmail;
	ULONG nID = GetOutlookEmailID(nIndex);
	if(!nID) 
		return String();

#ifdef _WIN32_WCE
	return GetPropertyString(nID, strEmail);
#else
	LPSPropValue pProp;
	if(GetOutlookProperty(OUTLOOK_DATA1, nID-1, pProp)) {
		String strAddrType = MAPIEx::GetValidString(*pProp);
		MAPIFreeBuffer(pProp);
		if(GetOutlookProperty(OUTLOOK_DATA1, nID, pProp)) {
			strEmail = MAPIEx::GetValidString(*pProp);
			MAPIFreeBuffer(pProp);
			if(strAddrType == "EX") {
				// for EX types we use the original display name (seems to contain the appropriate data)
				if(GetOutlookProperty(OUTLOOK_DATA1, nID+1, pProp)) {
					strEmail = MAPIEx::GetValidString(*pProp);
					MAPIFreeBuffer(pProp);
				}
			}
			return strEmail;
		}
	}
	return String();
#endif
}
Example #2
0
String MAPIContact::GetIMAddress() {
	String strIMAddress;
#ifndef _WIN32_WCE
	LPSPropValue pProp;
	if(GetOutlookProperty(OUTLOOK_DATA1, OUTLOOK_IM_ADDRESS, pProp)) {
		strIMAddress = MAPIEx::GetValidString(*pProp);
		MAPIFreeBuffer(pProp);
		return strIMAddress;
	}
#endif
	return String();
}
Example #3
0
BOOL CMAPIAppointment::GetStartTime(SYSTEMTIME& tmStart)
{
	LPSPropValue pProp;
	if(GetOutlookProperty(OUTLOOK_DATA2, OUTLOOK_APPOINTMENT_START, pProp)) 
	{
		FILETIME tmLocal;
		FileTimeToLocalFileTime(&pProp->Value.ft, &tmLocal);
		FileTimeToSystemTime(&tmLocal, &tmStart);
		MAPIFreeBuffer(pProp);
		return TRUE;
	}
	return FALSE;
}
Example #4
0
String MAPIContact::GetFileAs() {
	String strFileAs;
#ifdef _WIN32_WCE
	return GetPropertyString(PR_DISPLAY_NAME, strFileAs);
#else
	LPSPropValue pProp;
	if(GetOutlookProperty(OUTLOOK_DATA1, OUTLOOK_FILE_AS, pProp)) {
		strFileAs = MAPIEx::GetValidString(*pProp);
		MAPIFreeBuffer(pProp);
		return strFileAs;
	}
	return String();
#endif
}
Example #5
0
String MAPIContact::GetEmailDisplayAs(int nIndex) {
	String strDisplayAs;
#ifdef _WIN32_WCE
	return GetEmail(strDisplayAs, nIndex);
#else
	ULONG nID = GetOutlookEmailID(nIndex);
	if(!nID) 
		return String();

	LPSPropValue pProp;
	if(GetOutlookProperty(OUTLOOK_DATA1, nID-3, pProp)) {
		strDisplayAs = MAPIEx::GetValidString(*pProp);
		MAPIFreeBuffer(pProp);
		return strDisplayAs;
	}
	return String();
#endif
}