//-----------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation.
//
//-----------------------------------------------------------------------
namespace Microsoft.Isam.Esent.Interop.Implementation
{
using Microsoft.Isam.Esent.Interop.Windows10;
using Microsoft.Isam.Esent.Interop.Windows8;
///
/// This interface describes all the Windows10 methods which have a
/// P/Invoke implementation. Concrete instances of this interface provide
/// methods that call ESENT.
///
internal partial interface IJetApi
{
#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.
///
/// An error code.
int JetGetSessionParameter(
JET_SESID sesid,
JET_sesparam sesparamid,
out JET_OPERATIONCONTEXT 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.
/// An error code.
int JetSetSessionParameter(
JET_SESID sesid,
JET_sesparam sesparamid,
JET_OPERATIONCONTEXT 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.
///
/// An error code if the operation fails.
int JetGetThreadStats(out JET_THREADSTATS2 threadstats);
#endregion
}
}