3.2.4.1 Opening the Delegator's Special Folder

To open a special folder belonging to a delegator, the delegate's client takes the following steps:

  1. Identify the delegator's server.

    The delegate's client identifies the delegator's server by using properties from the Address Book object that represents the delegator. The delegate's client retrieves the value of the PidTagAddressBookHomeMessageDatabase property ([MS-OXOABK] section 2.2.4.37) by using the NspiGetProps method, as specified in [MS-NSPI]. If the Address Book object has a value in the PidTagAddressBookHomeMessageDatabase property, this value is used to identify the delegator's server. Otherwise, if the delegator is a remote user, the client SHOULD<5> use the Autodiscover HTTP Service protocol to determine the correct server settings, as specified in [MS-OXDISCO]. A remote user can be identified by examining the PidTagDisplayType property ([MS-OXOABK] section 2.2.3.11) of the user's Address Book object. If the PidTagDisplayType property has the value DT_REMOTE_MAILUSER, then the delegator is a remote user.

  2. Identify the delegator's mailbox.

    The delegate's client uses the value of the PidTagAddressBookProxyAddresses property ([MS-OXOABK] section 2.2.3.23) and value of the PidTagEmailAddress property ([MS-OXOABK] section 2.2.3.14) returned by the NspiGetProps method in step 1 to complete this step. If the Address Book object has a valid PidTagAddressBookProxyAddresses property and this property contains "MAILBOX" or "EX", then one of these strings is used, in the following order, to identify the delegator's mailbox:

    1. The "MAILBOX" entry, if present

    2. The "EX" entry, if present

      If the Address Book object does not contain a valid PidTagAddressBookProxyAddresses property, or this property doesn't contain "MAILBOX" or "EX" entries, then the mailbox is identified by the value of the PidTagEmailAddress property.

  3. Establish a connection to the delegator's server and log on to the delegator's mailbox.

    The delegate's client connects to the delegator's server either by using the EcDoConnectEx remote procedure call (RPC), as specified in [MS-OXCRPC] section 3.1.4.1, or by using a Connect request type,<6> as specified in [MS-OXCMAPIHTTP] section 2.2.4.1, and then connects to the delegator's mailbox with the HOME_LOGON and TAKE_OWNERSHIP flags, as specified in [MS-OXCSTOR] section 2.2.1.1, by using the RopLogon ROP ([MS-OXCROPS] section 2.2.3.1).

  4. Identify and open the delegator's special folder.

    After the client has logged on to the delegator's mailbox, the delegate's client identifies the required special folder within the delegator's mailbox. For more details about special folders, see [MS-OXOSFLD].

    The client opens the delegator's special folder, as specified in [MS-OXCFOLD] section 2.2.1.1, by using the RopOpenFolder ROP ([MS-OXCROPS] section 2.2.4.1).