Fix issue #386 - base over patch from Milan Crha:
authorJulien Kerihuel <j.kerihuel@openchange.org>
Tue, 28 Feb 2012 13:32:56 +0000 (13:32 +0000)
committerJulien Kerihuel <j.kerihuel@openchange.org>
Tue, 28 Feb 2012 13:32:56 +0000 (13:32 +0000)
libmapi/libmapi.h
libmapi/mapi_nameid.c
libmapi/mapi_nameid.h
libmapi/mapi_nameid_private.h
script/makepropslist.py

index 16e85d7e38eb5d36d98ad438ae94c01d4e821cd2..26be0a1e1ecca736a11e05bb13d1ff5a7ae5e3ac 100644 (file)
@@ -241,6 +241,9 @@ enum MAPISTATUS             mapi_nameid_unmap_SPropValue(struct mapi_nameid *, struct SProp
 enum MAPISTATUS                mapi_nameid_lookup_SPropTagArray(struct mapi_nameid *, struct SPropTagArray *);
 enum MAPISTATUS                mapi_nameid_lookup_SPropValue(struct mapi_nameid *, struct SPropValue *, unsigned long);
 enum MAPISTATUS                mapi_nameid_GetIDsFromNames(struct mapi_nameid *, mapi_object_t *, struct SPropTagArray *);
+const char *           get_namedid_name(uint32_t proptag);
+uint32_t               get_namedid_value(const char *propname);
+uint16_t               get_namedid_type(uint16_t untypedtag);
 
 /* The following public definitions come from libmapi/property.c */
 struct SPropTagArray   *set_SPropTagArray(TALLOC_CTX *, uint32_t, ...);
index cc7dbb1a25cdced9cf18cb871b50c749d2b09b3e..d6adb341864b9c5365a90b6c64c0680eddfbe698 100644 (file)
@@ -887,3 +887,55 @@ _PUBLIC_ enum MAPISTATUS mapi_nameid_GetIDsFromNames(struct mapi_nameid *mapi_na
 
        return MAPI_E_SUCCESS;
 }
+
+_PUBLIC_ const char *get_namedid_name(uint32_t proptag)
+{
+       uint32_t idx;
+
+       for (idx = 0; mapi_nameid_names[idx].proptag; idx++) {
+               if (mapi_nameid_names[idx].proptag == proptag) { 
+                       return mapi_nameid_names[idx].propname;
+               }
+       }
+       if (((proptag & 0xFFFF) == PT_STRING8) ||
+           ((proptag & 0xFFFF) == PT_MV_STRING8)) {
+               proptag += 1; /* try as _UNICODE variant */
+       }
+       for (idx = 0; mapi_nameid_names[idx].proptag; idx++) {
+               if (mapi_nameid_names[idx].proptag == proptag) { 
+                       return mapi_nameid_names[idx].propname;
+               }
+       }
+       return NULL;
+}
+
+_PUBLIC_ uint32_t get_namedid_value(const char *propname)
+{
+       uint32_t idx;
+
+       for (idx = 0; mapi_nameid_names[idx].proptag; idx++) {
+               if (!strcmp(mapi_nameid_names[idx].propname, propname)) { 
+                       return mapi_nameid_names[idx].proptag;
+               }
+       }
+
+       return 0;
+}
+
+_PUBLIC_ uint16_t get_namedid_type(uint16_t untypedtag)
+{
+       uint32_t        idx;
+       uint16_t        current_type;
+
+       for (idx = 0; mapi_nameid_names[idx].proptag; idx++) {
+               if ((mapi_nameid_names[idx].proptag >> 16) == untypedtag) {
+                       current_type = mapi_nameid_names[idx].proptag & 0xFFFF;
+                       if (current_type != PT_ERROR && current_type != PT_STRING8) {
+                               return current_type;
+                       }
+               }
+       }
+
+       DEBUG(5, ("%s: type for property '%x' could not be deduced\n", __FUNCTION__, untypedtag));
+       return 0;
+}
index 70908053e336ff44a6c82d4d7d85a795b9b92e29..a6c7d32b23791fdc5729d32c3c02e86ca5113243 100644 (file)
@@ -19,6 +19,11 @@ struct mapi_nameid_tags {
        uint32_t                position;
 };
 
+struct mapi_nameid_names {
+       uint32_t                proptag;
+       const char              *propname;
+};
+
 struct mapi_nameid {
        struct MAPINAMEID       *nameid;
        uint16_t                count;
index 3b56b9efe24b2f3bda4b0ac7a8728280b9557054..98e23e245d5c20334406bec3793a7a6363584938 100644 (file)
@@ -589,4 +589,590 @@ static struct mapi_nameid_tags mapi_nameid_tags[] = {
 
 };
 
+static struct mapi_nameid_names mapi_nameid_names[] = {
+{ PidLidAddressBookProviderArrayType                          , "PidLidAddressBookProviderArrayType" },
+{ PidLidAddressBookProviderEmailList                          , "PidLidAddressBookProviderEmailList" },
+{ PidLidAddressCountryCode                                    , "PidLidAddressCountryCode" },
+{ PidLidAnniversaryEventEntryId                               , "PidLidAnniversaryEventEntryId" },
+{ PidLidAutoLog                                               , "PidLidAutoLog" },
+{ PidLidBirthdayEventEntryId                                  , "PidLidBirthdayEventEntryId" },
+{ PidLidBirthdayLocal                                         , "PidLidBirthdayLocal" },
+{ PidLidBusinessCardCardPicture                               , "PidLidBusinessCardCardPicture" },
+{ PidLidBusinessCardDisplayDefinition                         , "PidLidBusinessCardDisplayDefinition" },
+{ PidLidContactCharacterSet                                   , "PidLidContactCharacterSet" },
+{ PidLidContactItemData                                       , "PidLidContactItemData" },
+{ PidLidContactUserField1                                     , "PidLidContactUserField1" },
+{ PidLidContactUserField2                                     , "PidLidContactUserField2" },
+{ PidLidContactUserField3                                     , "PidLidContactUserField3" },
+{ PidLidContactUserField4                                     , "PidLidContactUserField4" },
+{ PidLidDepartment                                            , "PidLidDepartment" },
+{ PidLidDistributionListChecksum                              , "PidLidDistributionListChecksum" },
+{ PidLidDistributionListMembers                               , "PidLidDistributionListMembers" },
+{ PidLidDistributionListName                                  , "PidLidDistributionListName" },
+{ PidLidDistributionListOneOffMembers                         , "PidLidDistributionListOneOffMembers" },
+{ PidLidDistributionListStream                                , "PidLidDistributionListStream" },
+{ PidLidEmail1AddressType                                     , "PidLidEmail1AddressType" },
+{ PidLidEmail1DisplayName                                     , "PidLidEmail1DisplayName" },
+{ PidLidEmail1EmailAddress                                    , "PidLidEmail1EmailAddress" },
+{ PidLidEmail1OriginalDisplayName                             , "PidLidEmail1OriginalDisplayName" },
+{ PidLidEmail1OriginalEntryId                                 , "PidLidEmail1OriginalEntryId" },
+{ PidLidEmail1RichTextFormat                                  , "PidLidEmail1RichTextFormat" },
+{ PidLidEmail2AddressType                                     , "PidLidEmail2AddressType" },
+{ PidLidEmail2DisplayName                                     , "PidLidEmail2DisplayName" },
+{ PidLidEmail2EmailAddress                                    , "PidLidEmail2EmailAddress" },
+{ PidLidEmail2OriginalDisplayName                             , "PidLidEmail2OriginalDisplayName" },
+{ PidLidEmail2OriginalEntryId                                 , "PidLidEmail2OriginalEntryId" },
+{ PidLidEmail2RichTextFormat                                  , "PidLidEmail2RichTextFormat" },
+{ PidLidEmail3AddressType                                     , "PidLidEmail3AddressType" },
+{ PidLidEmail3DisplayName                                     , "PidLidEmail3DisplayName" },
+{ PidLidEmail3EmailAddress                                    , "PidLidEmail3EmailAddress" },
+{ PidLidEmail3OriginalDisplayName                             , "PidLidEmail3OriginalDisplayName" },
+{ PidLidEmail3OriginalEntryId                                 , "PidLidEmail3OriginalEntryId" },
+{ PidLidEmail3RichTextFormat                                  , "PidLidEmail3RichTextFormat" },
+{ PidLidEmailList                                             , "PidLidEmailList" },
+{ PidLidFax1AddressType                                       , "PidLidFax1AddressType" },
+{ PidLidFax1EmailAddress                                      , "PidLidFax1EmailAddress" },
+{ PidLidFax1OriginalDisplayName                               , "PidLidFax1OriginalDisplayName" },
+{ PidLidFax1OriginalEntryId                                   , "PidLidFax1OriginalEntryId" },
+{ PidLidFax2AddressType                                       , "PidLidFax2AddressType" },
+{ PidLidFax2EmailAddress                                      , "PidLidFax2EmailAddress" },
+{ PidLidFax2OriginalDisplayName                               , "PidLidFax2OriginalDisplayName" },
+{ PidLidFax2OriginalEntryId                                   , "PidLidFax2OriginalEntryId" },
+{ PidLidFax3AddressType                                       , "PidLidFax3AddressType" },
+{ PidLidFax3EmailAddress                                      , "PidLidFax3EmailAddress" },
+{ PidLidFax3OriginalDisplayName                               , "PidLidFax3OriginalDisplayName" },
+{ PidLidFax3OriginalEntryId                                   , "PidLidFax3OriginalEntryId" },
+{ PidLidFileUnder                                             , "PidLidFileUnder" },
+{ PidLidFileUnderId                                           , "PidLidFileUnderId" },
+{ PidLidFileUnderList                                         , "PidLidFileUnderList" },
+{ PidLidFreeBusyLocation                                      , "PidLidFreeBusyLocation" },
+{ PidLidHasPicture                                            , "PidLidHasPicture" },
+{ PidLidHomeAddress                                           , "PidLidHomeAddress" },
+{ PidLidHomeAddressCountryCode                                , "PidLidHomeAddressCountryCode" },
+{ PidLidHtml                                                  , "PidLidHtml" },
+{ PidLidInstantMessagingAddress                               , "PidLidInstantMessagingAddress" },
+{ PidLidOtherAddress                                          , "PidLidOtherAddress" },
+{ PidLidOtherAddressCountryCode                               , "PidLidOtherAddressCountryCode" },
+{ PidLidPostalAddressId                                       , "PidLidPostalAddressId" },
+{ PidLidReferredBy                                            , "PidLidReferredBy" },
+{ PidLidWeddingAnniversaryLocal                               , "PidLidWeddingAnniversaryLocal" },
+{ PidLidWorkAddress                                           , "PidLidWorkAddress" },
+{ PidLidWorkAddressCity                                       , "PidLidWorkAddressCity" },
+{ PidLidWorkAddressCountry                                    , "PidLidWorkAddressCountry" },
+{ PidLidWorkAddressCountryCode                                , "PidLidWorkAddressCountryCode" },
+{ PidLidWorkAddressPostalCode                                 , "PidLidWorkAddressPostalCode" },
+{ PidLidWorkAddressPostOfficeBox                              , "PidLidWorkAddressPostOfficeBox" },
+{ PidLidWorkAddressState                                      , "PidLidWorkAddressState" },
+{ PidLidYomiCompanyName                                       , "PidLidYomiCompanyName" },
+{ PidLidYomiFirstName                                         , "PidLidYomiFirstName" },
+{ PidLidYomiLastName                                          , "PidLidYomiLastName" },
+{ PidNameInstantMessagingAddress2                             , "PidNameInstantMessagingAddress2" },
+{ PidNameInstantMessagingAddress3                             , "PidNameInstantMessagingAddress3" },
+{ PidLidAllAttendeesString                                    , "PidLidAllAttendeesString" },
+{ PidLidAllowExternalCheck                                    , "PidLidAllowExternalCheck" },
+{ PidLidAppointmentAuxiliaryFlags                             , "PidLidAppointmentAuxiliaryFlags" },
+{ PidLidAppointmentColor                                      , "PidLidAppointmentColor" },
+{ PidLidAppointmentCounterProposal                            , "PidLidAppointmentCounterProposal" },
+{ PidLidAppointmentDuration                                   , "PidLidAppointmentDuration" },
+{ PidLidAppointmentEndDate                                    , "PidLidAppointmentEndDate" },
+{ PidLidAppointmentEndTime                                    , "PidLidAppointmentEndTime" },
+{ PidLidAppointmentEndWhole                                   , "PidLidAppointmentEndWhole" },
+{ PidLidAppointmentLastSequence                               , "PidLidAppointmentLastSequence" },
+{ PidLidAppointmentNotAllowPropose                            , "PidLidAppointmentNotAllowPropose" },
+{ PidLidAppointmentProposalNumber                             , "PidLidAppointmentProposalNumber" },
+{ PidLidAppointmentProposedDuration                           , "PidLidAppointmentProposedDuration" },
+{ PidLidAppointmentProposedEndWhole                           , "PidLidAppointmentProposedEndWhole" },
+{ PidLidAppointmentProposedStartWhole                         , "PidLidAppointmentProposedStartWhole" },
+{ PidLidAppointmentRecur                                      , "PidLidAppointmentRecur" },
+{ PidLidAppointmentReplyName                                  , "PidLidAppointmentReplyName" },
+{ PidLidAppointmentReplyTime                                  , "PidLidAppointmentReplyTime" },
+{ PidLidAppointmentSequence                                   , "PidLidAppointmentSequence" },
+{ PidLidAppointmentSequenceTime                               , "PidLidAppointmentSequenceTime" },
+{ PidLidAppointmentStartDate                                  , "PidLidAppointmentStartDate" },
+{ PidLidAppointmentStartTime                                  , "PidLidAppointmentStartTime" },
+{ PidLidAppointmentStartWhole                                 , "PidLidAppointmentStartWhole" },
+{ PidLidAppointmentStateFlags                                 , "PidLidAppointmentStateFlags" },
+{ PidLidAppointmentSubType                                    , "PidLidAppointmentSubType" },
+{ PidLidAppointmentTimeZoneDefinitionEndDisplay               , "PidLidAppointmentTimeZoneDefinitionEndDisplay" },
+{ PidLidAppointmentTimeZoneDefinitionRecur                    , "PidLidAppointmentTimeZoneDefinitionRecur" },
+{ PidLidAppointmentTimeZoneDefinitionStartDisplay             , "PidLidAppointmentTimeZoneDefinitionStartDisplay" },
+{ PidLidAppointmentUnsendableRecipients                       , "PidLidAppointmentUnsendableRecipients" },
+{ PidLidAppointmentUpdateTime                                 , "PidLidAppointmentUpdateTime" },
+{ PidLidAutoFillLocation                                      , "PidLidAutoFillLocation" },
+{ PidLidAutoStartCheck                                        , "PidLidAutoStartCheck" },
+{ PidLidBusyStatus                                            , "PidLidBusyStatus" },
+{ PidLidCcAttendeesString                                     , "PidLidCcAttendeesString" },
+{ PidLidChangeHighlight                                       , "PidLidChangeHighlight" },
+{ PidLidClipEnd                                               , "PidLidClipEnd" },
+{ PidLidClipStart                                             , "PidLidClipStart" },
+{ PidLidCollaborateDoc                                        , "PidLidCollaborateDoc" },
+{ PidLidConferencingCheck                                     , "PidLidConferencingCheck" },
+{ PidLidConferencingType                                      , "PidLidConferencingType" },
+{ PidLidDirectory                                             , "PidLidDirectory" },
+{ PidLidExceptionReplaceTime                                  , "PidLidExceptionReplaceTime" },
+{ PidLidFExceptionalAttendees                                 , "PidLidFExceptionalAttendees" },
+{ PidLidFExceptionalBody                                      , "PidLidFExceptionalBody" },
+{ PidLidFInvited                                              , "PidLidFInvited" },
+{ PidLidForwardInstance                                       , "PidLidForwardInstance" },
+{ PidLidForwardNotificationRecipients                         , "PidLidForwardNotificationRecipients" },
+{ PidLidFOthersAppointment                                    , "PidLidFOthersAppointment" },
+{ PidLidInboundICalStream                                     , "PidLidInboundICalStream" },
+{ PidLidIntendedBusyStatus                                    , "PidLidIntendedBusyStatus" },
+{ PidLidLinkedTaskItems                                       , "PidLidLinkedTaskItems" },
+{ PidLidLocation                                              , "PidLidLocation" },
+{ PidLidMeetingWorkspaceUrl                                   , "PidLidMeetingWorkspaceUrl" },
+{ PidLidNetShowUrl                                            , "PidLidNetShowUrl" },
+{ PidLidOnlinePassword                                        , "PidLidOnlinePassword" },
+{ PidLidOrganizerAlias                                        , "PidLidOrganizerAlias" },
+{ PidLidOriginalStoreEntryId                                  , "PidLidOriginalStoreEntryId" },
+{ PidLidOwnerName                                             , "PidLidOwnerName" },
+{ PidLidRecurrencePattern                                     , "PidLidRecurrencePattern" },
+{ PidLidRecurrenceType                                        , "PidLidRecurrenceType" },
+{ PidLidRecurring                                             , "PidLidRecurring" },
+{ PidLidResponseStatus                                        , "PidLidResponseStatus" },
+{ PidLidSingleBodyICal                                        , "PidLidSingleBodyICal" },
+{ PidLidTimeZoneDescription                                   , "PidLidTimeZoneDescription" },
+{ PidLidTimeZoneStruct                                        , "PidLidTimeZoneStruct" },
+{ PidLidToAttendeesString                                     , "PidLidToAttendeesString" },
+{ PidNameAttachmentMacContentType                             , "PidNameAttachmentMacContentType" },
+{ PidNameAttachmentMacInfo                                    , "PidNameAttachmentMacInfo" },
+{ PidLidClientIntent                                          , "PidLidClientIntent" },
+{ PidLidServerProcessed                                       , "PidLidServerProcessed" },
+{ PidLidServerProcessingActions                               , "PidLidServerProcessingActions" },
+{ PidLidAgingDontAgeMe                                        , "PidLidAgingDontAgeMe" },
+{ PidLidAutoProcessState                                      , "PidLidAutoProcessState" },
+{ PidLidBilling                                               , "PidLidBilling" },
+{ PidLidClassification                                        , "PidLidClassification" },
+{ PidLidClassificationDescription                             , "PidLidClassificationDescription" },
+{ PidLidClassificationGuid                                    , "PidLidClassificationGuid" },
+{ PidLidClassificationKeep                                    , "PidLidClassificationKeep" },
+{ PidLidClassified                                            , "PidLidClassified" },
+{ PidLidCommonEnd                                             , "PidLidCommonEnd" },
+{ PidLidCommonStart                                           , "PidLidCommonStart" },
+{ PidLidCompanies                                             , "PidLidCompanies" },
+{ PidLidContactLinkEntry                                      , "PidLidContactLinkEntry" },
+{ PidLidContactLinkName                                       , "PidLidContactLinkName" },
+{ PidLidContactLinkSearchKey                                  , "PidLidContactLinkSearchKey" },
+{ PidLidContacts                                              , "PidLidContacts" },
+{ PidLidConversationActionLastAppliedTime                     , "PidLidConversationActionLastAppliedTime" },
+{ PidLidConversationActionMaxDeliveryTime                     , "PidLidConversationActionMaxDeliveryTime" },
+{ PidLidConversationActionMoveFolderEid                       , "PidLidConversationActionMoveFolderEid" },
+{ PidLidConversationActionMoveStoreEid                        , "PidLidConversationActionMoveStoreEid" },
+{ PidLidConversationActionVersion                             , "PidLidConversationActionVersion" },
+{ PidLidConversationProcessed                                 , "PidLidConversationProcessed" },
+{ PidLidCurrentVersion                                        , "PidLidCurrentVersion" },
+{ PidLidCurrentVersionName                                    , "PidLidCurrentVersionName" },
+{ PidLidDayOfMonth                                            , "PidLidDayOfMonth" },
+{ PidLidFlagRequest                                           , "PidLidFlagRequest" },
+{ PidLidFlagString                                            , "PidLidFlagString" },
+{ PidLidICalendarDayOfWeekMask                                , "PidLidICalendarDayOfWeekMask" },
+{ PidLidInfoPathFormName                                      , "PidLidInfoPathFormName" },
+{ PidLidInternetAccountName                                   , "PidLidInternetAccountName" },
+{ PidLidInternetAccountStamp                                  , "PidLidInternetAccountStamp" },
+{ PidLidMonthOfYear                                           , "PidLidMonthOfYear" },
+{ PidLidNoEndDateFlag                                         , "PidLidNoEndDateFlag" },
+{ PidLidNonSendableBcc                                        , "PidLidNonSendableBcc" },
+{ PidLidNonSendableCc                                         , "PidLidNonSendableCc" },
+{ PidLidNonSendableTo                                         , "PidLidNonSendableTo" },
+{ PidLidNonSendBccTrackStatus                                 , "PidLidNonSendBccTrackStatus" },
+{ PidLidNonSendCcTrackStatus                                  , "PidLidNonSendCcTrackStatus" },
+{ PidLidNonSendToTrackStatus                                  , "PidLidNonSendToTrackStatus" },
+{ PidLidOccurrences                                           , "PidLidOccurrences" },
+{ PidLidPrivate                                               , "PidLidPrivate" },
+{ PidLidPromptSendUpdate                                      , "PidLidPromptSendUpdate" },
+{ PidLidRecurrenceDuration                                    , "PidLidRecurrenceDuration" },
+{ PidLidReferenceEntryId                                      , "PidLidReferenceEntryId" },
+{ PidLidReminderDelta                                         , "PidLidReminderDelta" },
+{ PidLidReminderFileParameter                                 , "PidLidReminderFileParameter" },
+{ PidLidReminderOverride                                      , "PidLidReminderOverride" },
+{ PidLidReminderPlaySound                                     , "PidLidReminderPlaySound" },
+{ PidLidReminderSet                                           , "PidLidReminderSet" },
+{ PidLidReminderSignalTime                                    , "PidLidReminderSignalTime" },
+{ PidLidReminderTime                                          , "PidLidReminderTime" },
+{ PidLidReminderTimeDate                                      , "PidLidReminderTimeDate" },
+{ PidLidReminderTimeTime                                      , "PidLidReminderTimeTime" },
+{ PidLidReminderType                                          , "PidLidReminderType" },
+{ PidLidRemoteStatus                                          , "PidLidRemoteStatus" },
+{ PidLidSideEffects                                           , "PidLidSideEffects" },
+{ PidLidSmartNoAttach                                         , "PidLidSmartNoAttach" },
+{ PidLidSpamOriginalFolder                                    , "PidLidSpamOriginalFolder" },
+{ PidLidTaskGlobalId                                          , "PidLidTaskGlobalId" },
+{ PidLidTaskMode                                              , "PidLidTaskMode" },
+{ PidLidToDoOrdinalDate                                       , "PidLidToDoOrdinalDate" },
+{ PidLidToDoSubOrdinal                                        , "PidLidToDoSubOrdinal" },
+{ PidLidToDoTitle                                             , "PidLidToDoTitle" },
+{ PidLidUseTnef                                               , "PidLidUseTnef" },
+{ PidLidValidFlagStringProof                                  , "PidLidValidFlagStringProof" },
+{ PidLidVerbResponse                                          , "PidLidVerbResponse" },
+{ PidLidVerbStream                                            , "PidLidVerbStream" },
+{ PidLidLogDocumentPosted                                     , "PidLidLogDocumentPosted" },
+{ PidLidLogDocumentPrinted                                    , "PidLidLogDocumentPrinted" },
+{ PidLidLogDocumentRouted                                     , "PidLidLogDocumentRouted" },
+{ PidLidLogDocumentSaved                                      , "PidLidLogDocumentSaved" },
+{ PidLidLogDuration                                           , "PidLidLogDuration" },
+{ PidLidLogEnd                                                , "PidLidLogEnd" },
+{ PidLidLogFlags                                              , "PidLidLogFlags" },
+{ PidLidLogStart                                              , "PidLidLogStart" },
+{ PidLidLogType                                               , "PidLidLogType" },
+{ PidLidLogTypeDesc                                           , "PidLidLogTypeDesc" },
+{ PidLidAppointmentMessageClass                               , "PidLidAppointmentMessageClass" },
+{ PidLidAttendeeCriticalChange                                , "PidLidAttendeeCriticalChange" },
+{ PidLidCalendarType                                          , "PidLidCalendarType" },
+{ PidLidCleanGlobalObjectId                                   , "PidLidCleanGlobalObjectId" },
+{ PidLidDayInterval                                           , "PidLidDayInterval" },
+{ PidLidDelegateMail                                          , "PidLidDelegateMail" },
+{ PidLidEndRecurrenceDate                                     , "PidLidEndRecurrenceDate" },
+{ PidLidEndRecurrenceTime                                     , "PidLidEndRecurrenceTime" },
+{ PidLidGlobalObjectId                                        , "PidLidGlobalObjectId" },
+{ PidLidIsException                                           , "PidLidIsException" },
+{ PidLidIsRecurring                                           , "PidLidIsRecurring" },
+{ PidLidIsSilent                                              , "PidLidIsSilent" },
+{ PidLidMeetingType                                           , "PidLidMeetingType" },
+{ PidLidMonthInterval                                         , "PidLidMonthInterval" },
+{ PidLidMonthOfYearMask                                       , "PidLidMonthOfYearMask" },
+{ PidLidOldLocation                                           , "PidLidOldLocation" },
+{ PidLidOldRecurrenceType                                     , "PidLidOldRecurrenceType" },
+{ PidLidOldWhenEndWhole                                       , "PidLidOldWhenEndWhole" },
+{ PidLidOldWhenStartWhole                                     , "PidLidOldWhenStartWhole" },
+{ PidLidOptionalAttendees                                     , "PidLidOptionalAttendees" },
+{ PidLidOwnerCriticalChange                                   , "PidLidOwnerCriticalChange" },
+{ PidLidRequiredAttendees                                     , "PidLidRequiredAttendees" },
+{ PidLidResourceAttendees                                     , "PidLidResourceAttendees" },
+{ PidLidStartRecurrenceDate                                   , "PidLidStartRecurrenceDate" },
+{ PidLidStartRecurrenceTime                                   , "PidLidStartRecurrenceTime" },
+{ PidLidTimeZone                                              , "PidLidTimeZone" },
+{ PidLidWeekInterval                                          , "PidLidWeekInterval" },
+{ PidLidWhere                                                 , "PidLidWhere" },
+{ PidLidYearInterval                                          , "PidLidYearInterval" },
+{ PidNameOriginalSpamConfidenceLevel                          , "PidNameOriginalSpamConfidenceLevel" },
+{ PidLidNoteColor                                             , "PidLidNoteColor" },
+{ PidLidNoteHeight                                            , "PidLidNoteHeight" },
+{ PidLidNoteWidth                                             , "PidLidNoteWidth" },
+{ PidLidNoteX                                                 , "PidLidNoteX" },
+{ PidLidNoteY                                                 , "PidLidNoteY" },
+{ PidLidPostRssChannel                                        , "PidLidPostRssChannel" },
+{ PidLidPostRssChannelLink                                    , "PidLidPostRssChannelLink" },
+{ PidLidPostRssItemGuid                                       , "PidLidPostRssItemGuid" },
+{ PidLidPostRssItemHash                                       , "PidLidPostRssItemHash" },
+{ PidLidPostRssItemLink                                       , "PidLidPostRssItemLink" },
+{ PidLidPostRssItemXml                                        , "PidLidPostRssItemXml" },
+{ PidLidPostRssSubscription                                   , "PidLidPostRssSubscription" },
+{ PidLidSharingAnonymity                                      , "PidLidSharingAnonymity" },
+{ PidLidSharingBindingEntryId                                 , "PidLidSharingBindingEntryId" },
+{ PidLidSharingBrowseUrl                                      , "PidLidSharingBrowseUrl" },
+{ PidLidSharingCapabilities                                   , "PidLidSharingCapabilities" },
+{ PidLidSharingConfigurationUrl                               , "PidLidSharingConfigurationUrl" },
+{ PidLidSharingDataRangeEnd                                   , "PidLidSharingDataRangeEnd" },
+{ PidLidSharingDataRangeStart                                 , "PidLidSharingDataRangeStart" },
+{ PidLidSharingDetail                                         , "PidLidSharingDetail" },
+{ PidLidSharingExtensionXml                                   , "PidLidSharingExtensionXml" },
+{ PidLidSharingFilter                                         , "PidLidSharingFilter" },
+{ PidLidSharingFlags                                          , "PidLidSharingFlags" },
+{ PidLidSharingFlavor                                         , "PidLidSharingFlavor" },
+{ PidLidSharingFolderEntryId                                  , "PidLidSharingFolderEntryId" },
+{ PidLidSharingIndexEntryId                                   , "PidLidSharingIndexEntryId" },
+{ PidLidSharingInitiatorEntryId                               , "PidLidSharingInitiatorEntryId" },
+{ PidLidSharingInitiatorName                                  , "PidLidSharingInitiatorName" },
+{ PidLidSharingInitiatorSmtp                                  , "PidLidSharingInitiatorSmtp" },
+{ PidLidSharingInstanceGuid                                   , "PidLidSharingInstanceGuid" },
+{ PidLidSharingLastAutoSyncTime                               , "PidLidSharingLastAutoSyncTime" },
+{ PidLidSharingLastSyncTime                                   , "PidLidSharingLastSyncTime" },
+{ PidLidSharingLocalComment                                   , "PidLidSharingLocalComment" },
+{ PidLidSharingLocalLastModificationTime                      , "PidLidSharingLocalLastModificationTime" },
+{ PidLidSharingLocalName                                      , "PidLidSharingLocalName" },
+{ PidLidSharingLocalPath                                      , "PidLidSharingLocalPath" },
+{ PidLidSharingLocalStoreUid                                  , "PidLidSharingLocalStoreUid" },
+{ PidLidSharingLocalType                                      , "PidLidSharingLocalType" },
+{ PidLidSharingLocalUid                                       , "PidLidSharingLocalUid" },
+{ PidLidSharingOriginalMessageEntryId                         , "PidLidSharingOriginalMessageEntryId" },
+{ PidLidSharingParentBindingEntryId                           , "PidLidSharingParentBindingEntryId" },
+{ PidLidSharingParticipants                                   , "PidLidSharingParticipants" },
+{ PidLidSharingPermissions                                    , "PidLidSharingPermissions" },
+{ PidLidSharingProviderExtension                              , "PidLidSharingProviderExtension" },
+{ PidLidSharingProviderGuid                                   , "PidLidSharingProviderGuid" },
+{ PidLidSharingProviderName                                   , "PidLidSharingProviderName" },
+{ PidLidSharingProviderUrl                                    , "PidLidSharingProviderUrl" },
+{ PidLidSharingRangeEnd                                       , "PidLidSharingRangeEnd" },
+{ PidLidSharingRangeStart                                     , "PidLidSharingRangeStart" },
+{ PidLidSharingReciprocation                                  , "PidLidSharingReciprocation" },
+{ PidLidSharingRemoteByteSize                                 , "PidLidSharingRemoteByteSize" },
+{ PidLidSharingRemoteComment                                  , "PidLidSharingRemoteComment" },
+{ PidLidSharingRemoteCrc                                      , "PidLidSharingRemoteCrc" },
+{ PidLidSharingRemoteLastModificationTime                     , "PidLidSharingRemoteLastModificationTime" },
+{ PidLidSharingRemoteMessageCount                             , "PidLidSharingRemoteMessageCount" },
+{ PidLidSharingRemoteName                                     , "PidLidSharingRemoteName" },
+{ PidLidSharingRemotePass                                     , "PidLidSharingRemotePass" },
+{ PidLidSharingRemotePath                                     , "PidLidSharingRemotePath" },
+{ PidLidSharingRemoteStoreUid                                 , "PidLidSharingRemoteStoreUid" },
+{ PidLidSharingRemoteType                                     , "PidLidSharingRemoteType" },
+{ PidLidSharingRemoteUid                                      , "PidLidSharingRemoteUid" },
+{ PidLidSharingRemoteUser                                     , "PidLidSharingRemoteUser" },
+{ PidLidSharingRemoteVersion                                  , "PidLidSharingRemoteVersion" },
+{ PidLidSharingResponseTime                                   , "PidLidSharingResponseTime" },
+{ PidLidSharingResponseType                                   , "PidLidSharingResponseType" },
+{ PidLidSharingRoamLog                                        , "PidLidSharingRoamLog" },
+{ PidLidSharingStart                                          , "PidLidSharingStart" },
+{ PidLidSharingStatus                                         , "PidLidSharingStatus" },
+{ PidLidSharingStop                                           , "PidLidSharingStop" },
+{ PidLidSharingSyncFlags                                      , "PidLidSharingSyncFlags" },
+{ PidLidSharingSyncInterval                                   , "PidLidSharingSyncInterval" },
+{ PidLidSharingTimeToLive                                     , "PidLidSharingTimeToLive" },
+{ PidLidSharingTimeToLiveAuto                                 , "PidLidSharingTimeToLiveAuto" },
+{ PidLidSharingWorkingHoursDays                               , "PidLidSharingWorkingHoursDays" },
+{ PidLidSharingWorkingHoursEnd                                , "PidLidSharingWorkingHoursEnd" },
+{ PidLidSharingWorkingHoursStart                              , "PidLidSharingWorkingHoursStart" },
+{ PidLidSharingWorkingHoursTimeZone                           , "PidLidSharingWorkingHoursTimeZone" },
+{ PidLidPercentComplete                                       , "PidLidPercentComplete" },
+{ PidLidTaskAcceptanceState                                   , "PidLidTaskAcceptanceState" },
+{ PidLidTaskAccepted                                          , "PidLidTaskAccepted" },
+{ PidLidTaskActualEffort                                      , "PidLidTaskActualEffort" },
+{ PidLidTaskAssigner                                          , "PidLidTaskAssigner" },
+{ PidLidTaskAssigners                                         , "PidLidTaskAssigners" },
+{ PidLidTaskComplete                                          , "PidLidTaskComplete" },
+{ PidLidTaskCustomFlags                                       , "PidLidTaskCustomFlags" },
+{ PidLidTaskDateCompleted                                     , "PidLidTaskDateCompleted" },
+{ PidLidTaskDeadOccurrence                                    , "PidLidTaskDeadOccurrence" },
+{ PidLidTaskDueDate                                           , "PidLidTaskDueDate" },
+{ PidLidTaskEstimatedEffort                                   , "PidLidTaskEstimatedEffort" },
+{ PidLidTaskFCreator                                          , "PidLidTaskFCreator" },
+{ PidLidTaskFFixOffline                                       , "PidLidTaskFFixOffline" },
+{ PidLidTaskFRecurring                                        , "PidLidTaskFRecurring" },
+{ PidLidTaskHistory                                           , "PidLidTaskHistory" },
+{ PidLidTaskLastDelegate                                      , "PidLidTaskLastDelegate" },
+{ PidLidTaskLastUpdate                                        , "PidLidTaskLastUpdate" },
+{ PidLidTaskLastUser                                          , "PidLidTaskLastUser" },
+{ PidLidTaskMultipleRecipients                                , "PidLidTaskMultipleRecipients" },
+{ PidLidTaskNoCompute                                         , "PidLidTaskNoCompute" },
+{ PidLidTaskOrdinal                                           , "PidLidTaskOrdinal" },
+{ PidLidTaskOwner                                             , "PidLidTaskOwner" },
+{ PidLidTaskOwnership                                         , "PidLidTaskOwnership" },
+{ PidLidTaskRecurrence                                        , "PidLidTaskRecurrence" },
+{ PidLidTaskResetReminder                                     , "PidLidTaskResetReminder" },
+{ PidLidTaskRole                                              , "PidLidTaskRole" },
+{ PidLidTaskStartDate                                         , "PidLidTaskStartDate" },
+{ PidLidTaskState                                             , "PidLidTaskState" },
+{ PidLidTaskStatus                                            , "PidLidTaskStatus" },
+{ PidLidTaskStatusOnComplete                                  , "PidLidTaskStatusOnComplete" },
+{ PidLidTaskUpdates                                           , "PidLidTaskUpdates" },
+{ PidLidTaskVersion                                           , "PidLidTaskVersion" },
+{ PidLidTeamTask                                              , "PidLidTeamTask" },
+{ PidLidTrustRecipientHighlights                              , "PidLidTrustRecipientHighlights" },
+{ PidNameAudioNotes                                           , "PidNameAudioNotes" },
+{ PidNameAutomaticSpeechRecognitionData                       , "PidNameAutomaticSpeechRecognitionData" },
+{ PidNameOutlookProtectionRuleTimestamp                       , "PidNameOutlookProtectionRuleTimestamp" },
+{ PidNameXUnifiedMessagingPartnerAssignedId                   , "PidNameXUnifiedMessagingPartnerAssignedId" },
+{ PidNameXUnifiedMessagingPartnerContent                      , "PidNameXUnifiedMessagingPartnerContent" },
+{ PidNameXUnifiedMessagingPartnerContext                      , "PidNameXUnifiedMessagingPartnerContext" },
+{ PidNameXUnifiedMessagingPartnerStatus                       , "PidNameXUnifiedMessagingPartnerStatus" },
+{ PidNameAcceptLanguage                                       , "PidNameAcceptLanguage" },
+{ PidNameApprovalAllowedDecisionMakers                        , "PidNameApprovalAllowedDecisionMakers" },
+{ PidNameApprovalRequestor                                    , "PidNameApprovalRequestor" },
+{ PidNameApproved                                             , "PidNameApproved" },
+{ PidNameAuthenticatedAs                                      , "PidNameAuthenticatedAs" },
+{ PidNameAuthenticatedDomain                                  , "PidNameAuthenticatedDomain" },
+{ PidNameAuthenticatedMechanism                               , "PidNameAuthenticatedMechanism" },
+{ PidNameAuthenticatedSource                                  , "PidNameAuthenticatedSource" },
+{ PidNameBcc                                                  , "PidNameBcc" },
+{ PidNameCc                                                   , "PidNameCc" },
+{ PidNameContentBase                                          , "PidNameContentBase" },
+{ PidNameContentClass                                         , "PidNameContentClass" },
+{ PidNameContentDisposition                                   , "PidNameContentDisposition" },
+{ PidNameContentID                                            , "PidNameContentID" },
+{ PidNameContentLanguage                                      , "PidNameContentLanguage" },
+{ PidNameContentLocation                                      , "PidNameContentLocation" },
+{ PidNameContentTransferEncoding                              , "PidNameContentTransferEncoding" },
+{ PidNameContentType                                          , "PidNameContentType" },
+{ PidNameControl                                              , "PidNameControl" },
+{ PidNameCrossReference                                       , "PidNameCrossReference" },
+{ PidNameDisposition                                          , "PidNameDisposition" },
+{ PidNameDispositionNotificationTo                            , "PidNameDispositionNotificationTo" },
+{ PidNameDistribution                                         , "PidNameDistribution" },
+{ PidNameExpires                                              , "PidNameExpires" },
+{ PidNameExpiryDate                                           , "PidNameExpiryDate" },
+{ PidNameFollowupTo                                           , "PidNameFollowupTo" },
+{ PidNameFrom                                                 , "PidNameFrom" },
+{ PidNameImportance                                           , "PidNameImportance" },
+{ PidNameInReplyTo                                            , "PidNameInReplyTo" },
+{ PidNameInternetComment                                      , "PidNameInternetComment" },
+{ PidNameInternetKeywords                                     , "PidNameInternetKeywords" },
+{ PidNameInternetSubject                                      , "PidNameInternetSubject" },
+{ PidNameLines                                                , "PidNameLines" },
+{ PidNameMessageId                                            , "PidNameMessageId" },
+{ PidNameMimeVersion                                          , "PidNameMimeVersion" },
+{ PidNameNewsgroups                                           , "PidNameNewsgroups" },
+{ PidNameNntpPostingHost                                      , "PidNameNntpPostingHost" },
+{ PidNameOrganization                                         , "PidNameOrganization" },
+{ PidNameOriginalRecipient                                    , "PidNameOriginalRecipient" },
+{ PidNameOutlookProtectionRuleOverridden                      , "PidNameOutlookProtectionRuleOverridden" },
+{ PidNameOutlookProtectionRuleVersion                         , "PidNameOutlookProtectionRuleVersion" },
+{ PidNamePath                                                 , "PidNamePath" },
+{ PidNamePostingVersion                                       , "PidNamePostingVersion" },
+{ PidNamePriority                                             , "PidNamePriority" },
+{ PidNameReceived                                             , "PidNameReceived" },
+{ PidNameReferences                                           , "PidNameReferences" },
+{ PidNameRelayVersion                                         , "PidNameRelayVersion" },
+{ PidNameReplyBy                                              , "PidNameReplyBy" },
+{ PidNameReplyTo                                              , "PidNameReplyTo" },
+{ PidNameReturnPath                                           , "PidNameReturnPath" },
+{ PidNameReturnReceiptTo                                      , "PidNameReturnReceiptTo" },
+{ PidNameRightsProtectMessage                                 , "PidNameRightsProtectMessage" },
+{ PidNameSender                                               , "PidNameSender" },
+{ PidNameSensitivity                                          , "PidNameSensitivity" },
+{ PidNameSummary                                              , "PidNameSummary" },
+{ PidNameThreadIndex                                          , "PidNameThreadIndex" },
+{ PidNameThreadTopic                                          , "PidNameThreadTopic" },
+{ PidNameTo                                                   , "PidNameTo" },
+{ PidNameXCallId                                              , "PidNameXCallId" },
+{ PidNameXFaxNumberOfPages                                    , "PidNameXFaxNumberOfPages" },
+{ PidNameXMailer                                              , "PidNameXMailer" },
+{ PidNameXMessageCompleted                                    , "PidNameXMessageCompleted" },
+{ PidNameXMessageFlag                                         , "PidNameXMessageFlag" },
+{ PidNameXRequireProtectedPlayOnPhone                         , "PidNameXRequireProtectedPlayOnPhone" },
+{ PidNameXSenderTelephoneNumber                               , "PidNameXSenderTelephoneNumber" },
+{ PidNameXSharingBrowseUrl                                    , "PidNameXSharingBrowseUrl" },
+{ PidNameXSharingCapabilities                                 , "PidNameXSharingCapabilities" },
+{ PidNameXSharingConfigUrl                                    , "PidNameXSharingConfigUrl" },
+{ PidNameXSharingExendedCaps                                  , "PidNameXSharingExendedCaps" },
+{ PidNameXSharingFlavor                                       , "PidNameXSharingFlavor" },
+{ PidNameXSharingInstanceGuid                                 , "PidNameXSharingInstanceGuid" },
+{ PidNameXSharingLocalType                                    , "PidNameXSharingLocalType" },
+{ PidNameXSharingProviderGuid                                 , "PidNameXSharingProviderGuid" },
+{ PidNameXSharingProviderName                                 , "PidNameXSharingProviderName" },
+{ PidNameXSharingProviderUrl                                  , "PidNameXSharingProviderUrl" },
+{ PidNameXSharingRemoteName                                   , "PidNameXSharingRemoteName" },
+{ PidNameXSharingRemotePath                                   , "PidNameXSharingRemotePath" },
+{ PidNameXSharingRemoteStoreUid                               , "PidNameXSharingRemoteStoreUid" },
+{ PidNameXSharingRemoteType                                   , "PidNameXSharingRemoteType" },
+{ PidNameXSharingRemoteUid                                    , "PidNameXSharingRemoteUid" },
+{ PidNameXUnsent                                              , "PidNameXUnsent" },
+{ PidNameXVoiceMessageAttachmentOrder                         , "PidNameXVoiceMessageAttachmentOrder" },
+{ PidNameXVoiceMessageDuration                                , "PidNameXVoiceMessageDuration" },
+{ PidNameXVoiceMessageSenderName                              , "PidNameXVoiceMessageSenderName" },
+{ PidLidCategories                                            , "PidLidCategories" },
+{ PidNameApplicationName                                      , "PidNameApplicationName" },
+{ PidNameAuthor                                               , "PidNameAuthor" },
+{ PidNameByteCount                                            , "PidNameByteCount" },
+{ PidNameCalendarAttendeeRole                                 , "PidNameCalendarAttendeeRole" },
+{ PidNameCalendarBusystatus                                   , "PidNameCalendarBusystatus" },
+{ PidNameCalendarContact                                      , "PidNameCalendarContact" },
+{ PidNameCalendarContactUrl                                   , "PidNameCalendarContactUrl" },
+{ PidNameCalendarCreated                                      , "PidNameCalendarCreated" },
+{ PidNameCalendarDescriptionUrl                               , "PidNameCalendarDescriptionUrl" },
+{ PidNameCalendarDuration                                     , "PidNameCalendarDuration" },
+{ PidNameCalendarExceptionDate                                , "PidNameCalendarExceptionDate" },
+{ PidNameCalendarExceptionRule                                , "PidNameCalendarExceptionRule" },
+{ PidNameCalendarGeoLatitude                                  , "PidNameCalendarGeoLatitude" },
+{ PidNameCalendarGeoLongitude                                 , "PidNameCalendarGeoLongitude" },
+{ PidNameCalendarInstanceType                                 , "PidNameCalendarInstanceType" },
+{ PidNameCalendarIsOrganizer                                  , "PidNameCalendarIsOrganizer" },
+{ PidNameCalendarLastModified                                 , "PidNameCalendarLastModified" },
+{ PidNameCalendarLocationUrl                                  , "PidNameCalendarLocationUrl" },
+{ PidNameCalendarMeetingStatus                                , "PidNameCalendarMeetingStatus" },
+{ PidNameCalendarMethod                                       , "PidNameCalendarMethod" },
+{ PidNameCalendarProductId                                    , "PidNameCalendarProductId" },
+{ PidNameCalendarRecurrenceIdRange                            , "PidNameCalendarRecurrenceIdRange" },
+{ PidNameCalendarReminderOffset                               , "PidNameCalendarReminderOffset" },
+{ PidNameCalendarResources                                    , "PidNameCalendarResources" },
+{ PidNameCalendarRsvp                                         , "PidNameCalendarRsvp" },
+{ PidNameCalendarSequence                                     , "PidNameCalendarSequence" },
+{ PidNameCalendarTimeZone                                     , "PidNameCalendarTimeZone" },
+{ PidNameCalendarTimeZoneId                                   , "PidNameCalendarTimeZoneId" },
+{ PidNameCalendarTransparent                                  , "PidNameCalendarTransparent" },
+{ PidNameCalendarUid                                          , "PidNameCalendarUid" },
+{ PidNameCalendarVersion                                      , "PidNameCalendarVersion" },
+{ PidNameCategory                                             , "PidNameCategory" },
+{ PidNameCharacterCount                                       , "PidNameCharacterCount" },
+{ PidNameComments                                             , "PidNameComments" },
+{ PidNameCompany                                              , "PidNameCompany" },
+{ PidNameContactsAlternateRecipient                           , "PidNameContactsAlternateRecipient" },
+{ PidNameContactsCountry                                      , "PidNameContactsCountry" },
+{ PidNameContactsEmail1                                       , "PidNameContactsEmail1" },
+{ PidNameContactsEmail2                                       , "PidNameContactsEmail2" },
+{ PidNameContactsEmail3                                       , "PidNameContactsEmail3" },
+{ PidNameContactsFileAs                                       , "PidNameContactsFileAs" },
+{ PidNameContactsFileasId                                     , "PidNameContactsFileasId" },
+{ PidNameContactsHomeLatitude                                 , "PidNameContactsHomeLatitude" },
+{ PidNameContactsHomeLongitude                                , "PidNameContactsHomeLongitude" },
+{ PidNameContactsHomeTimeZone                                 , "PidNameContactsHomeTimeZone" },
+{ PidNameContactsMapUrl                                       , "PidNameContactsMapUrl" },
+{ PidNameContactsOtherCountryCode                             , "PidNameContactsOtherCountryCode" },
+{ PidNameContactsOtherPager                                   , "PidNameContactsOtherPager" },
+{ PidNameContactsOtherTimeZone                                , "PidNameContactsOtherTimeZone" },
+{ PidNameContactsProxyAddresses                               , "PidNameContactsProxyAddresses" },
+{ PidNameContactsSecretaryUrl                                 , "PidNameContactsSecretaryUrl" },
+{ PidNameContactsSourceUrl                                    , "PidNameContactsSourceUrl" },
+{ PidNameCreateDateTimeReadOnly                               , "PidNameCreateDateTimeReadOnly" },
+{ PidNameDavGetContentType                                    , "PidNameDavGetContentType" },
+{ PidNameDavId                                                , "PidNameDavId" },
+{ PidNameDavIsCollection                                      , "PidNameDavIsCollection" },
+{ PidNameDavIsStructuredDocument                              , "PidNameDavIsStructuredDocument" },
+{ PidNameDavParentName                                        , "PidNameDavParentName" },
+{ PidNameDavResourceType                                      , "PidNameDavResourceType" },
+{ PidNameDavSearchRequest                                     , "PidNameDavSearchRequest" },
+{ PidNameDavSearchType                                        , "PidNameDavSearchType" },
+{ PidNameDavUid                                               , "PidNameDavUid" },
+{ PidNameDocumentParts                                        , "PidNameDocumentParts" },
+{ PidNameEditTime                                             , "PidNameEditTime" },
+{ PidNameExchangeIntendedBusyStatus                           , "PidNameExchangeIntendedBusyStatus" },
+{ PidNameExchangeJunkEmailMoveStamp                           , "PidNameExchangeJunkEmailMoveStamp" },
+{ PidNameExchangeModifyExceptionStructure                     , "PidNameExchangeModifyExceptionStructure" },
+{ PidNameExchangeMsexchembdefaultmailfolder                   , "PidNameExchangeMsexchembdefaultmailfolder" },
+{ PidNameExchangeMsexchembdefaultmailfoldertype               , "PidNameExchangeMsexchembdefaultmailfoldertype" },
+{ PidNameExchangeNoModifyExceptions                           , "PidNameExchangeNoModifyExceptions" },
+{ PidNameExchangePatternEnd                                   , "PidNameExchangePatternEnd" },
+{ PidNameExchangePatternStart                                 , "PidNameExchangePatternStart" },
+{ PidNameExchangePublicFolderEmailAddress                     , "PidNameExchangePublicFolderEmailAddress" },
+{ PidNameExchangeReminderInterval                             , "PidNameExchangeReminderInterval" },
+{ PidNameExchDatabaseSchema                                   , "PidNameExchDatabaseSchema" },
+{ PidNameExchDataExpectedContentClass                         , "PidNameExchDataExpectedContentClass" },
+{ PidNameExchDataSchemaCollectionReference                    , "PidNameExchDataSchemaCollectionReference" },
+{ PidNameHeadingPairs                                         , "PidNameHeadingPairs" },
+{ PidNameHiddenCount                                          , "PidNameHiddenCount" },
+{ PidNameHttpmailCalendar                                     , "PidNameHttpmailCalendar" },
+{ PidNameHttpmailCc                                           , "PidNameHttpmailCc" },
+{ PidNameHttpmailContacts                                     , "PidNameHttpmailContacts" },
+{ PidNameHttpmailContentMediaType                             , "PidNameHttpmailContentMediaType" },
+{ PidNameHttpmailFrom                                         , "PidNameHttpmailFrom" },
+{ PidNameHttpmailFromEmail                                    , "PidNameHttpmailFromEmail" },
+{ PidNameHttpmailHtmlDescription                              , "PidNameHttpmailHtmlDescription" },
+{ PidNameHttpmailOutbox                                       , "PidNameHttpmailOutbox" },
+{ PidNameHttpmailSendMessage                                  , "PidNameHttpmailSendMessage" },
+{ PidNameHttpmailSubmitted                                    , "PidNameHttpmailSubmitted" },
+{ PidNameHttpmailTo                                           , "PidNameHttpmailTo" },
+{ PidNameICalendarRecurrenceDate                              , "PidNameICalendarRecurrenceDate" },
+{ PidNameICalendarRecurrenceRule                              , "PidNameICalendarRecurrenceRule" },
+{ PidNameKeywords                                             , "PidNameKeywords" },
+{ PidNameLastAuthor                                           , "PidNameLastAuthor" },
+{ PidNameLastPrinted                                          , "PidNameLastPrinted" },
+{ PidNameLastSaveDateTime                                     , "PidNameLastSaveDateTime" },
+{ PidNameLineCount                                            , "PidNameLineCount" },
+{ PidNameLinksDirty                                           , "PidNameLinksDirty" },
+{ PidNameMailSubmissionUri                                    , "PidNameMailSubmissionUri" },
+{ PidNameManager                                              , "PidNameManager" },
+{ PidNameMultimediaClipCount                                  , "PidNameMultimediaClipCount" },
+{ PidNameNoteCount                                            , "PidNameNoteCount" },
+{ PidNameOMSAccountGuid                                       , "PidNameOMSAccountGuid" },
+{ PidNameOMSMobileModel                                       , "PidNameOMSMobileModel" },
+{ PidNameOMSScheduleTime                                      , "PidNameOMSScheduleTime" },
+{ PidNameOMSServiceType                                       , "PidNameOMSServiceType" },
+{ PidNameOMSSourceType                                        , "PidNameOMSSourceType" },
+{ PidNamePageCount                                            , "PidNamePageCount" },
+{ PidNameParagraphCount                                       , "PidNameParagraphCount" },
+{ PidNamePhishingStamp                                        , "PidNamePhishingStamp" },
+{ PidNamePresentationFormat                                   , "PidNamePresentationFormat" },
+{ PidNameQuarantineOriginalSender                             , "PidNameQuarantineOriginalSender" },
+{ PidNameRevisionNumber                                       , "PidNameRevisionNumber" },
+{ PidNameRightsManagementLicense                              , "PidNameRightsManagementLicense" },
+{ PidNameScale                                                , "PidNameScale" },
+{ PidNameSecurity                                             , "PidNameSecurity" },
+{ PidNameSlideCount                                           , "PidNameSlideCount" },
+{ PidNameSubject                                              , "PidNameSubject" },
+{ PidNameTemplate                                             , "PidNameTemplate" },
+{ PidNameThumbnail                                            , "PidNameThumbnail" },
+{ PidNameTitle                                                , "PidNameTitle" },
+{ PidNameWordCount                                            , "PidNameWordCount" },
+{ 0x00000000                                                  , "NULL" }
+
+};
+
 #endif /* !MAPI_NAMEID_PRIVATE_H__ */
index 7082e22bf561c973ecebd353dffca8d757f0e22b..48e396f2eca58a32c8a19fcea5128a86acacc4bf 100755 (executable)
@@ -1248,6 +1248,11 @@ struct mapi_nameid_tags {
        uint32_t                position;
 };
 
+struct mapi_nameid_names {
+       uint32_t                proptag;
+       const char              *propname;
+};
+
 struct mapi_nameid {
        struct MAPINAMEID       *nameid;
        uint16_t                count;
@@ -1311,6 +1316,19 @@ static struct mapi_nameid_tags mapi_nameid_tags[] = {
        f.write(propline)
        f.write("""
 };
+""")
+
+       f.write("""
+static struct mapi_nameid_names mapi_nameid_names[] = {
+""")
+       for line in sortednamedprops:
+               propline = "{ %s, \"%s\" },\n" % (string.ljust(line[0], 60), line[0])
+               f.write(propline)
+
+       propline = "{ %s, \"%s\" }\n" % (string.ljust("0x00000000", 60), "NULL")
+       f.write(propline)
+       f.write("""
+};
 
 #endif /* !MAPI_NAMEID_PRIVATE_H__ */
 """)