Index: Doc/buildChm.tcl ================================================================== --- Doc/buildChm.tcl +++ Doc/buildChm.tcl @@ -85,13 +85,10 @@ set count 0 set pattern { cref="([A-Z]):System\.Data\.SQLite\.} incr count [regsub -all -- $pattern $data { cref="\1:system.Data.SQLite.} data] -set pattern { name="([A-Z]):System\.Data\.SQLite\.} -incr count [regsub -all -- $pattern $data { name="\1:system.Data.SQLite.} data] - if {$count > 0} then { writeFile $xmlDocFile $data } else { puts stdout "*WARNING* File \"$xmlDocFile\" does not match: $pattern" } Index: System.Data.SQLite/SQLiteModule.cs ================================================================== --- System.Data.SQLite/SQLiteModule.cs +++ System.Data.SQLite/SQLiteModule.cs @@ -3360,26 +3360,58 @@ #endregion /////////////////////////////////////////////////////////////////////////// #region SQLiteMemory Static Class + /// + /// This class contains static methods that are used to allocate, + /// manipulate, and free native memory provided by the SQLite core library. + /// internal static class SQLiteMemory { #region Private Data #if TRACK_MEMORY_BYTES + /// + /// This object instance is used to synchronize access to the other + /// static fields of this class. + /// private static object syncRoot = new object(); /////////////////////////////////////////////////////////////////////// + /// + /// The total number of outstanding memory bytes allocated by this + /// class using the SQLite core library. + /// private static int bytesAllocated; + + /////////////////////////////////////////////////////////////////////// + + /// + /// The maximum number of outstanding memory bytes ever allocated by + /// this class using the SQLite core library. + /// private static int maximumBytesAllocated; #endif #endregion /////////////////////////////////////////////////////////////////////// #region Memory Allocation Helper Methods + /// + /// Allocates at least the specified number of bytes of native memory + /// via the SQLite core library sqlite3_malloc() function and returns + /// the resulting native pointer. + /// + /// + /// The number of bytes to allocate. + /// + /// + /// The native pointer that points to a block of memory of at least the + /// specified size -OR- if the memory could + /// not be allocated. + /// public static IntPtr Allocate(int size) { IntPtr pMemory = UnsafeNativeMethods.sqlite3_malloc(size); #if TRACK_MEMORY_BYTES @@ -3403,10 +3435,22 @@ return pMemory; } /////////////////////////////////////////////////////////////////////// + /// + /// Gets and returns the actual size of the specified memory block that + /// was previously obtained from the method. + /// + /// + /// The native pointer to the memory block previously obtained from the + /// method. + /// + /// + /// The actual size, in bytes, of the memory block specified via the + /// native pointer. + /// public static int Size(IntPtr pMemory) { #if !SQLITE_STANDARD return UnsafeNativeMethods.sqlite3_malloc_size_interop(pMemory); #else @@ -3414,10 +3458,18 @@ #endif } /////////////////////////////////////////////////////////////////////// + /// + /// Frees a memory block previously obtained from the + /// method. + /// + /// + /// The native pointer to the memory block previously obtained from the + /// method. + /// public static void Free(IntPtr pMemory) { #if TRACK_MEMORY_BYTES if (pMemory != IntPtr.Zero) {