BCM 2010 introduced a new feature, Contact Synchronization. This feature allows a user to synchronize their Business Contact Manager Contacts to an Outlook Contacts Folder.   How does BCM know that an Outlook Contact was synced from BCM?  

When a Contact is Synced, BCM adds a prop to that message, BCMID.   This prop can be viewed in MFCMAPI by opening the Contacts Folder that is the target of the Synchronization


When the PROP is opened in MFCMAPI directly:


The most important portion for Synchronization is the GUID in the  <Value> section (after being saved to a file):

<property tag = "0x81D0001E" type = "PT_STRING8">

<NamedPropGUID>{00020329-0000-0000-C000-000000000046} = PS_PUBLIC_STRINGS</NamedPropGUID>

<NamedPropName>sz: "BCMID"</NamedPropName>



<AltValue>cb: 73 lpb: 37313365343962392D643330312D343465632D613331612D6138343830633034363238622C66653966303735392D626630342D346431322D616235662D646435656630306333373133</AltValue>


The value portion of the Prop contains two values, separated by a comma:


These GUIDs identify the Database and the User within the database. In this Example, the GUID before the Comma:


Is the StoreUID of the BCM Database. This identifies the BCM Database. This value is stored in the ORGTABLE of the BCM database the Contact was synchronized from.  This value can be found by querying the Orgtable with the following command:

Select * from Orgtable
or select StoreUID from orgtable to return only the STOREUID Column


The GUID, after the comma

Identifies the actual user record in the Database. This value can be found in the ContactMainTable Database, but using the following Query

Select * from ContactMainTable


In order for synchronization to continue to work in both directions, both of the above values have to be present in the BCM Database.   If they are not, then the Business Contacts that reside in the Outlook Contacts Folder, maybe become orphaned
Note: .BCM files do not contain a STOREUID.  So if you import a .BCM file to an existing Database, it is not updated or changed

However, restoring a database DOES change the StoreUID – but the StoreUID is not retained – instead, a new one is generated.

Special thanks to Larry for sharing this content Smile 

Thanks & Regards

Rahul Thomas