The information in this article applies to:
SYMPTOMSWhen you access custom properties with Collaboration Data Objects (CDO), you may receive an error of MAPI_E_NOT_FOUND when you use the third syntax listed in the help for the Fields.Item help:
CAUSEThis problem is caused by the way in which CDO converts the PropSetID you input from a string to a Global Unique Identifier (GUID). CDO uses the FBinFromHex() function to convert the input string to a binary array and then casts it to a GUID. The GUID structure looks like {ULONG, ULONG, USHORT, char[8]}. When the byte array is cast to this GUID structure, the ULONG and USHORT byte values are in reverse order due to the Little-Endian byte order on x86 architecture machines. The char[] portion is fine because a byte[] array has the same structure as a char[]. RESOLUTIONWhen inputing the PropSetID, exchange the following positions:
For example, if your GUID is as follows:
For the PropSetID parameter, you need to rearrange and input the GUID as
follows:
If your custom property is named "Property" and your GUID is
"0123456789ABCDEFxxxxxxxxxxxxxxxx", the code to access the property would
be as follows:
If rather than a name, the custom property had an ID of 33026, the ID would
need to be converted to hexadecimal and put in the form "0x8102", then use
it in the code as in the following example:
STATUSMicrosoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. MORE INFORMATIONCustom properties are properties that Messaging Application Programming Interface (MAPI) allows you to create by giving a GUID and either a name or number. This allows you to create your own virtual namespace of property identifiers that are unique from those that someone else might create. REFERENCESPlatform Software Development Kit; search on: "Using Named Properties" Additional query words:
Keywords : kbole kbCDO kbCDO100a kbCDO110 kbCDO120 kbCDO121 kbMsg |
Last Reviewed: November 5, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |