Randy Byrne and I just published an article in the MSDN showing how to use the Exchange Server Protocols documentation to create a contact. This is the first opportunity I've had to publicly show off the add-in architecture I built in to MFCMAPI last year. Over the next few months, I hope to produce a few more add-ins as we work our way through the protocol documentation. Right now I'm writing a parser for the recurrence blob and it's not as difficult as I thought it'd be. As Randy said in a mail announcing this article: "Long live MFCMAPI!"
Steve posted a link to the MSDN protocol documentation.  He talks about them here and here as well
Hi, why the "Display As:" field don't display the string that set to it when create a new contact. It still display as combine PR_SUBJECT_W and (email address) after create a new contact.
I try to create a new contact, and set it “PidLidEmail1DisplayName” property. While when I use Outlook to open the contact I created, the content of “Display as:” is not the value I set when creating, instead, it is the combination of the “PR_SUBJECT_W” property and “PidLidEmail1EmailAddress” property.
article in the MSDN, point to Contacts.cpp -> The GetIDsFromNames method is called in the AddContact method in Contacts.cpp...
Where is located this file???
It's in the project you downloaded under the section "To install the sample code used in this article".