126.96.36.199 Getting Property IDs for Named Properties
All operations (setting, getting, deleting) on the properties of an object are done with a 32-bit property tag, which is built from a 16-bit property ID and a 16-bit type code. If the predefined set of property tags does not cover a semantic need for a new client feature, the client can create a custom property by defining a named property.
The client registers a property ID for a new named property or obtains a registered property ID for an existing named property by using the RopGetPropertyIdsFromNames ROP ([MS-OXCROPS] section 188.8.131.52). The client provides a property set and an identifier in either integer or string form, and the server returns the property ID, which the client uses for any operations performed on that property. The property ID of a named property has the most significant bit set (0x8000).
If the client needs to obtain the named property to which a property ID is registered, the client obtains that named property by using the RopGetNamesFromPropertyIds ROP ([MS-OXCROPS] section 184.108.40.206).