PR_NORMALIZED_SUBJECT 

The PR_NORMALIZED_SUBJECT property contains the message subject with any prefix removed.

Quick Info

Header file:

MAPITAGS.H

Must be exposed by:

Message objects

Identifier:

0x0E1D

Property type:

PT_TSTRING

Property tag:

0x0E1D001E (0x0E1D001F for Unicode)

Corresponding X.400 attribute:

IM_SUBJECT

 

Remarks

The PR_NORMALIZED_SUBJECT property is computed by message store or transport providers from the PR_SUBJECT2EJ7_LA and PR_SUBJECT_PREFIXR2JYMG properties in the following manner.

    If PR_SUBJECT_PREFIX is present and is an initial substring of PR_SUBJECT, PR_NORMALIZED_SUBJECT is set to the contents of PR_SUBJECT with the prefix removed.

    If PR_SUBJECT_PREFIX is present, but it is not an initial substring of PR_SUBJECT, PR_SUBJECT_PREFIX is deleted and recalculated from PR_SUBJECT using the following rule:

If the string contained in PR_SUBJECT begins with one to three non-numeric characters followed by a colon and a space, then the string together with the colon and the blank becomes the prefix. Numbers, blanks, and punctuation characters are not valid prefix characters.

    If PR_SUBJECT_PREFIX is not present, it is calculated from PR_SUBJECT using the rule outlined in the previous step. PR_NORMALIZED_SUBJECT then is set to the contents of PR_SUBJECT with the prefix removed.

 

Note  When PR_SUBJECT_PREFIX is an empty string, PR_SUBJECT and PR_NORMALIZED_SUBJECT are the same.

 

Ultimately, PR_NORMALIZED_SUBJECT should be the part of PR_SUBJECT following the prefix. If there is no prefix, PR_NORMALIZED_SUBJECT becomes the same as PR_SUBJECT.

PR_SUBJECT_PREFIX and PR_NORMALIZED_SUBJECT should be computed as part of the IMAPIProp::SaveChanges21IFXQ implementation. A client application should not prompt the IMAPIProp::GetPropsK06IXU method for their values until they have been committed by an IMAPIProp::SaveChanges call.

The subject properties are typically small strings of fewer than 256 characters, and a message store provider is not obligated to support the OLE IStream interface on them. The client should always attempt access through the IMAPIProp interface first, and resort to IStream only if MAPI_E_NOT_ENOUGH_MEMORY is returned.