3.1.4.2 Logging On
The client logs on to a message store by using the RopLogon ROP (section 2.2.3.1) before attempting any additional ROPs on the message store. Prior to logging on, the client begins an RPC session by calling the EcDoConnectEx method, as specified in [MS-OXCRPC] section 3.1.4.1, or the Connect request type<13>, as specified in [MS-OXCMAPIHTTP] section 2.2.4.1. Once the client has successfully connected to the server, the client begins a logon session by sending a RopLogon ROP request (section 2.2.3.1.1).
Each logon session is identified by a logon ID created by the client. The logon ID is associated with a Logon object, which is created by the server during its processing of a RopLogon ROP request. The logon ID is initially used in the RopLogon ROP request and is then used in all subsequent ROPs that are issued on the logon session. The client specifies the logon ID in the LogonId field of the ROP request buffer of each ROP. Any 8-bit integer value is allowed for the logon ID, and the client does not have to specify logon IDs in a certain numeric order. The logon ID MUST be unique per RPC session (that is, per call to the EcDoConnectEx method).
The client can issue multiple RopLogon ROP requests per RPC session. If the client specifies an active logon ID, then the current logon session is released and replaced with the new one. The client manages the active logon ID by use of a Logon Collection abstract data model element.