//-----------------------------------------------------------------------
// 
//     Copyright (c) Microsoft Corporation.
// 
//-----------------------------------------------------------------------
namespace Microsoft.Isam.Esent.Interop.Windows10
{
    using Microsoft.Isam.Esent.Interop;
    using Microsoft.Isam.Esent.Interop.Windows8;
    /// 
    /// Api calls introduced in Windows 10.
    /// 
    public static class Windows10Api
    {
        #region Session Parameters
        /// 
        /// Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
        /// 
        /// The session to set the parameter on.
        /// The ID of the session parameter to retrieve.
        /// An operation context to retrieve.
        /// 
        public static void JetGetSessionParameter(
            JET_SESID sesid,
            JET_sesparam sesparamid,
            out JET_OPERATIONCONTEXT operationContext)
        {
            Api.Check(Api.Impl.JetGetSessionParameter(sesid, sesparamid, out operationContext));
        }
        /// 
        /// Sets a parameter on the provided session state, used for the lifetime of this session or until reset.
        /// 
        /// The session to set the parameter on.
        /// The ID of the session parameter to set.
        /// An operation context to set.
        /// 
        public static void JetSetSessionParameter(JET_SESID sesid, JET_sesparam sesparamid, JET_OPERATIONCONTEXT operationContext)
        {
            Api.Check(Api.Impl.JetSetSessionParameter(sesid, sesparamid, operationContext));
        }
        #endregion
        #region Sessions
        /// 
        /// Retrieves performance information from the database engine for the
        /// current thread. Multiple calls can be used to collect statistics
        /// that reflect the activity of the database engine on this thread
        /// between those calls.
        /// 
        /// Returns the thread statistics data.
        public static void JetGetThreadStats(out JET_THREADSTATS2 threadstats)
        {
            Api.Check(Api.Impl.JetGetThreadStats(out threadstats));
        }
        #endregion
    }
}