/// <summary>
        /// Set whether or not join in progress is allowed
        /// Once a session is started, it will no longer be visible to search queries unless this flag is set or the session returns to the pending or ended state
        /// </summary>
        /// <param name="options">Options associated with setting the join in progress state 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 SetJoinInProgressAllowed(SessionModificationSetJoinInProgressAllowedOptions options)
        {
            System.IntPtr optionsAddress = new System.IntPtr();
            Helper.TryMarshalSet <SessionModificationSetJoinInProgressAllowedOptionsInternal, SessionModificationSetJoinInProgressAllowedOptions>(ref optionsAddress, options);

            var funcResult = EOS_SessionModification_SetJoinInProgressAllowed(InnerHandle, optionsAddress);

            Helper.TryMarshalDispose(ref optionsAddress);

            return(funcResult);
        }