Platform SDK: MAPI |
The following code example demonstrates how you can list, retrieve, and delete the first unread message in the Inbox.
/* Local variables used */ CMC_message_summary *pMsgSummary; CMC_message *pMessage; CMC_uint32 iCount; CMC_session_id Session; CMC_return_code Status; /* Read the first unread message and delete it. */ iCount = 5; /* Maximum number of messages to get summary info about. */ Status = cmc_list( Session, /* Session handle */ NULL, /* List ALL message types. */ CMC_LIST_UNREAD_ONLY, /* Get only unread messages. */ NULL, /* Starting at the top */ &iCount, /* Input/output message count */ 0, /* No UI will be used. */ &pMsgSummary, /* Return message summary list. */ NULL); /* No extensions */ /* Error handling */ Status = cmc_read( Session, /* Session ID */ pMsgSummary->message_reference, /* Message to read */ CMC_MSG_AND_ATT_HDRS_ONLY, /* Don't get attach files.*/ &pMessage, /* Returned message */ 0, /* No UI */ NULL); /* No extensions */ /* Error handling */ Status = cmc_act_on( Session, /* Session ID */ pMsgSummary->message_reference, /* Message to delete */ CMC_ACT_ON_DELETE, /* Message to read */ 0, /* No flags */ 0, /* No UI */ NULL); /* No extensions */ /* Error handling */ /* Free the memory returned by the implementation. */ Status = cmc_free(pMsgSummary); Status = cmc_free(pMessage); /* Do the same thing without the list call, because the read call can get the first unread message. */ Status = cmc_read( Session, /* Session ID */ NULL, /* Read the first message. */ CMC_READ_FIRST_UNREAD_MESSAGE | /* Get first unread msg. */ CMC_MSG_AND_ATT_HDRS_ONLY,/* Don't get attach files. */ &pMessage, /* Returned message */ 0, /* No UI */ NULL); /* No extensions */ /* Error handling */ Status = cmc_act_on( Session, /* Session ID */ pMessage->message_reference, /* Message to delete */ CMC_ACT_ON_DELETE, /* Message to read */ 0, /* No flags */ 0, /* No UI */ NULL); /* No extensions */ /* Error handling */ /* Free the memory returned by the implementation. */ Status = cmc_free(pMessage);