Platform SDK: MAPI

PR_CONTAINER_FLAGS

The PR_CONTAINER_FLAGS property contains a bitmask of flags describing capabilities of an address book container.

Quick Info

Header file: MAPITAGS.H
Must be exposed by: Address book container objects
Identifier: 0x3600
Property type: PT_LONG
Property tag: 0x36000003

Remarks

One or more of the following flags can be set for the PR_CONTAINER_FLAGS bitmask:

AB_FIND_ON_OPEN
Displays a dialog box to request a restriction before displaying any contents of the container.
AB_MODIFIABLE
Entries can be added to and removed from the container. This flag does not indicate whether any entries in the container can be modified.
AB_RECIPIENTS
The container can hold recipients. This flag does not indicate whether any recipients are actually present in the container, nor whether they can be added or removed.
AB_SUBCONTAINERS
The container can hold child containers. This flag does not indicate whether any subcontainers are actually present in the container, nor whether they can be added or removed. AB_SUBCONTAINERS must be set for the container to support IMAPIContainer::GetHierarchyTable.
AB_UNMODIFIABLE
Entries cannot be added to or removed from the container. This flag does not indicate whether any entries in the container can be modified.

The AB_FIND_ON_OPEN flag is highly recommended for containers used with online services or with slow connections to servers. When a container is opened that has AB_FIND_ON_OPEN set, a Find dialog box is presented to the user to restrict the displayed messaging users. Even a partial specification limiting the messaging users can dramatically speed up a display of the contents.

Either the AB_MODIFIABLE or AB_UNMODIFIABLE flag must be set. Both flags can be set to indicate that the container does not know whether it can be modified or not, for example if modification depends on the user's access rights. In this case, a client application must attempt a call and examine the return code to determine the container's capabilities. A client typically starts by examining AB_MODIFIABLE. If it is set, the client makes a call that attempts to modify the container and checks the return value.

The AB_MODIFIABLE flag does not indicate what types of entries can be added to the container. To determine this, the client should use the appropriate OpenProperty method to open the container's PR_CREATE_TEMPLATES property. Opening PR_CREATE_TEMPLATES causes the container's one-off table to be returned, listing the kinds of entries that can be created in the container.