MAPI GetOutgoingQueue not supported on Windows Mobile (so the Outbox?)
Recently I had to work on a sample code based on my previous post around MAPI that shows a possible way to extract the BODY of the mails in the Inbox folder of the ActiveSync account… this time I needed to grab a handle of the Outbox folder, and therefore I had to modify the function SaveMessagesFromStore of that post. Luckily the code was modularized enough… so, once I had the LPMAPIFOLDER pointer to the Outbox I could continue using basically the same code. I thought there was a MAPI Function similar to IMsgStore::GetReceiveFolder, but found that quite many functions are not implemented in Windows Mobile 6 – see doc here. Luckily MAPI gives different ways to reach a goal, and in this particular case the code was based on the PR_IPM_OUTBOX_ENTRYID property of the MAPI store:
// Get the Outbox folder
ULONG rgTags[] = {1, PR_IPM_OUTBOX_ENTRYID};
LPSPropValue rgprops = NULL;
ULONG ulValues = 0;
hr = pStore->GetProps((LPSPropTagArray) rgTags, MAPI_UNICODE, &ulValues, &rgprops);
CHR(hr);
cbEntryId = rgprops[0].Value.bin.cb;
pEntryId = (LPENTRYID)rgprops[0].Value.bin.lpb;
// We have the entryid of the Outbox folder, let's get the folder
hr = pStore->OpenEntry(cbEntryId, pEntryId, NULL, 0, &ulObjType, (LPUNKNOWN*)&pFolder);
CHR(hr);
//check
CBR(ulObjType == MAPI_FOLDER);
Cheers,
~raffaele
Comments
- Anonymous
May 11, 2009
PingBack from http://asp-net-hosting.simplynetdev.com/mapi-getoutgoingqueue-not-supported-on-windows-mobile-so-the-outbox/