What happened to PR_RULES_DATA and PR_ACL_DATA in Exchange 2013?

I had a case recently with a customer where he was calling IMAPIProp::GetProps() asking for, among other things, PR_RULES_DATA and PR_ACL_DATA.  This code worked correctly in previous versions of Exchange but these properties are no longer exposed in Exchange 2013.  The workaround to this behavior is to call IMAPIProp::OpenProperty() asking for PR_RULES_TABLE and PR_ACL_TABLE respectively. …


How to use MFCMAPI to create a MAPI profile to connect to Office 365

I helped in a case recently where the customer needed to use Exchange’s MAPI to connect to Office 365.  Now that Exchange’s MAPI supports RPC over HTTP (ROH) this is possible.  I used my other post on connecting to Exchange 2013 as a base template and then just changed some things to connect.  Here are…


How to use MFCMAPI to create a MAPI profile to connect to Exchange 2013

Well it’s finally released.  The long awaited MAPI/CDO download that includes the documentation which outlines how to connect to Exchange 2013.  As a supplement to that I have created this blog post to walk you through the steps of creating a profile using MFCMAPI to troubleshoot issues.  The intention of this article was to provide…


How to install Transport Agents in Front End Transport (FET) in Exchange 2013

This is already documented in the release notes but I wanted to call out that in Exchange 2013 you must use local powershell to run the cmdlets to install transport agents in Front End Transport (FET).  This is because when a remote session is used the cmdlet is executed on the backend server.  When you…


Agent went async but did not call Resume (Event Id 1057)

In Exchange 2013 you may see the following in the event log if you don’t call resume in your asynchronous agent Log Name:      ApplicationSource:        MSExchange ExtensibilityEvent ID:      1057Task Category: MExRuntimeLevel:         ErrorKeywords:      ClassicUser:          N/ADescription:Agent ‘Smith’ went async but did not call Resume on the new thread, while handling event ‘OnSubmittedMessage’ It is a best practice to…


Coexistence with Exchange 2013

If you are on Exchange 2010 you will need SP3 to coexist with Exchange 2013. Exchange 2010 SP3 was released yesterday. http://blogs.technet.com/b/exchange/archive/2013/02/12/released-exchange-server-2010-sp3.aspx If you are still on Exchange 2007 you can install RU 10 and coexist with 2013.  It was released yesterday as well. http://blogs.technet.com/b/exchange/archive/2013/02/12/released-update-rollup-6-for-exchange-server-2010-sp2-and-exchange-2007-sp3-ru10.aspx


IMAPISession::OpenAddressBook returns E_NOINTERFACE when providing an IID

I am currently troubleshooting an issue and wrote some code in an effort to reproduce it.  However, when my program called into IMAPISession::OpenAddressBook and gave the IID IID_IAddrBook for the lpInterface parameter it would return E_NOINTERFACE.  This puzzled me because the method returns a pointer to the IAddrBook interface so it should “support” this interface. …