|
Property tags and types for Outlook forms are now at Property Tags and Types - Outlook Items - this includes properties for Messages, Contacts, Tasks, Appointments, Journal, Notes, Forms.
On this page: Property Types | Property Identifier Ranges and Sub-Ranges | Property Set ID's | Configuration Settings | AddressEntry Properties | Folder Properties | Outlook AutoArchive Properties | Scripting & Routing Agent Properties
Note that this page contains information that is neither documented nor supported by Microsoft. It is not guaranteed that Microsoft does not change it in future versions of their products. You may use it at your own risk and it is not guaranteed that you get support by Microsoft if you use it in your commercial applications. Please read our legal disclaimer before you use the information provided on this page.
Because CDO 1.x relies on MAPI it is possible to use MAPI property tags to access various information, e. g. address entry or folder properties and message fields. Also you can use MAPI properties to access all Microsoft Outlook contact, task, appointment etc. item information.
Note that MAPI stores all custom properties that represent date and time information using Greenwich Mean Time (GMT). The CDO 1.x Library converts these properties so that the values appear to the user in local time.
Unfortunately the MAPI properties to access Microsoft Outlook item data are not documented and it is quite a lot of work to figure them out. Also if you want to create MAPI properties on a specific Microsoft Outlook item you need to follow a specific way. This page summarizes which MAPI property tags and types are available and how to access their values with CDO 1.x.
To access a MAPI property you need to know the hexadecimal ID. If you know that ID you can use the fields collection of an object to get the information you want. Use the following code snippet as a direction to build your own application:
| ' Get the contacts folder of
the mailbox Set objFolder = objSession.GetDefaultFolder(CdoDefaultFolderContacts) ' Get the first message of the contacts folder ' Note that it is still a message object ' So the class property will always return a value of CdoMsg Set objMessages = objFolder.Messages Set objMessage = objMessages.GetFirst() ' Get the fields collection of the contact item Set objFields = objMessage.Fields ' Get a single field using the MAPI property tag Set objField = objFields.Item(<PropertyTag>) ' For Example: Set objField = objFields.Item(&H3001001E) ' If it is a Microsoft Outlook item you can either use Set objField = objFields.Item("<PropertyTag>", "<PropertySetID>") ' For Example: Set objField = objFields.Item("0x8535", "0820060000000000C000000000000046") ' Or the following syntax if you want to read the value directly Value = objFields.Item("{" & "<PropertySetID>" & "}" & "<PropertyTag>").Value ' For Example: Value = objFields.Item("{0820060000000000C000000000000046}0x8535").Value ' If it is a Microsoft Outlook item with a custom field use the following syntax: Set objField = objFields.Item("<NameOfUserdefinedField>") ' For Example: Set objField = objFields.Item("PersonRole") |
Note that if a property has no value you will receive an error message if you not include the On Error Resume Next before you try to get the property. This is by design, because a property that has no value is not defined and instead of getting an empty value you will get an error message.
It is also possible to create and write such a property. Use the following code snippet as a direction to build your own application:
| ' Get the inbox folder of a
mailbox Set objFolder = objSession.Inbox ' Add a new message Set objMessage = objFolder.Messages.Add ' Set the message class and subject objMessage.Type = "<Your Message Class>" objMessage.Subject = "<Your Subject>" ' Create/write a standard field (e. g. the subject) objMessage.Fields.Add <PropertyTag>, "<YourFieldValue>" ' For Example: objMessage.Fields.Add &H3001001E, "HR Travelrequest" ' Create/write a Microsoft Outlook item field objMessage.Fields.Add "<PropertyTag>", <PropertyType>, _ "<YourFieldValue>", "<PropertySetID>" ' For Example: objMessage.Fields.Add "0x8535", vbString, "HR Travelrequest", _ "0820060000000000C000000000000046" ' Create/write a Microsoft Outlook item custom field objMessage.Fields.Add "<PropertyTag>", <PropertyType>, _ "<YourFieldValue>", CdoPropSetID5 ' For Example: objMessage.Fields.Add "PersonRole", vbString, "HR Lead", _ "2903020000000000C000000000000046" |
To write Microsoft Outlook MAPI properties with CDO 1.x it is important to know the type of the specific MAPI property. Note that not all MAPI property types can be manipulated within CDO 1.x. In particular, the MAPI types PT_ERROR, PT_I8, PT_LONGLONG, and PT_SYSTIME do not have corresponding CDO 1.x data types. Properties of these types can be obtained with CDO 1.x but cannot be assigned, altered, or compared within it.
The following list provides an overview of the most important MAPI property types:
| Type | Decimal Value | Constant | Hex ID | Accessible with CDO | Description |
|---|---|---|---|---|---|
| vbArray | 8192 | PT_MV_FLAG | 101E | Read/Write | Multivalued type |
| vbBlob | 65 | PT_BINARY | 0102 | Read/Write | Binary (unknown format) Note that CDO read in counted binary format but convert to a hexadecimal string format when it is stored as a Field value |
| vbBoolean | 11 | PT_BOOLEAN | 000B | Read/Write as string value: zero - False nonzero - True |
Boolean |
| vbCurrency | 6 | PT_CURRENCY | 0006 | Read/Write | 8-byte integer (scaled by 10000) |
| vbDataObject | 13 | PT_OBJECT | 000D | No | Data object |
| N/A | PT_CLSID | 0048 | No | GUID = Global unique identifier | |
| vbDate | 7 | PT_APPTIME or PT_SYSTIME | 0007 | Read/Write as string value | 8-byte real (date in integer, time in fraction) |
| vbDouble | 5 | PT_DOUBLE, PT_R8 | 001E | Read/Write | 8-byte real (floating point) |
| vbEmpty | 0 | PT_UNSPECIFIED | 0000 | No | Not initialized |
| vbInteger | 2 | PT_I2, PT_SHORT | 0002 | Read/Write as string value | 2-byte integer |
| vbLong | 3 | PT_I4, PT_LONG | 0003 | Read/Write | 4-byte integer |
| vbNull | 1 | PT_NULL | 0001 | No | Null (no valid data) |
| vbSingle | 4 | PT_FLOAT, PT_R4 | 0004 | Read/Write | 4-byte real (floating point) |
| vbString | 8 | PT_TSTRING or PT_STRING8 | 001E | Read/Write | ANSI String |
| vbVariant | 12 | PT_UNSPECIFIED | 0000 | No | Variant (object of unknown type) |
To access most of the string properties in the Unicode format it is necessary to change the property type from 001E to 001F.
Note that the types listed above are not automatically available if you use CDO with any programming language. You need to explicit declare them in your application yourself or, if you use Visual Basic or Visual Basic for Applications, use the types listed on the left column.
MAPI defines ranges of property identifiers. Each range is reserved for a special purpose. The following table summarizes the different ranges for property identifiers, describing the owner for the properties in each range.
| Range | Description |
|---|---|
| 0000 | Reserved by MAPI for the special value PR_NULL |
| 0001 - 0BFF | Message envelope properties defined by MAPI |
| 0C00 - 0DFF | Recipient properties defined by MAPI |
| 0E00 - 0FFF | Non-transmittable message properties defined by MAPI |
| 1000 - 2FFF | Message content properties defined by MAPI |
| 3000 - 3FFF | Properties for objects other than messages and recipients defined by MAPI |
| 4000 - 57FF | Message envelope properties defined by transport providers |
| 5800 - 5FFF | Recipient properties defined by transport and address book providers |
| 6000 - 65FF | Non-transmittable message properties defined by clients |
| 6600 - 67FF | Non-transmittable properties defined by a service provider. These properties can be visible or invisible to users |
| 6800 - 7BFF | Message content properties for custom message classes defined by creators of those classes |
| 7C00 - 7FFF | Non-transmittable properties for custom message classes defined by creators of those classes |
| 8000 - FFFE | Properties defined by clients and occasionally service providers that are identified by name. |
| FFFF | Reserved by MAPI for the special error value PROP_ID_INVALID |
The range between 3000 and 3FFF is reserved for properties that are not related to either messages or recipients. MAPI divides this range into sub-ranges by types of object; the following table shows this further breakdown.
| Sub-Range | Description |
|---|---|
| 3000 - 33FF | Common properties that appear on multiple objects, such as CdoPR_DISPLAY_NAME and CdoPR_ENTRYID |
| 3400 - 35FF | Message store properties |
| 3600 - 36FF | Folder and address book container properties |
| 3700 - 38FF | Attachment properties |
| 3900 - 39FF | Address book properties |
| 3A00 - 3BFF | Messaging user properties |
| 3C00 - 3CFF | Distribution list properties |
| 3D00 - 3DFF | Profile properties |
| 3E00 - 3FFF | Status object properties |
Microsoft Outlook uses a special property set ID (also known as GUID= Global Unique IDentifier) for all private item types (e. g. contacts, tasks, appointments etc.). If you want to read or write such a property with CDO 1.x you need to know the property set ID before you can gain access to the property itself.
The following list provides an overview of the property set ID's used with Microsoft Outlook:
| Constant | Hex ID | Description |
|---|---|---|
| CdoPropSetID1 | "0220060000000000C000000000000046" | Used in appointment item properties. Message class: IPM.Appointment |
| CdoPropSetID2 | "0320060000000000C000000000000046" | Used in task item properties. Message class: IPM.Task |
| CdoPropSetID3 | "0420060000000000C000000000000046" | Used in contact item properties. Message class: IPM.Contact |
| CdoPropSetID4 | "0820060000000000C000000000000046" | Common Outlook ID. Used with common contact, task and appointment item properties (e. g. reminders) |
| CdoPropSetID5 | "2903020000000000C000000000000046" | Generic MAPI ID. Used with all type of item properties (e. g. categories) |
| CdoPropSetID6 | "0E20060000000000C000000000000046" | Used in note item properties. Message class: IPM.StickyNote |
| CdoPropSetID7 | "0A20060000000000C000000000000046" | Used in journal item properties. Message class: IPM.Activity |
Note that the constants listed above are not automatically available if you use CDO 1.x with any programming language. You need to explicit declare them in your application yourself. Also, if you want to use them with Extended MAPI you need to change the GUID as described in the Microsoft Knowledge Base article Q195656.
Microsoft Outlook 9x/2000 and Microsoft Exchange Server 4.x/5.x store a lot of their configuration settings in hidden places. For example an Outlook form is stored as hidden message in the folder it is published to. The same applies to Outlook AutoArchive settings, Exchange Folder Assistant rules and Outlook views. While those settings are stored in hidden messages in the particular folder Microsoft does not provide a documented way to create or modify those hidden messages programmatically.
At least you can use the CDO 1.2x HiddenMessages property of the folder object to e.g. delete a rule or Outlook form from a particular folder. Use the following code snippet to access hidden messages:
| ' Get the inbox folder of a
mailbox Set objFolder = objSession.Inbox
|
Outlook/Exchange distinguish between different configuration information by using a different message class for the particular hidden message. To access the message class use the following code:
| ' Loop through the hidden
messages For Each objMessage In objMessages
|
Note that in Visual Basic early binding does not work with hidden messages.
The following list shows the most common hidden message classes and their purpose:
| Message Class | Description |
|---|---|
| IPM.Rule.Message | Used by rules either in the inbox of a particular mailbox
(with Exchange Inbox Assistant and Outlook Rules Wizard) or an
Exchange Server public folder (with Exchange Server Folder
Assistant). The rule conditions and actions are stored in binary data. There is no documented way to access and modify them programmatically with CDO 1.2x. The only documented way to access rules is to use the RULE COM component provided by Microsoft. You can download a copy at the CDOLive Code Sample Library (see Microsoft Sample Applications). |
| IPM.ContactLinkingViews | Used by Outlook 2000 to implement Activities Folder Groups. There is no documented way to access the contact activities settings programmatically with CDO 1.2x. |
| IPM.Microsoft.FolderDesign.NamedView | Used by Outlook views defined in a particular private or
public folder. When a new view is created and you select to
create it in the current folder a hidden message will be created
that holds the view settings. The view settings are stored in binary data. While the Exchange client view description format is documented on MSDN, the enhancements made for Outlook are not included. There is no documented way to access and modify them programmatically with CDO 1.2x. |
| IPM.Microsoft.FolderDesign.FormsDescription | Used by Outlook forms defined in a particular private of
public folder. When a new form is published to a folder the
hidden message will hold the Outlook form itself and form
configuration settings. The Outlook form is stored in binary data. There is no documented way to access and modify it programmatically with CDO 1.x. However, the form properties can be modified with CDO 1.2x but are not documented by Microsoft. Limited information is available on this page how to programmatically access and modify the form properties using CDO 1.2x. |
| IPC.Microsoft.FolderBinding | A hidden message stored in the Microsoft Exchange Server 5.5
system folder: <YourOrganizationName>\Folders\System Folders\Events Root\EventConfig_<YourServerName> Holds configuration information about the particular folder on the Microsoft Exchange Server that is monitored by the Exchange Server 5.5 Event Service. |
| IPC.Microsoft.EventSinkInfo | A hidden message stored in the Microsoft Exchange Server 5.5
system folder: <YourOrganizationName>\Folders\System Folders\Events Root\EventConfig_<YourServerName> Holds configuration information about the installed Microsoft Exchange Server 5.5 Event Service event handlers. Currently the following both handlers are provided by
Microsoft: |
| IPC.Microsoft.EventBinding | A hidden message stored in a Microsoft particular Exchange
Server 5.5 folder. When a new Exchange Scripting & Routing
script is installed in a particular folder this hidden message
with the scripting agent script is created. Holds configuration information about the installed Microsoft Exchange Server 5.5 scripting agent and the script code itself. |
| IPC.Microsoft.ICS.EventBinding | A hidden message stored in a Microsoft particular Exchange
Server 5.5 folder. When a new Exchange Scripting & Routing
script is installed in a particular folder this hidden message
is created. Holds only logging information about the installed Microsoft Exchange Server 5.5 scripting agent. |
| IPC.MS.Outlook.AgingProperties | Used by the Outlook AutoArchive option defined on a
particular private folder. When archiving is enabled the first
time a new hidden message is created in the particular folder. The AutoArchive settings are not documented by Microsoft but limited information is available on this page how to programmatically access and modify them using CDO 1.2x. |
| IPC.MS.REN.USERFIELDS | Used by Outlook to store user defined fields configuration
information in a folder. The user defined fields information are stored in binary data. There is no documented way to access and modify them programmatically with CDO 1.2x. |
Note that if you manipulate those messages without knowing what's going on behind the scenes you can damage your Microsoft Outlook and/or Exchange Server configuration which may result in loss of data. If you are not an experienced developer be very careful modifying any of those messages.
The following table is a list of the most common property tags to access fields of an address entry:
| Constant | Hex ID | Description |
|---|---|---|
| CdoPR_DISPLAY_NAME | &H3001001E | Display (name) |
| CdoPR_ACCOUNT | &H3A00001E | Alias |
| CdoPR_MHS_COMMON_NAME | &H3A0F001E | Exchange server alias * |
| CdoPR_GIVEN_NAME | &H3A06001E | First (name) |
| CdoPR_INITIALS | &H3A0A001E | Initials |
| CdoPR_SURNAME | &H3A11001E | Last (name) |
| CdoPR_STREET_ADDRESS | &H3A29001E | Address |
| CdoPR_TITLE | &H3A17001E | Title |
| CdoPR_COMPANY_NAME | &H3A16001E | Company |
| CdoPR_LOCALITY | &H3A27001E | City |
| CdoPR_DEPARTMENT_NAME | &H3A18001E | Department |
| CdoPR_STATE_OR_PROVINCE | &H3A28001E | State |
| CdoPR_OFFICE_LOCATION | &H3A19001E | Office |
| CdoPR_POSTAL_CODE | &H3A2A001E | Zip code |
| CdoPR_ASSISTANT | &H3A30001E | Assistant |
| CdoPR_BUSINESS_ADDRESS_COUNTRY | &H3A26001E | Country |
| CdoPR_BUSINESS_TELEPHONE_NUMBER | &H3A08001E | Phone |
| CdoPR_BUSINESS2_TELEPHONE_NUMBER | &H3A1B001E | Business 2 |
| CdoPR_PRIMARY_FAX_NUMBER | &H3A23001E | Fax |
| CdoPR_ASSISTANT_TELEPHONE_NUMBER | &H3A2E001E | Assistant |
| CdoPR_HOME_TELEPHONE_NUMBER | &H3A09001E | Home |
| CdoPR_HOME2_TELEPHONE_NUMBER | &H3A2F001E | Home 2 |
| CdoPR_MOBILE_TELEPHONE_NUMBER | &H3A1C001E | Mobile |
| CdoPR_PAGER_TELEPHONE_NUMBER | &H3A21001E | Pager |
| CdoPR_COMMENT | &H3004001E | Notes |
| CdoPR_EMAIL | &H39FE001E | SMTP e-mail address |
| PR_EMS_AB_HIDE_FROM_ADDRESS_BOOK | &H80B9000B | Hide from Exchange address book: * True = Display False = Hide |
| PR_EMS_AB_FOLDER_PATHNAME | &H8004001E | Contains the folder path if the address entry is a public folder |
| CdoPR_SEND_RICH_INFO | &H3A40000B | Rich text is enabled: * True = Enabled False = Disabled |
| PR_EMS_AB_OWNER | &H800C001E | Exchange server distribution list owner as distinguish name * |
| PR_EMS_AB_HOME_MTA | &H8007001E | Exchange server home MTA distinguish name * |
| PR_EMS_AB_PROXY_ADDRESSES | &H800F101E | E-mail Addresses * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_1 | &H802D001E | Custom Attribute 1 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_2 | &H802E001E | Custom Attribute 2 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_3 | &H802F001E | Custom Attribute 3 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_4 | &H8030001E | Custom Attribute 4 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_5 | &H8031001E | Custom Attribute 5 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_6 | &H8032001E | Custom Attribute 6 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_7 | &H8033001E | Custom Attribute 7 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_8 | &H8034001E | Custom Attribute 8 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_9 | &H8035001E | Custom Attribute 9 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_10 | &H8036001E | Custom Attribute 10 * |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_11 | &H8C57001E | Custom Attribute 11 ** |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_12 | &H8C58001E | Custom Attribute 12 ** |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_13 | &H8C59001E | Custom Attribute 13 ** |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_14 | &H8C60001E | Custom Attribute 14 ** |
| PR_EMS_AB_EXTENSION_ATTRIBUTE_15 | &H8C61001E | Custom Attribute 15 ** |
* Only available with Microsoft Exchange Server 4.0/5.0, 5.5 and 2000
** Only available with Microsoft Exchange Server 5.5 and 2000
For a working example using the properties above take a look at the Modify Mailbox Properties Outlook Form.
The following table is the of the most common property tags to access fields of a folder:
| Constant | Hex ID | Description |
|---|---|---|
| CdoPR_DISPLAY_NAME | &H3001001F | Display name |
| CdoPR_COMMENT | &H3004001E | Folder description |
| CdoPR_CONTAINER_CLASS | &H3613001E | Folder type: "IPF.Note" = Mail items "IPF.Contact" = Contacts "IPF.Appointment" = Appointments "IPF.Journal" = Journal "IPF.StickyNote" = Notes "IPF.Task" = Tasks |
| CdoPR_CONTENT_COUNT | &H36020003 | Count of messages |
| CdoPR_CONTENT_UNREAD | &H36030003 | Count of unread messages |
| CdoPR_SUBFOLDERS | &H360A000B | Folder contains subfolders: True = Subfolders found False = No subfolders |
| CdoPR_ENTRYID | &H0FFF0102 | Entry ID of current folder |
| CdoPR_PARENT_ENTRYID | &HE090102 | Entry ID of parent folder |
| CdoPR_Calendar | &H36D00102 | Only defined in the inbox folder of the default delivery location |
| CdoPR_Contacts | &H36D10102 | Only defined in the inbox folder of the default delivery location |
| CdoPR_Journal | &H36D20102 | Only defined in the inbox folder of the default delivery location |
| CdoPR_Notes | &H36D30102 | Only defined in the inbox folder of the default delivery location |
| CdoPR_Tasks | &H36D40102 | Only defined in the inbox folder of the default delivery location |
| CdoPR_Reminders_Online | &H36D50102 | Only defined in the inbox folder of the default delivery location |
| CdoPR_Reminders_Offline | &H36D60102 | Only defined in the inbox folder of the default delivery location |
| CdoPR_Drafts | &H36D70102 | Only defined in the inbox folder of the default delivery location |
| CdoPR_WEBPAGE | &H36DF0102 | Outlook 200x folder home page |
| CdoPR_HAS_RULES | &H663A000B | Folder has rules installed: True = Rules installed False = No rules installed |
| CdoPR_DEF_MSG_CLASS | &H36E5001E | Default form message class |
| CdoPR_DEF_FORM_NAME | &H36E6001E | Default form name |
| CdoPR_DEF_FORM_ALLOWED | &H3FE20003 | Allow these forms in this folder: 0 = Any form 1 = Only forms listed above 2 = Forms listed above and standard forms |
| CdoPR_FOLDER_VIEWS_ONLY | &H36E10003 | Show only views created for this folder: 0 = False 1 = True |
| CdoPR_DEFAULT_VIEW_ENTRYID | &H36160102 | Entry ID of the initial view on this folder |
| CdoPR_GENERATE_EXCHANGE_VIEWS | &H36E9000B | Automatically generate Microsoft Exchange views: True = Generate views False = Do not generate views |
| CdoPR_VIEW_NAME | &H7006001E | Display name of the default view |
| CdoPR_OFFLINE_FLAG | &H663D0003 | Offline folder flag: 0 = Available only online 1 = Available online and offline |
| CdoPR_REPLICA_VERSION | &H664B0014 | Exchange Server version information |
| CdoPR_PUBLISH_IN_ADDRESS_BOOK | &H3FE6000B | Display this folder in the Exchange Server address list: True = Enable False = Disable |
| CdoPR_ACCESS | &H0FF40003 | Folder access level |
| MAPI_ACCESS_CREATE_CONTENTS | &H00000010 | Can create messages |
| MAPI_ACCESS_CREATE_HIERARCHY | &H00000008 | Can create subfolders |
| MAPI_ACCESS_READ | &H00000002 | Can read messages |
| MAPI_ACCESS_MODIFY | &H00000001 | Can modify folder |
For a working example using the properties above take a look at the Folder Property Viewer Outlook Form.
The following table is a list of the most common property tags to access fields of a Microsoft Outlook AutoArchive configuration hidden message:
| Constant | Hex ID | Description |
|---|---|---|
| CdoPR_AGING_PERIOD | &H36EC0003 | Aging period |
| CdoPR_AGING_GRANULARITY | &H36EE0003 | Aging granularity: 0 = Months 1 = Weeks 2 = Days |
| CdoPR_AGING_FILENAME | &H6856001E | Path and filename of archive file |
| CdoPR_PR_AGING_AGE_FOLDER | &H6857000B | Enable aging for this folder: True = Enabled False = Disabled |
| CdoPR_AGING_DELETE_ITEMS | &H6855000B | Move items to archive folder: True = Move False = Copy |
For a working example using the properties above take a look at Outlook AutoArchive Settings Viewer.
The following table is a list of the most common property tags to access fields of a Microsoft Exchange Event Service script message:
| Constant | Hex ID | Description |
|---|---|---|
| CdoPR_EVENT_SCRIPT | &H7102001E | Contains the script code assigned to this agent |
| CdoPR_DISPLAY_NAME | &H3001001F | Display name of the installed agent |
| CdoPR_AGENT_HOME_SERVER | &H6644001E | Run this agent on this server |
| CdoPR_CLIENT_SUBMIT_TIME | &H00390040 | Date/time agent created |
| CdoPR_CREATOR_NAME | &3FF8001E | Created by |
| CdoPR_LAST_MODIFICATION_TIME | &H30080040 | Date/time agent last modified |
| CdoPR_LAST_MODIFIER_NAME | &3FFA001E | Last modified by |
| CdoPR_EVENT_LOG | H780C001E | Event script log text |
| SCRIPT_HANDLER_CLASS_ID | "{69E54151-B371-11D0-BCD9-00AA00C1AB1C}" | Class ID for a scripting agent script |
| ROUTING_CLASS_ID | "{69E64151-B371-11D0-BCD9-00AA00C1AB1C}" | Class ID for a routing agent script |
| BIT_EVENT_SCHEDULE | 1 | Bitmask for a "Scheduled" event |
| BIT_EVENT_NEWMSG | 2 | Bitmask for a "New Message" event |
| BIT_EVENT_CHGMSG | 4 | Bitmask for a "Change Message" event |
| BIT_EVENT_DELMSG | 8 | Bitmask for a "Delete Message" event |
All property tags and types have been used only with the following software but they should work with all versions of Outlook and Exchange.
Property tags and types for Outlook forms are now at Property Tags and Types - Outlook Items - this includes properties for Messages, Contacts, Tasks, Appointments, Journal, Notes, Forms.