Sample Property Sheet Extension SUMMARY ======= The PropSh.Ext sample demonstrates how to implement custom property sheet extensions for the Microsoft Exchange Client. In particular, it demonstrates adding a custom property page that displays summary sheet information for Microsoft Office documents in a message store. It adds the custom page when viewing properties with a message of class IPM.Document. MORE INFORMATION ================ This sample requires Microsoft Windows NT 3.51 or Windows 95, the MAPI 1.0 (Extended MAPI) PDK (Build 410 or above), Microsoft Visual C++ version 2.0 (or later), and the Win32 SDK for Windows NT and Windows 95. To configure Exchange to use the client extension, place the following REG_SZ entry in the system registry in: HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\Client\Extensions: Sample Property Extension=4.0;c:\\EPRSHT32.DLL;1;00000000000100 You can leave out an explicit path to EPRSHT32.DLL if it resides in a directory listed in the system's PATH. Exchange client extensions are designed using OLE's Component Object Model. The client calls methods which are provided in the extension. In some calls to the extension interface, a pointer to a callback interface (IExchExtCallback) for the extension to call back into the Exchange client. For more information read "Extending the Microsoft Exchange Client" in the MAPI PDK documentation. This sample implements two interface objects, IExchExt and IExchExtPropertySheets. The extension responds to IExchExtPropertySheets methods called by the Exchange client to append a property page if the selected message object is a IPM.Document class message. MAPI stores Microsoft Office documents as a set of properties with the summary sheet information is retained as named properties. The sample extracts the property IDs from the names the first time it displays the properties for an Office document with the GetIDsFromNames. After that, it stores and reuses those ids until the Exchange client is closed. The summary info custom property page displays information in read-only edit controls. The information is read from pointers to elements of a SPropValue array filled by the GetProps function. If a particular property is not found, the string "No " is diplayed in the corresponding field. The field will be blank if the property is found but is an empty string. Each time the summary info page is activated without closing the property sheet dialog, the controls are re-initialized with the same data. The SPropValue array is freed when the property sheet dialog is closed. The Help button is available for the summary info page and will display About information in the sample extension in a message box. To demonstrate the functionality of the extension, drag a Microsoft Office document that has summary sheet information into a folder in the Microsoft Exchange client. Then select the document and press Alt+ENTER or choose Properties... from the File menu in Exchange.