2.5.3.1 Behavior Descriptors for Get Operations
The following is a list of Behavior Descriptors that relate to Get operations used in the preceding tables, which explain how each specific calculated property is evaluated. In the evaluation column, the use of angle braces (< >) around a property tag is used to denote the value of that property.
Mnemonic |
Evaluation |
Input data for evaluation |
---|---|---|
PC |
The property value is loaded directly from the PC (that is, no special calculations are required). However the property has special instructions for Set, Delete, and List operations. |
See the Base Tag column for the underlying PC property. |
SPGET_EID |
Returns the PST-specific EntryID of the object in question. See section 2.4.3.2 for details regarding the conversion between an EntryID and its corresponding NID. |
Node.nid |
SPGET_STOREEID |
Returns the EntryID for the current PST message store. The EntryID of the message store is stored in the PidTagEntryId property of the message store PC. |
PidTagEntryId (message store PC only) |
SPGET_LONGNID |
Returns Node.nid. |
Node.nid |
SPGET_RECORDKEY |
Returns Node.nid. |
Node.nid |
SPGET_UIDRESOURCE |
Returns identical value as SPGET_STOREEID. |
PidTagEntryId (message store PC only) |
SPGET_TRUE |
Returns true. |
None |
SPGET_OBJECTTYPE |
Returns the object type of the current object. Implementations MUST return one of the pre-defined values:
|
None |
SPGET_FOLDERTYPE |
Returns the type of the current Folder object. Implementations MUST return one of the possible values:
|
None |
SPGET_UIDPROVIDER |
Returns the Provider UID for the current PST. This value is stored in the PidTagRecordKey property of the message store PC. |
PidTagEntryId (message store PC only) |
SPGET_NORMALIZESUBJECT |
Returns the Unicode/ANSI version of PidTagNormalizedSubject according to the PST version based on the requested string type. See section 2.5.3.1.1 for extracting the normalized subject of a Message object. |
PidTagNormalizedSubject |
SPGET_PARENTEID |
Returns the EntryID representation (see section 2.4.3.2) of the NID of the parent of the current object. |
Node.nidParent |
SPGET_HASATTACH |
Returns 1 if PidTagMessageFlags contains mfHasAttach; zero otherwise. |
PidTagMessageFlags |
SPGET_STORESTATE |
Returns STORE_HAS_SEARCHES (as specified in [MS-OXCSTOR] section 2.2.1.5.2) if a node with NID NID_SEARCH_ACTIVITY_LIST is found; zero otherwise. |
None |
SPGET_SUBJECTPREFIX |
Returns the Unicode/ANSI version of PidTagSubjectPrefix based on the requested string type. See section 2.5.3.1.1 for extracting the subject prefix of a Message object. |
PidTagSubjectPrefix |
SPGET_SUBJECT |
Returns the Unicode/ANSI version of PidTagSubject based on the requested string type. See section 2.5.3.1.1 for extracting the subject of a Message object. |
PidTagSubject |
SPGET_DISPLAY |
If the Base Tag property exists, then its value is returned, otherwise, an empty string in the correct encoding (Unicode/ANSI) is returned based on the requested string type. |
See Base Tag column |
SPGET_ZERO |
Returns zero. |
None |
SPGET_MAPSIG |
Returns the Mapping Signature UID. This is identical to SPGET_UIDPROVIDER. |
See SPGET_UIDPROVIDER |
SPGET_BB_BODY |
Returns the most Message object body format based on the requested property tag. |
Any of PidTagBody, PidTagHtml, or PidTagRtfCompressed |
SPGET_RTF_IN_SYNC |
Returns true if the RTF version of the Message object body exists and is synchronized with the order versions of the Message object body (if any), or false otherwise. |
PidTagRtfCompressed and PidTagRtfInSync |
SPGET_MSGSTATUS |
Returns PidTagMessageStatus retrieved from the Contents TC from the parent Folder object of the Message object. Implementations MUST follow this method when retrieving this property. |
PidTagMessageStatus (from Contents TC of parent Folder object) |
SPGET_RTF_AUX |
Returns the synchronized values of the requested RTF auxiliary property. If the RTF content is not in sync, the RTF MUST first be synchronized before the property value is retrieved and returned. |
Any of PidTagRtfSyncBodyCrc, PidTagRtfSyncBodyCount, PidTagRtfSyncBodyTag, PidTagRtfSyncPrefixCount, or PidTagRtfSyncTrailingCount |
SPGET_BODYHTMLA |
Returns the HTML rendering of the Message object body. If PidTagHtml is found in the PC, its value MUST be returned. Otherwise, the HTML rendering of the Message object body SHOULD be generated from the other Message object body formats and returned. This property only exists in ANSI versions of the PST and the HTML rendering MUST be returned in ANSI encoding. |
PidTagHtml |
SPGET_FOLDERID |
Returns PidTagReplItemid of the containing Folder object for a Message object or Folder object. |
PidTagReplItemid (from parent Folder object PC) |
SPGET_TABLE_ONLY |
Retrieves and returns the requested property from the parent Folder object TC (Hierarchy, Contents, or Assoc Contents, based on the requesting object type). |
Any of PidTagReplItemid, PidTagReplChangenum, PidTagReplVersionhistory, PidTagReplFlags, PidTagReplCopiedfromVersionhistory, or PidTagReplCopiedfromItemid (from parent Folder object TC) |
SPGET_HST_FOLDERREPL |
Returns true if PidTagContainerClass exists and is set to "IPF.Note", "IPF.Contact", "IPF.Appointment" or an empty string. Returns false otherwise. |
PidTagContainerClass |
SPGET_IPMSUBTREE_DESC |
Returns true if the current object is a descendant object of the IPM SuBTree, false otherwise. |
Node.nid |
SPGET_BB_PROPTAG |
Returns the property tag of the best Message object body format. The typical order of preference for best Message object body is as follows: PidTagRtfCompressed (only if PidTagRtfInSync=TRUE) PidTagHtml PidTagBody Note that the best Message object body format can be explicitly set to override the default preference. |
PidTagRtfCompressed PidTagRtfInSync PidTagHtml PidTagBody |
SPGET_SUBTREE_CONTAINER |
Returns the SuBTree container of the current object. For a PST, the valid return values are SUBTREECONTAINER_NONE which means no SuBTree container, or SUBTREECONTAINER_IPM_SUBTREE which means an IPM SuBTree. |
Node.nid |
SPGET_PROV_ITEMID |
Returns the endian-swapped value of the requested property. |
PidTagProviderItemid or PidTagProviderParentItemid |
SPGET_UNREAD_COUNT |
If PidTagPstHiddenUnread exists, return (PidTagContentUnreadCount minus PidTagPstHiddenUnread); otherwise, return PidTagContentUnreadCount. |
PidTagContentUnreadCount and PidTagPstHiddenUnread |
SPGET_CONTENT_COUNT |
If PidTagPstHiddenCount exists, return (PidTagContentCount minus PidTagPstHiddenCount); otherwise, return PidTagContentCount. |
PidTagContentCount and PidTagPstHiddenCount |
SPGET_SECURE_SUBMIT_FLAGS |
Returns zero. |
None |
SPGET_CONTENT_FILTER_SCL |
Returns zero. |
None |
SPGET_CONVERSATION_ID |
Returns the computed conversation ID from PidTagConversationIndex, PidTagConversationTopic, and PidTagConversationIndexTracking. Refer to section 5.4 for the algorithm used to compute the Conversation ID value using these properties. |
PidTagConversationIndex, PidTagConversationTopic and PidTagConversationIndexTracking |