3.1.4.1 Folder Creation

The folder hierarchy specified in section 3.1.1.1 also specifies the dependency chain for special folder creation. Before a special folder can be created, the Store object and the Root folder MUST exist and the parent folder in this hierarchy MUST exist. A handle to the Store object that contains the folder MUST be obtained by opening the Store object, as specified in [MS-OXCSTOR].

To create a special folder, a client MUST do the following:

  1. Open the parent folder of the desired special folder, as specified in the folder hierarchy in section 3.1.1.1, by using the Folder Object protocol.

  2. Create the folder in the opened parent folder, by using the Folder Object Protocol with the special folder name for the client's locale, reusing the existing folder if one already exists by that name. The FID that is returned MUST be converted to an entry ID by using a RopLongTermIdFromId ROP request ([MS-OXCROPS] section 2.2.3.8). The resulting entry ID of the new folder is used in the remaining steps.

  3. Store the entry ID at the correct location, specified in section 2.2.2, for the particular special folder.

  4. If applicable, set the PidTagContainerClass property (section 2.2.8) to the appropriate value.

  5. Perform any folder-specific initialization, as specified in sections 3.1.4.1.1 through 3.1.4.1.4.