bool MAPIContact::Create(MAPIEx &mapi, MAPIFolder &folder) { #ifdef _WIN32_WCE if(folder.IsOpened()) { m_pPOOM = pFolder->GetPOOM(); return m_pPOOM ? m_pPOOM->Create(pMAPI,*this) : false; } return false; #else if(!MAPIObject::Create(mapi, folder)) return false; SetMessageClass("IPM.Contact"); SetImportance(IMPORTANCE_NORMAL); SetSensitivity(SENSITIVITY_NONE); return true; #endif }
HRESULT MAPITask::SetMAPITaskValues() { SizedSPropTagArray(T_NUMALLTASKPROPS, taskProps) = { T_NUMALLTASKPROPS, { PR_MESSAGE_FLAGS, PR_SUBJECT, PR_BODY, PR_HTML, PR_IMPORTANCE, pr_isrecurringt, pr_recurstreamt, pr_status, pr_percentcomplete, pr_taskstart, pr_taskdue, pr_totalwork, pr_actualwork, pr_companies, pr_mileage, pr_billinginfo, pr_taskreminderset, pr_taskflagdueby, pr_private } }; HRESULT hr = S_OK; ULONG cVals = 0; m_bHasAttachments = false; m_bIsRecurring = false; m_bIsTaskReminderSet = false; if (FAILED(hr = m_pMessage->GetProps((LPSPropTagArray) & taskProps, fMapiUnicode, &cVals, &m_pPropVals))) throw MAPITaskException(hr, L"SetMAPITaskValues(): GetProps Failed.", ERR_MAPI_TASK, __LINE__, __FILE__); if (m_pPropVals[T_MESSAGE_FLAGS].ulPropTag == taskProps.aulPropTag[T_MESSAGE_FLAGS]) { m_bHasAttachments = (m_pPropVals[T_MESSAGE_FLAGS].Value.l & MSGFLAG_HASATTACH) != 0; } if (m_pPropVals[T_ISRECURT].ulPropTag == taskProps.aulPropTag[T_ISRECURT]) // do this first to set dates correctly { m_bIsRecurring = (m_pPropVals[T_ISRECURT].Value.b == 1); } if (m_pPropVals[T_TASKREMINDERSET].ulPropTag == taskProps.aulPropTag[T_TASKREMINDERSET]) // do this first to set dates correctly { m_bIsTaskReminderSet = (m_pPropVals[T_TASKREMINDERSET].Value.b == 1); } if (m_pPropVals[T_SUBJECT].ulPropTag == taskProps.aulPropTag[T_SUBJECT]) { SetSubject(m_pPropVals[T_SUBJECT].Value.lpszW); } if (m_pPropVals[T_IMPORTANCE].ulPropTag == taskProps.aulPropTag[T_IMPORTANCE]) { SetImportance(m_pPropVals[T_IMPORTANCE].Value.l); } if (m_pPropVals[T_STATUS].ulPropTag == taskProps.aulPropTag[T_STATUS]) { SetTaskStatus(m_pPropVals[T_STATUS].Value.l); } if (m_pPropVals[T_PERCENTCOMPLETE].ulPropTag == taskProps.aulPropTag[T_PERCENTCOMPLETE]) { SetPercentComplete(m_pPropVals[T_PERCENTCOMPLETE].Value.dbl); } if (m_pPropVals[T_TASKSTART].ulPropTag == taskProps.aulPropTag[T_TASKSTART]) { SetTaskStart(m_pPropVals[T_TASKSTART].Value.ft); } if (m_pPropVals[T_TASKDUE].ulPropTag == taskProps.aulPropTag[T_TASKDUE]) { SetTaskDue(m_pPropVals[T_TASKDUE].Value.ft); } if (m_pPropVals[T_TOTALWORK].ulPropTag == taskProps.aulPropTag[T_TOTALWORK]) { SetTotalWork(m_pPropVals[T_TOTALWORK].Value.l); } if (m_pPropVals[T_ACTUALWORK].ulPropTag == taskProps.aulPropTag[T_ACTUALWORK]) { SetActualWork(m_pPropVals[T_ACTUALWORK].Value.l); } if (m_pPropVals[T_COMPANIES].ulPropTag == taskProps.aulPropTag[T_COMPANIES]) { SetCompanies(m_pPropVals[T_COMPANIES].Value.MVszW.lppszW[0]); // get first one for now } if (m_pPropVals[T_MILEAGE].ulPropTag == taskProps.aulPropTag[T_MILEAGE]) { SetMileage(m_pPropVals[T_MILEAGE].Value.lpszW); } if (m_pPropVals[T_BILLING].ulPropTag == taskProps.aulPropTag[T_BILLING]) { SetBillingInfo(m_pPropVals[T_BILLING].Value.lpszW); } if (m_pPropVals[T_TASKFLAGDUEBY].ulPropTag == taskProps.aulPropTag[T_TASKFLAGDUEBY]) { SetTaskFlagDueBy(m_pPropVals[T_TASKFLAGDUEBY].Value.ft); } if (m_pPropVals[T_PRIVATE].ulPropTag == taskProps.aulPropTag[T_PRIVATE]) { SetPrivate(m_pPropVals[T_PRIVATE].Value.b); } SetPlainTextFileAndContent(); SetHtmlFileAndContent(); if (m_bHasAttachments) { if (FAILED(ExtractAttachments())) { dlogw(L"Could not extract attachments"); } } if (m_bIsRecurring) { if (m_pPropVals[T_RECURSTREAMT].ulPropTag == taskProps.aulPropTag[T_RECURSTREAMT]) { SetRecurValues(); } } return hr; }