HrValidateIPMSubtree

The HrValidateIPMSubtree function adds one or more standard interpersonal message (IPM) folders to a message store.

 

Note  This function may not be supported in future versions of MAPI.

 

Quick Info

Header file:

MAPIUTIL.H

Implemented by:

MAPI

Called by:

Client applications

 

HrValidateIPMSubtree(

    LPMDB lpMDB,

 

    ULONG ulFlags,

 

    ULONG FAR * lpcValues,

 

    LPSPropValue FAR * lppProps,

 

    LPMAPIERROR FAR * lppMapiError

 

   );

 

 

Parameters

lpMDB

[in] Pointer to the message store object to which to add the folder or folders.

ulFlags

[in] Bitmask of flags used to control how the folders are created. The following flags can be set:

MAPI_FORCE_CREATE

The folder or folders created be verified before creation, even if message store properties indicate that they are valid. A client application or service provider typically sets this flag when an error indicates that the structure of the created folder has been damaged.

MAPI_FULL_IPM_TREE

The following folders should be created in addition to the two folders that are always created: a folder titled Folder and a folder titled Common Views, and under the IPM-subtree root folder the Inbox, Outbox and Sent Items folders. The MAPI_FULL_IPM_TREE flag is typically set when the message store in which the folders are created is the default store.

lpcValues

[out] Pointer to the number of values in the SPropValue81C9._8 array in the lppProps parameter is stored. The value of the lpcValues parameter can be zero if lppProps is NULL.

lppProps

[out] Pointer to a pointer to an array of SPropValue structures indicating values for PR_VALID_FOLDER_MASK and related properties is stored. The IPM Inbox s entry identifier is included as part of this SPropValue array; this entry identifier has a special property tag coded as PROP_TAG(PT_BINARY, PROP_ID_NULL). The lppProps parameter can be NULL, indicating that the calling implementation does not require that a SPropValue array be returned.

lppMapiError

[out] Pointer to the pointer to the returned MAPIERROR4GS6AI structure containing version, component, and context information for an error. The lppMAPIError parameter can be set to NULL if there is no MAPIERROR structure to return.

 

Remarks

MAPI uses the HrValidateIPMSubtree function internally to construct the standard IPM folder tree in a message store when the store is first opened, or when a store is made the default store. This function can also be used by client applications to validate or repair standard message folders.

HrValidateIPMSubtree always creates a root folder in the IPM subtree, the Deleted Items folder in the root directory of the IPM subtree, and a finder folder in the message store root directory.

HrValidateIPMSubtree sets the PR_VALID_FOLDER_MASKKY5D0M property to indicate whether each IPM folder it creates has a valid entry identifier. The following entry identifier properties of the message store are set to the entry identifiers of the corresponding folders and returned in the lppProps parameter along with PR_VALID_FOLDER_MASK:

PR_COMMON_VIEWS_ENTRYID1CV5ZC
PR_FINDER_ENTRYID1N7PEX_
PR_IPM_OUTBOX_ENTRYID5RQ897
PR_IPM_SENTMAIL_ENTRYID3V05KB5
PR_IPM_SUBTREE_ENTRYIDF_UXR5
PR_IPM_WASTEBASKET_ENTRYID3PPQ.MN
PR_VIEWS_ENTRYID1JS.2WO
PROP_TAGRIO1.8 macro (PT_BINARY, PROP_ID_NULL, a placeholder tag for the IPM Inbox).

See Also

IMAPISession::OpenMsgStoreH_S8WS