//----------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. // //----------------------------------------------------------------------- namespace Microsoft.Isam.Esent.Interop.Windows81 { using System; using Microsoft.Isam.Esent.Interop.Windows8; /// /// Options for . /// [Flags] public enum ShrinkDatabaseGrbit { /// /// Does not reduce the size of the database during normal operations. /// Off = 0x0, /// /// Turns on the database shrinking functionality. If this parameter is not /// set, then will be unable to reclaim /// space to the file system. /// Uses the file system's Sparse Files feature to release space /// in the middle of a file. When enough rows or tables get free up by /// the Version Store Cleanup task, and space is reclaimed, the database /// engine will attempt to return it to the file system, via sparse files. /// Sparse files are currently only available on NTFS and ReFS file systems. /// On = 0x1, /// /// After space is release from a table to a the root Available Extent, the database /// engine will attempt to release the space back to the file system. This parameter /// requires that is also specified. /// Realtime = 0x2, } /// /// Options that have been introduced in Windows 8.1. /// public static class Windows81Grbits { /// /// Only shrink the database to the desired size, but keeping an /// empty extent at the end. If the resize call would grow the database, do nothing. /// In order to use this functionality, /// must be set to . Otherwise, an exception may /// be thrown. /// public const ResizeDatabaseGrbit OnlyShrink = (ResizeDatabaseGrbit)0x2; } }