June 2008 Release of MFCMAPI
The June 2008 Release (build 6.0.0.1006) is live: https://www.codeplex.com/MFCMAPI
I've been digging through the protocol docs. This update represents my first pass harvesting the easy stuff, like property names and flag values. I definitely plan to get to the more complex stuff, like recurrence blobs. Some of the work done here was putting in plumbing to make that possible, like consolidating all of the property parsing code into one code path. I've also introduced Smart View, which replaces the Flag column, allowing MFCMAPI to parse more kinds of data automatically. Expect to see this feature expanded greatly as I work my way through the protocol documentation.
Here's the change list - see the Issue Tracker on Codeplex for more details, or look at the code:
- Smart View: I removed the Flags column and replaced it with the Smart View column. This column applies intelligence to the data found in the property. For PT_LONG properties, this means flag parsing. For PT_BINARY properties, this means interpreting the data as a structure!
- Every property name, guid, error code, flag listed in the protocol docs has been added to MFCMAPI. Lemme know if I missed anything.
- Flag parsing for named props: I couldn't do this before, but I've added it as part of the Smart View feature.
- Unicode PST paths
- Fixed ultra wide dialogs: The minimum width has been capped at 1000 pixels.
- Multiple names for named props: With the protocol docs, many named props now have two or more names documented. You'll see them all.
Enjoy.
Comments
Anonymous
September 29, 2015
Hi Stephen, I'm trying to access some data in the SmartView that I can see in MFCMapi but I can't get to it from code. I can access the property - var binVal = discontact.PropertyAccessor.GetProperty("schemas.microsoft.com/.../id{00062004-0000-0000-C000-000000000046}/80551102"); and return the members (members of a local distribution group) and loop through the object. Next I convert the data from binary to UTF8 - string member = Encoding.UTF8.GetString(item); but I can't figure out how you access the smartview. Here's the data that I'm attempting to get to in code: Wrapped Entry Type = 0xB5 = BFLAGS_MASK_OUTLOOK | Type: BFLAGS_EXTERNAL_MAILUSER | Not a contact Exchange Address Entry ID: abFlags = 0x00000000 Provider GUID = {C840A7DC-42C0-1A10-B4B9-08002B2FE182} = muidEMSAB Version = 0x00000001 = EMS_VERSION Type = 0x00000000 = DT_MAILUSER X500DN = /o=KeyCorp/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=94ea51333c60447d98a8a045d136f02 Can you give me a hint? Thanks!Anonymous
September 29, 2015
SmartView is custom code in MFCMAPI. The way to "access" it is to run it.Anonymous
September 29, 2015
That’s unfortunate; I was hoping to leverage it in code. Thanks for your comment regardless.