Search code examples
c#outlookoutlook-redemption

MAPI_E_NO_ACCESS error setting RDOPstStore property


I'm attempting to set (actually clear) the PR_PST_PASSWORD property on a PST file using Redemption thusly:

RDOSession session = new RDOSession();
RDOPstStore store = session.LogonPstStore(sourcePstPath,Type.Missing,Type.Missing,password);
Int32 PR_PST_PASSWORD = 0x67ff0003;
store.Fields[PR_PST_PASSWORD] = 0x00000000;

That last line throws this exception:

System.UnauthorizedAccessException was unhandled
HResult=-2147024891
Message=Error in HrSetOneProp: MAPI_E_NO_ACCESS

Is there a way I can set this property?


Solution

  • Firstly, PST password needs to be supplied when the PST service is configured when a PST store is being added. It is definitely not stored as a property on the store itself.

    Secondly, I have never seen 0x67ff0003 property. I know of PR_FAIMsgFolderPropTagArray and PR_ServerName properties, but they are of type PT_BINARY (0x67FF0102), not PT_LONG.