/// <summary> /// Build the RopRegisterNotification request. /// </summary> /// <param name="folderId">The folder used to register notification.</param> /// <returns>The RopRegisterNotification request.</returns> private RopRegisterNotificationRequest RegisterNotificationRequest(ulong folderId) { RopRegisterNotificationRequest registerNotificationRequest = new RopRegisterNotificationRequest() { RopId = (byte)RopId.RopRegisterNotification, LogonId = ConstValues.LogonId, // Set InputHandleIndex to 0x00, which specifies the location in the Server object handle table // where the handle for the input Server object is stored. InputHandleIndex = 0, // Set OutputHandleIndex to 0x01, which specifies the location in the Server object handle table where the handle, // for the output Server object will be stored. OutputHandleIndex = 1, // The server MUST send notifications to the client when new object events occur within the scope of interest. NotificationTypes = (byte)NotificationTypes.NewMail, // This field is reserved. The field value MUST be 0x00. Reserved = 0x00, // If the scope for notifications is the entire database, the value of wantWholeStore is true; otherwise, FALSE (0x00). WantWholeStore = 0x00, // Set the value of the specified folder ID. FolderId = folderId, MessageId = 0 }; return registerNotificationRequest; }