public void Set(SessionModificationSetPermissionLevelOptions other)
 {
     if (other != null)
     {
         m_ApiVersion    = SessionModification.SessionmodificationSetpermissionlevelApiLatest;
         PermissionLevel = other.PermissionLevel;
     }
 }
        /// <summary>
        /// Set the session permissions associated with this session.
        /// The permissions range from "public" to "invite only" and are described by <see cref="OnlineSessionPermissionLevel" />
        /// </summary>
        /// <param name="options">Options associated with the permission level of the session</param>
        /// <returns>
        /// <see cref="Result.Success" /> if setting this parameter was successful
        /// <see cref="Result.IncompatibleVersion" /> if the API version passed in is incorrect
        /// </returns>
        public Result SetPermissionLevel(SessionModificationSetPermissionLevelOptions options)
        {
            System.IntPtr optionsAddress = new System.IntPtr();
            Helper.TryMarshalSet <SessionModificationSetPermissionLevelOptionsInternal, SessionModificationSetPermissionLevelOptions>(ref optionsAddress, options);

            var funcResult = EOS_SessionModification_SetPermissionLevel(InnerHandle, optionsAddress);

            Helper.TryMarshalDispose(ref optionsAddress);

            return(funcResult);
        }