System.Data.SQLite
Hex Artifact Content
Not logged in

Artifact dbae9c88204d1bf15516acee77fcc4e928650c1e:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0d 0a 20 2a 20 41 44  *********.. * AD
0040: 4f 2e 4e 45 54 20 32 2e 30 20 44 61 74 61 20 50  O.NET 2.0 Data P
0050: 72 6f 76 69 64 65 72 20 66 6f 72 20 53 51 4c 69  rovider for SQLi
0060: 74 65 20 56 65 72 73 69 6f 6e 20 33 2e 58 0d 0a  te Version 3.X..
0070: 20 2a 20 57 72 69 74 74 65 6e 20 62 79 20 52 6f   * Written by Ro
0080: 62 65 72 74 20 53 69 6d 70 73 6f 6e 20 28 72 6f  bert Simpson (ro
0090: 62 65 72 74 40 62 6c 61 63 6b 63 61 73 74 6c 65  bert@blackcastle
00a0: 73 6f 66 74 2e 63 6f 6d 29 0d 0a 20 2a 0d 0a 20  soft.com).. *.. 
00b0: 2a 20 52 65 6c 65 61 73 65 64 20 74 6f 20 74 68  * Released to th
00c0: 65 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 2c  e public domain,
00d0: 20 75 73 65 20 61 74 20 79 6f 75 72 20 6f 77 6e   use at your own
00e0: 20 72 69 73 6b 21 0d 0a 20 2a 2a 2a 2a 2a 2a 2a   risk!.. *******
00f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0100: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0110: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0120: 2a 2f 0d 0a 0d 0a 6e 61 6d 65 73 70 61 63 65 20  */....namespace 
0130: 53 79 73 74 65 6d 2e 44 61 74 61 2e 53 51 4c 69  System.Data.SQLi
0140: 74 65 0d 0a 7b 0d 0a 20 20 75 73 69 6e 67 20 53  te..{..  using S
0150: 79 73 74 65 6d 3b 0d 0a 20 20 75 73 69 6e 67 20  ystem;..  using 
0160: 53 79 73 74 65 6d 2e 44 61 74 61 2e 43 6f 6d 6d  System.Data.Comm
0170: 6f 6e 3b 0d 0a 20 20 75 73 69 6e 67 20 53 79 73  on;..  using Sys
0180: 74 65 6d 2e 47 6c 6f 62 61 6c 69 7a 61 74 69 6f  tem.Globalizatio
0190: 6e 3b 0d 0a 0d 0a 23 69 66 20 21 50 4c 41 54 46  n;....#if !PLATF
01a0: 4f 52 4d 5f 43 4f 4d 50 41 43 54 46 52 41 4d 45  ORM_COMPACTFRAME
01b0: 57 4f 52 4b 0d 0a 20 20 75 73 69 6e 67 20 53 79  WORK..  using Sy
01c0: 73 74 65 6d 2e 52 65 66 6c 65 63 74 69 6f 6e 3b  stem.Reflection;
01d0: 0d 0a 20 20 75 73 69 6e 67 20 53 79 73 74 65 6d  ..  using System
01e0: 2e 52 75 6e 74 69 6d 65 2e 53 65 72 69 61 6c 69  .Runtime.Seriali
01f0: 7a 61 74 69 6f 6e 3b 0d 0a 20 20 75 73 69 6e 67  zation;..  using
0200: 20 53 79 73 74 65 6d 2e 53 65 63 75 72 69 74 79   System.Security
0210: 2e 50 65 72 6d 69 73 73 69 6f 6e 73 3b 0d 0a 23  .Permissions;..#
0220: 65 6e 64 69 66 0d 0a 0d 0a 20 20 2f 2f 2f 20 3c  endif....  /// <
0230: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 2f 2f 2f 20  summary>..  /// 
0240: 53 51 4c 69 74 65 20 65 78 63 65 70 74 69 6f 6e  SQLite exception
0250: 20 63 6c 61 73 73 2e 0d 0a 20 20 2f 2f 2f 20 3c   class...  /// <
0260: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 23 69 66 20 21  /summary>..#if !
0270: 50 4c 41 54 46 4f 52 4d 5f 43 4f 4d 50 41 43 54  PLATFORM_COMPACT
0280: 46 52 41 4d 45 57 4f 52 4b 0d 0a 20 20 5b 53 65  FRAMEWORK..  [Se
0290: 72 69 61 6c 69 7a 61 62 6c 65 28 29 5d 0d 0a 20  rializable()].. 
02a0: 20 70 75 62 6c 69 63 20 73 65 61 6c 65 64 20 63   public sealed c
02b0: 6c 61 73 73 20 53 51 4c 69 74 65 45 78 63 65 70  lass SQLiteExcep
02c0: 74 69 6f 6e 20 3a 20 44 62 45 78 63 65 70 74 69  tion : DbExcepti
02d0: 6f 6e 2c 20 49 53 65 72 69 61 6c 69 7a 61 62 6c  on, ISerializabl
02e0: 65 0d 0a 23 65 6c 73 65 0d 0a 20 20 70 75 62 6c  e..#else..  publ
02f0: 69 63 20 73 65 61 6c 65 64 20 63 6c 61 73 73 20  ic sealed class 
0300: 53 51 4c 69 74 65 45 78 63 65 70 74 69 6f 6e 20  SQLiteException 
0310: 3a 20 45 78 63 65 70 74 69 6f 6e 0d 0a 23 65 6e  : Exception..#en
0320: 64 69 66 0d 0a 20 20 7b 0d 0a 20 20 20 20 23 72  dif..  {..    #r
0330: 65 67 69 6f 6e 20 50 72 69 76 61 74 65 20 43 6f  egion Private Co
0340: 6e 73 74 61 6e 74 73 0d 0a 20 20 20 20 2f 2f 2f  nstants..    ///
0350: 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20   <summary>..    
0360: 2f 2f 2f 20 54 68 69 73 20 76 61 6c 75 65 20 77  /// This value w
0370: 61 73 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 74  as copied from t
0380: 68 65 20 22 57 69 6e 45 72 72 6f 72 2e 68 22 20  he "WinError.h" 
0390: 66 69 6c 65 20 69 6e 63 6c 75 64 65 64 20 77 69  file included wi
03a0: 74 68 20 74 68 65 0d 0a 20 20 20 20 2f 2f 2f 20  th the..    /// 
03b0: 50 6c 61 74 66 6f 72 6d 20 53 44 4b 20 66 6f 72  Platform SDK for
03c0: 20 57 69 6e 64 6f 77 73 20 31 30 2e 0d 0a 20 20   Windows 10...  
03d0: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
03e0: 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 63 6f  ..    private co
03f0: 6e 73 74 20 69 6e 74 20 46 41 43 49 4c 49 54 59  nst int FACILITY
0400: 5f 53 51 4c 49 54 45 20 3d 20 31 39 36 37 3b 0d  _SQLITE = 1967;.
0410: 0a 20 20 20 20 23 65 6e 64 72 65 67 69 6f 6e 0d  .    #endregion.
0420: 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f  ...    /////////
0430: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0440: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0450: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0460: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0470: 2f 2f 0d 0a 0d 0a 20 20 20 20 70 72 69 76 61 74  //....    privat
0480: 65 20 53 51 4c 69 74 65 45 72 72 6f 72 43 6f 64  e SQLiteErrorCod
0490: 65 20 5f 65 72 72 6f 72 43 6f 64 65 3b 0d 0a 0d  e _errorCode;...
04a0: 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .    ///////////
04b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
04c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
04d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
04e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
04f0: 0d 0a 0d 0a 23 69 66 20 21 50 4c 41 54 46 4f 52  ....#if !PLATFOR
0500: 4d 5f 43 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f  M_COMPACTFRAMEWO
0510: 52 4b 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  RK..    /// <sum
0520: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 50  mary>..    /// P
0530: 72 69 76 61 74 65 20 63 6f 6e 73 74 72 75 63 74  rivate construct
0540: 6f 72 20 66 6f 72 20 75 73 65 20 77 69 74 68 20  or for use with 
0550: 73 65 72 69 61 6c 69 7a 61 74 69 6f 6e 2e 0d 0a  serialization...
0560: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
0570: 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61 72  y>..    /// <par
0580: 61 6d 20 6e 61 6d 65 3d 22 69 6e 66 6f 22 3e 0d  am name="info">.
0590: 0a 20 20 20 20 2f 2f 2f 20 48 6f 6c 64 73 20 74  .    /// Holds t
05a0: 68 65 20 73 65 72 69 61 6c 69 7a 65 64 20 6f 62  he serialized ob
05b0: 6a 65 63 74 20 64 61 74 61 20 61 62 6f 75 74 20  ject data about 
05c0: 74 68 65 20 65 78 63 65 70 74 69 6f 6e 20 62 65  the exception be
05d0: 69 6e 67 20 74 68 72 6f 77 6e 2e 0d 0a 20 20 20  ing thrown...   
05e0: 20 2f 2f 2f 20 3c 2f 70 61 72 61 6d 3e 0d 0a 20   /// </param>.. 
05f0: 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61     /// <param na
0600: 6d 65 3d 22 63 6f 6e 74 65 78 74 22 3e 0d 0a 20  me="context">.. 
0610: 20 20 20 2f 2f 2f 20 43 6f 6e 74 61 69 6e 73 20     /// Contains 
0620: 63 6f 6e 74 65 78 74 75 61 6c 20 69 6e 66 6f 72  contextual infor
0630: 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65  mation about the
0640: 20 73 6f 75 72 63 65 20 6f 72 20 64 65 73 74 69   source or desti
0650: 6e 61 74 69 6f 6e 2e 0d 0a 20 20 20 20 2f 2f 2f  nation...    ///
0660: 20 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 70   </param>..    p
0670: 72 69 76 61 74 65 20 53 51 4c 69 74 65 45 78 63  rivate SQLiteExc
0680: 65 70 74 69 6f 6e 28 53 65 72 69 61 6c 69 7a 61  eption(Serializa
0690: 74 69 6f 6e 49 6e 66 6f 20 69 6e 66 6f 2c 20 53  tionInfo info, S
06a0: 74 72 65 61 6d 69 6e 67 43 6f 6e 74 65 78 74 20  treamingContext 
06b0: 63 6f 6e 74 65 78 74 29 0d 0a 20 20 20 20 20 20  context)..      
06c0: 3a 20 62 61 73 65 28 69 6e 66 6f 2c 20 63 6f 6e  : base(info, con
06d0: 74 65 78 74 29 0d 0a 20 20 20 20 7b 0d 0a 20 20  text)..    {..  
06e0: 20 20 20 20 5f 65 72 72 6f 72 43 6f 64 65 20 3d      _errorCode =
06f0: 20 28 53 51 4c 69 74 65 45 72 72 6f 72 43 6f 64   (SQLiteErrorCod
0700: 65 29 69 6e 66 6f 2e 47 65 74 49 6e 74 33 32 28  e)info.GetInt32(
0710: 22 65 72 72 6f 72 43 6f 64 65 22 29 3b 0d 0a 0d  "errorCode");...
0720: 0a 20 20 20 20 20 20 49 6e 69 74 69 61 6c 69 7a  .      Initializ
0730: 65 28 29 3b 0d 0a 20 20 20 20 7d 0d 0a 23 65 6e  e();..    }..#en
0740: 64 69 66 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f  dif....    /////
0750: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0760: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0770: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0780: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0790: 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 2f 2f  //////....    //
07a0: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20  / <summary>..   
07b0: 20 2f 2f 2f 20 50 75 62 6c 69 63 20 63 6f 6e 73   /// Public cons
07c0: 74 72 75 63 74 6f 72 20 66 6f 72 20 67 65 6e 65  tructor for gene
07d0: 72 61 74 69 6e 67 20 61 20 53 51 4c 69 74 65 20  rating a SQLite 
07e0: 65 78 63 65 70 74 69 6f 6e 20 67 69 76 65 6e 20  exception given 
07f0: 74 68 65 20 65 72 72 6f 72 0d 0a 20 20 20 20 2f  the error..    /
0800: 2f 2f 20 63 6f 64 65 20 61 6e 64 20 6d 65 73 73  // code and mess
0810: 61 67 65 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f  age...    /// </
0820: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f  summary>..    //
0830: 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65  / <param name="e
0840: 72 72 6f 72 43 6f 64 65 22 3e 0d 0a 20 20 20 20  rrorCode">..    
0850: 2f 2f 2f 20 54 68 65 20 53 51 4c 69 74 65 20 72  /// The SQLite r
0860: 65 74 75 72 6e 20 63 6f 64 65 20 74 6f 20 72 65  eturn code to re
0870: 70 6f 72 74 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c  port...    /// <
0880: 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 2f 2f 2f  /param>..    ///
0890: 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6d 65   <param name="me
08a0: 73 73 61 67 65 22 3e 0d 0a 20 20 20 20 2f 2f 2f  ssage">..    ///
08b0: 20 4d 65 73 73 61 67 65 20 74 65 78 74 20 74 6f   Message text to
08c0: 20 67 6f 20 61 6c 6f 6e 67 20 77 69 74 68 20 74   go along with t
08d0: 68 65 20 72 65 74 75 72 6e 20 63 6f 64 65 20 6d  he return code m
08e0: 65 73 73 61 67 65 20 74 65 78 74 2e 0d 0a 20 20  essage text...  
08f0: 20 20 2f 2f 2f 20 3c 2f 70 61 72 61 6d 3e 0d 0a    /// </param>..
0900: 20 20 20 20 70 75 62 6c 69 63 20 53 51 4c 69 74      public SQLit
0910: 65 45 78 63 65 70 74 69 6f 6e 28 53 51 4c 69 74  eException(SQLit
0920: 65 45 72 72 6f 72 43 6f 64 65 20 65 72 72 6f 72  eErrorCode error
0930: 43 6f 64 65 2c 20 73 74 72 69 6e 67 20 6d 65 73  Code, string mes
0940: 73 61 67 65 29 0d 0a 20 20 20 20 20 20 3a 20 62  sage)..      : b
0950: 61 73 65 28 47 65 74 53 74 6f 63 6b 45 72 72 6f  ase(GetStockErro
0960: 72 4d 65 73 73 61 67 65 28 65 72 72 6f 72 43 6f  rMessage(errorCo
0970: 64 65 2c 20 6d 65 73 73 61 67 65 29 29 0d 0a 20  de, message)).. 
0980: 20 20 20 7b 0d 0a 20 20 20 20 20 20 5f 65 72 72     {..      _err
0990: 6f 72 43 6f 64 65 20 3d 20 65 72 72 6f 72 43 6f  orCode = errorCo
09a0: 64 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 49 6e 69  de;....      Ini
09b0: 74 69 61 6c 69 7a 65 28 29 3b 0d 0a 20 20 20 20  tialize();..    
09c0: 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f  }....    ///////
09d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
09e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
09f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0a00: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0a10: 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20  ////....    /// 
0a20: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f  <summary>..    /
0a30: 2f 2f 20 50 75 62 6c 69 63 20 63 6f 6e 73 74 72  // Public constr
0a40: 75 63 74 6f 72 20 74 68 61 74 20 75 73 65 73 20  uctor that uses 
0a50: 74 68 65 20 62 61 73 65 20 63 6c 61 73 73 20 63  the base class c
0a60: 6f 6e 73 74 72 75 63 74 6f 72 20 66 6f 72 20 74  onstructor for t
0a70: 68 65 20 65 72 72 6f 72 0d 0a 20 20 20 20 2f 2f  he error..    //
0a80: 2f 20 6d 65 73 73 61 67 65 2e 0d 0a 20 20 20 20  / message...    
0a90: 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a  /// </summary>..
0aa0: 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e      /// <param n
0ab0: 61 6d 65 3d 22 6d 65 73 73 61 67 65 22 3e 45 72  ame="message">Er
0ac0: 72 6f 72 20 6d 65 73 73 61 67 65 20 74 65 78 74  ror message text
0ad0: 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 70  .</param>..    p
0ae0: 75 62 6c 69 63 20 53 51 4c 69 74 65 45 78 63 65  ublic SQLiteExce
0af0: 70 74 69 6f 6e 28 73 74 72 69 6e 67 20 6d 65 73  ption(string mes
0b00: 73 61 67 65 29 0d 0a 20 20 20 20 20 20 3a 20 74  sage)..      : t
0b10: 68 69 73 28 53 51 4c 69 74 65 45 72 72 6f 72 43  his(SQLiteErrorC
0b20: 6f 64 65 2e 55 6e 6b 6e 6f 77 6e 2c 20 6d 65 73  ode.Unknown, mes
0b30: 73 61 67 65 29 0d 0a 20 20 20 20 7b 0d 0a 20 20  sage)..    {..  
0b40: 20 20 20 20 20 20 2f 2f 20 64 6f 20 6e 6f 74 68        // do noth
0b50: 69 6e 67 2e 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20  ing...    }.... 
0b60: 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f     /////////////
0b70: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0b80: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0b90: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0ba0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a  //////////////..
0bb0: 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61  ..    /// <summa
0bc0: 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 50 75 62  ry>..    /// Pub
0bd0: 6c 69 63 20 63 6f 6e 73 74 72 75 63 74 6f 72 20  lic constructor 
0be0: 74 68 61 74 20 75 73 65 73 20 74 68 65 20 64 65  that uses the de
0bf0: 66 61 75 6c 74 20 62 61 73 65 20 63 6c 61 73 73  fault base class
0c00: 20 63 6f 6e 73 74 72 75 63 74 6f 72 2e 0d 0a 20   constructor... 
0c10: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
0c20: 3e 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 53 51  >..    public SQ
0c30: 4c 69 74 65 45 78 63 65 70 74 69 6f 6e 28 29 0d  LiteException().
0c40: 0a 20 20 20 20 20 20 20 20 3a 20 62 61 73 65 28  .        : base(
0c50: 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20  )..    {..      
0c60: 20 20 49 6e 69 74 69 61 6c 69 7a 65 28 29 3b 0d    Initialize();.
0c70: 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f  .    }....    //
0c80: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0c90: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0ca0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0cb0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0cc0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20  /////////....   
0cd0: 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a   /// <summary>..
0ce0: 20 20 20 20 2f 2f 2f 20 50 75 62 6c 69 63 20 63      /// Public c
0cf0: 6f 6e 73 74 72 75 63 74 6f 72 20 74 68 61 74 20  onstructor that 
0d00: 75 73 65 73 20 74 68 65 20 62 61 73 65 20 63 6c  uses the base cl
0d10: 61 73 73 20 63 6f 6e 73 74 72 75 63 74 6f 72 20  ass constructor 
0d20: 66 6f 72 20 74 68 65 20 65 72 72 6f 72 0d 0a 20  for the error.. 
0d30: 20 20 20 2f 2f 2f 20 6d 65 73 73 61 67 65 20 61     /// message a
0d40: 6e 64 20 69 6e 6e 65 72 20 65 78 63 65 70 74 69  nd inner excepti
0d50: 6f 6e 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73  on...    /// </s
0d60: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f  ummary>..    ///
0d70: 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 6d 65   <param name="me
0d80: 73 73 61 67 65 22 3e 45 72 72 6f 72 20 6d 65 73  ssage">Error mes
0d90: 73 61 67 65 20 74 65 78 74 2e 3c 2f 70 61 72 61  sage text.</para
0da0: 6d 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61 72  m>..    /// <par
0db0: 61 6d 20 6e 61 6d 65 3d 22 69 6e 6e 65 72 45 78  am name="innerEx
0dc0: 63 65 70 74 69 6f 6e 22 3e 54 68 65 20 6f 72 69  ception">The ori
0dd0: 67 69 6e 61 6c 20 28 69 6e 6e 65 72 29 20 65 78  ginal (inner) ex
0de0: 63 65 70 74 69 6f 6e 2e 3c 2f 70 61 72 61 6d 3e  ception.</param>
0df0: 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 53 51 4c  ..    public SQL
0e00: 69 74 65 45 78 63 65 70 74 69 6f 6e 28 73 74 72  iteException(str
0e10: 69 6e 67 20 6d 65 73 73 61 67 65 2c 20 45 78 63  ing message, Exc
0e20: 65 70 74 69 6f 6e 20 69 6e 6e 65 72 45 78 63 65  eption innerExce
0e30: 70 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 3a 20  ption)..      : 
0e40: 62 61 73 65 28 6d 65 73 73 61 67 65 2c 20 69 6e  base(message, in
0e50: 6e 65 72 45 78 63 65 70 74 69 6f 6e 29 0d 0a 20  nerException).. 
0e60: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 49 6e     {..        In
0e70: 69 74 69 61 6c 69 7a 65 28 29 3b 0d 0a 20 20 20  itialize();..   
0e80: 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f   }....    //////
0e90: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0ea0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0eb0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0ec0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
0ed0: 2f 2f 2f 2f 2f 0d 0a 0d 0a 23 69 66 20 21 50 4c  /////....#if !PL
0ee0: 41 54 46 4f 52 4d 5f 43 4f 4d 50 41 43 54 46 52  ATFORM_COMPACTFR
0ef0: 41 4d 45 57 4f 52 4b 0d 0a 20 20 20 20 2f 2f 2f  AMEWORK..    ///
0f00: 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20   <summary>..    
0f10: 2f 2f 2f 20 41 64 64 73 20 65 78 74 72 61 20 69  /// Adds extra i
0f20: 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 74 68  nformation to th
0f30: 65 20 73 65 72 69 61 6c 69 7a 65 64 20 6f 62 6a  e serialized obj
0f40: 65 63 74 20 64 61 74 61 20 73 70 65 63 69 66 69  ect data specifi
0f50: 63 20 74 6f 20 74 68 69 73 0d 0a 20 20 20 20 2f  c to this..    /
0f60: 2f 2f 20 63 6c 61 73 73 20 74 79 70 65 2e 20 20  // class type.  
0f70: 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 75 73 65  This is only use
0f80: 64 20 66 6f 72 20 73 65 72 69 61 6c 69 7a 61 74  d for serializat
0f90: 69 6f 6e 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f  ion...    /// </
0fa0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f  summary>..    //
0fb0: 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 69  / <param name="i
0fc0: 6e 66 6f 22 3e 0d 0a 20 20 20 20 2f 2f 2f 20 48  nfo">..    /// H
0fd0: 6f 6c 64 73 20 74 68 65 20 73 65 72 69 61 6c 69  olds the seriali
0fe0: 7a 65 64 20 6f 62 6a 65 63 74 20 64 61 74 61 20  zed object data 
0ff0: 61 62 6f 75 74 20 74 68 65 20 65 78 63 65 70 74  about the except
1000: 69 6f 6e 20 62 65 69 6e 67 20 74 68 72 6f 77 6e  ion being thrown
1010: 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 70 61 72  ...    /// </par
1020: 61 6d 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61  am>..    /// <pa
1030: 72 61 6d 20 6e 61 6d 65 3d 22 63 6f 6e 74 65 78  ram name="contex
1040: 74 22 3e 0d 0a 20 20 20 20 2f 2f 2f 20 43 6f 6e  t">..    /// Con
1050: 74 61 69 6e 73 20 63 6f 6e 74 65 78 74 75 61 6c  tains contextual
1060: 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f   information abo
1070: 75 74 20 74 68 65 20 73 6f 75 72 63 65 20 6f 72  ut the source or
1080: 20 64 65 73 74 69 6e 61 74 69 6f 6e 2e 0d 0a 20   destination... 
1090: 20 20 20 2f 2f 2f 20 3c 2f 70 61 72 61 6d 3e 0d     /// </param>.
10a0: 0a 20 20 20 20 5b 53 65 63 75 72 69 74 79 50 65  .    [SecurityPe
10b0: 72 6d 69 73 73 69 6f 6e 28 0d 0a 20 20 20 20 20  rmission(..     
10c0: 20 53 65 63 75 72 69 74 79 41 63 74 69 6f 6e 2e   SecurityAction.
10d0: 4c 69 6e 6b 44 65 6d 61 6e 64 2c 0d 0a 20 20 20  LinkDemand,..   
10e0: 20 20 20 46 6c 61 67 73 20 3d 20 53 65 63 75 72     Flags = Secur
10f0: 69 74 79 50 65 72 6d 69 73 73 69 6f 6e 46 6c 61  ityPermissionFla
1100: 67 2e 53 65 72 69 61 6c 69 7a 61 74 69 6f 6e 46  g.SerializationF
1110: 6f 72 6d 61 74 74 65 72 29 5d 0d 0a 20 20 20 20  ormatter)]..    
1120: 70 75 62 6c 69 63 20 6f 76 65 72 72 69 64 65 20  public override 
1130: 76 6f 69 64 20 47 65 74 4f 62 6a 65 63 74 44 61  void GetObjectDa
1140: 74 61 28 0d 0a 20 20 20 20 20 20 53 65 72 69 61  ta(..      Seria
1150: 6c 69 7a 61 74 69 6f 6e 49 6e 66 6f 20 69 6e 66  lizationInfo inf
1160: 6f 2c 0d 0a 20 20 20 20 20 20 53 74 72 65 61 6d  o,..      Stream
1170: 69 6e 67 43 6f 6e 74 65 78 74 20 63 6f 6e 74 65  ingContext conte
1180: 78 74 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20  xt)..    {..    
1190: 20 20 69 66 20 28 69 6e 66 6f 20 21 3d 20 6e 75    if (info != nu
11a0: 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 69 6e 66  ll)..        inf
11b0: 6f 2e 41 64 64 56 61 6c 75 65 28 22 65 72 72 6f  o.AddValue("erro
11c0: 72 43 6f 64 65 22 2c 20 5f 65 72 72 6f 72 43 6f  rCode", _errorCo
11d0: 64 65 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 62 61  de);....      ba
11e0: 73 65 2e 47 65 74 4f 62 6a 65 63 74 44 61 74 61  se.GetObjectData
11f0: 28 69 6e 66 6f 2c 20 63 6f 6e 74 65 78 74 29 3b  (info, context);
1200: 0d 0a 20 20 20 20 7d 0d 0a 23 65 6e 64 69 66 0d  ..    }..#endif.
1210: 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f  ...    /////////
1220: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1230: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1240: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1250: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1260: 2f 2f 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73  //....    /// <s
1270: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f  ummary>..    ///
1280: 20 47 65 74 73 20 74 68 65 20 61 73 73 6f 63 69   Gets the associ
1290: 61 74 65 64 20 53 51 4c 69 74 65 20 72 65 73 75  ated SQLite resu
12a0: 6c 74 20 63 6f 64 65 20 66 6f 72 20 74 68 69 73  lt code for this
12b0: 20 65 78 63 65 70 74 69 6f 6e 20 61 73 20 61 0d   exception as a.
12c0: 0a 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72  .    /// <see cr
12d0: 65 66 3d 22 53 51 4c 69 74 65 45 72 72 6f 72 43  ef="SQLiteErrorC
12e0: 6f 64 65 22 20 2f 3e 2e 20 20 54 68 69 73 20 70  ode" />.  This p
12f0: 72 6f 70 65 72 74 79 20 72 65 74 75 72 6e 73 20  roperty returns 
1300: 74 68 65 20 73 61 6d 65 0d 0a 20 20 20 20 2f 2f  the same..    //
1310: 2f 20 75 6e 64 65 72 6c 79 69 6e 67 20 76 61 6c  / underlying val
1320: 75 65 20 61 73 20 74 68 65 20 3c 73 65 65 20 63  ue as the <see c
1330: 72 65 66 3d 22 45 72 72 6f 72 43 6f 64 65 22 20  ref="ErrorCode" 
1340: 2f 3e 20 70 72 6f 70 65 72 74 79 2e 0d 0a 20 20  /> property...  
1350: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
1360: 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 53 51 4c  ..    public SQL
1370: 69 74 65 45 72 72 6f 72 43 6f 64 65 20 52 65 73  iteErrorCode Res
1380: 75 6c 74 43 6f 64 65 0d 0a 20 20 20 20 7b 0d 0a  ultCode..    {..
1390: 20 20 20 20 20 20 67 65 74 20 7b 20 72 65 74 75        get { retu
13a0: 72 6e 20 5f 65 72 72 6f 72 43 6f 64 65 3b 20 7d  rn _errorCode; }
13b0: 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f  ..    }....    /
13c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
13d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
13e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
13f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1400: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20  //////////....  
1410: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
1420: 0a 20 20 20 20 2f 2f 2f 20 47 65 74 73 20 74 68  .    /// Gets th
1430: 65 20 61 73 73 6f 63 69 61 74 65 64 20 53 51 4c  e associated SQL
1440: 69 74 65 20 72 65 74 75 72 6e 20 63 6f 64 65 20  ite return code 
1450: 66 6f 72 20 74 68 69 73 20 65 78 63 65 70 74 69  for this excepti
1460: 6f 6e 20 61 73 20 61 6e 0d 0a 20 20 20 20 2f 2f  on as an..    //
1470: 2f 20 3c 73 65 65 20 63 72 65 66 3d 22 49 6e 74  / <see cref="Int
1480: 33 32 22 20 2f 3e 2e 20 20 46 6f 72 20 64 65 73  32" />.  For des
1490: 6b 74 6f 70 20 76 65 72 73 69 6f 6e 73 20 6f 66  ktop versions of
14a0: 20 74 68 65 20 2e 4e 45 54 20 46 72 61 6d 65 77   the .NET Framew
14b0: 6f 72 6b 2c 0d 0a 20 20 20 20 2f 2f 2f 20 74 68  ork,..    /// th
14c0: 69 73 20 70 72 6f 70 65 72 74 79 20 6f 76 65 72  is property over
14d0: 72 69 64 65 73 20 74 68 65 20 70 72 6f 70 65 72  rides the proper
14e0: 74 79 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6e  ty of the same n
14f0: 61 6d 65 20 77 69 74 68 69 6e 20 74 68 65 0d 0a  ame within the..
1500: 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72 65      /// <see cre
1510: 66 3d 22 53 79 73 74 65 6d 2e 52 75 6e 74 69 6d  f="System.Runtim
1520: 65 2e 49 6e 74 65 72 6f 70 53 65 72 76 69 63 65  e.InteropService
1530: 73 2e 45 78 74 65 72 6e 61 6c 45 78 63 65 70 74  s.ExternalExcept
1540: 69 6f 6e 22 20 2f 3e 0d 0a 20 20 20 20 2f 2f 2f  ion" />..    ///
1550: 20 63 6c 61 73 73 2e 20 20 54 68 69 73 20 70 72   class.  This pr
1560: 6f 70 65 72 74 79 20 72 65 74 75 72 6e 73 20 74  operty returns t
1570: 68 65 20 73 61 6d 65 20 75 6e 64 65 72 6c 79 69  he same underlyi
1580: 6e 67 20 76 61 6c 75 65 20 61 73 20 74 68 65 0d  ng value as the.
1590: 0a 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 72  .    /// <see cr
15a0: 65 66 3d 22 52 65 73 75 6c 74 43 6f 64 65 22 20  ef="ResultCode" 
15b0: 2f 3e 20 70 72 6f 70 65 72 74 79 2e 0d 0a 20 20  /> property...  
15c0: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
15d0: 0d 0a 23 69 66 20 21 50 4c 41 54 46 4f 52 4d 5f  ..#if !PLATFORM_
15e0: 43 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f 52 4b  COMPACTFRAMEWORK
15f0: 0d 0a 20 20 20 20 70 75 62 6c 69 63 20 6f 76 65  ..    public ove
1600: 72 72 69 64 65 20 69 6e 74 20 45 72 72 6f 72 43  rride int ErrorC
1610: 6f 64 65 0d 0a 23 65 6c 73 65 0d 0a 20 20 20 20  ode..#else..    
1620: 70 75 62 6c 69 63 20 69 6e 74 20 45 72 72 6f 72  public int Error
1630: 43 6f 64 65 0d 0a 23 65 6e 64 69 66 0d 0a 20 20  Code..#endif..  
1640: 20 20 7b 0d 0a 20 20 20 20 20 20 67 65 74 20 7b    {..      get {
1650: 20 72 65 74 75 72 6e 20 28 69 6e 74 29 5f 65 72   return (int)_er
1660: 72 6f 72 43 6f 64 65 3b 20 7d 0d 0a 20 20 20 20  rorCode; }..    
1670: 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f  }....    ///////
1680: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1690: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
16a0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
16b0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
16c0: 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20  ////....    /// 
16d0: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f  <summary>..    /
16e0: 2f 2f 20 54 68 69 73 20 6d 65 74 68 6f 64 20 70  // This method p
16f0: 65 72 66 6f 72 6d 73 20 65 78 74 72 61 20 69 6e  erforms extra in
1700: 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 74 61 73  itialization tas
1710: 6b 73 2e 20 20 49 74 20 6d 61 79 20 62 65 20 63  ks.  It may be c
1720: 61 6c 6c 65 64 20 62 79 0d 0a 20 20 20 20 2f 2f  alled by..    //
1730: 2f 20 61 6e 79 20 6f 66 20 74 68 65 20 63 6f 6e  / any of the con
1740: 73 74 72 75 63 74 6f 72 73 20 6f 66 20 74 68 69  structors of thi
1750: 73 20 63 6c 61 73 73 2e 20 20 49 74 20 6d 75 73  s class.  It mus
1760: 74 20 6e 6f 74 20 74 68 72 6f 77 20 65 78 63 65  t not throw exce
1770: 70 74 69 6f 6e 73 2e 0d 0a 20 20 20 20 2f 2f 2f  ptions...    ///
1780: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
1790: 20 70 72 69 76 61 74 65 20 76 6f 69 64 20 49 6e   private void In
17a0: 69 74 69 61 6c 69 7a 65 28 29 0d 0a 20 20 20 20  itialize()..    
17b0: 7b 0d 0a 20 20 20 20 20 20 20 20 69 66 20 28 48  {..        if (H
17c0: 52 65 73 75 6c 74 20 3d 3d 20 75 6e 63 68 65 63  Result == unchec
17d0: 6b 65 64 28 28 69 6e 74 29 30 78 38 30 30 30 34  ked((int)0x80004
17e0: 30 30 35 29 29 20 2f 2a 20 45 5f 46 41 49 4c 20  005)) /* E_FAIL 
17f0: 2a 2f 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20  */..        {.. 
1800: 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 3f 20             int? 
1810: 6c 6f 63 61 6c 48 52 65 73 75 6c 74 20 3d 20 47  localHResult = G
1820: 65 74 48 52 65 73 75 6c 74 46 6f 72 45 72 72 6f  etHResultForErro
1830: 72 43 6f 64 65 28 52 65 73 75 6c 74 43 6f 64 65  rCode(ResultCode
1840: 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20  );....          
1850: 20 20 69 66 20 28 6c 6f 63 61 6c 48 52 65 73 75    if (localHResu
1860: 6c 74 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20  lt != null)..   
1870: 20 20 20 20 20 20 20 20 20 20 20 20 20 48 52 65               HRe
1880: 73 75 6c 74 20 3d 20 28 69 6e 74 29 6c 6f 63 61  sult = (int)loca
1890: 6c 48 52 65 73 75 6c 74 3b 0d 0a 20 20 20 20 20  lHResult;..     
18a0: 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 0d 0a 20     }..    }.... 
18b0: 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f     /////////////
18c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
18d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
18e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
18f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a  //////////////..
1900: 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61  ..    /// <summa
1910: 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 4d 61 70  ry>..    /// Map
1920: 73 20 61 20 57 69 6e 33 32 20 65 72 72 6f 72 20  s a Win32 error 
1930: 63 6f 64 65 20 74 6f 20 61 6e 20 48 52 45 53 55  code to an HRESU
1940: 4c 54 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 73  LT...    /// </s
1950: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f  ummary>..    ///
1960: 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 65 72   <param name="er
1970: 72 6f 72 43 6f 64 65 22 3e 0d 0a 20 20 20 20 2f  rorCode">..    /
1980: 2f 2f 20 54 68 65 20 73 70 65 63 69 66 69 65 64  // The specified
1990: 20 57 69 6e 33 32 20 65 72 72 6f 72 20 63 6f 64   Win32 error cod
19a0: 65 2e 20 20 49 74 20 6d 75 73 74 20 62 65 20 77  e.  It must be w
19b0: 69 74 68 69 6e 20 74 68 65 20 72 61 6e 67 65 20  ithin the range 
19c0: 6f 66 20 7a 65 72 6f 0d 0a 20 20 20 20 2f 2f 2f  of zero..    ///
19d0: 20 28 30 29 20 74 6f 20 30 78 46 46 46 46 20 28   (0) to 0xFFFF (
19e0: 36 35 35 33 35 29 2e 0d 0a 20 20 20 20 2f 2f 2f  65535)...    ///
19f0: 20 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 2f   </param>..    /
1a00: 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22  // <param name="
1a10: 73 75 63 63 65 73 73 22 3e 0d 0a 20 20 20 20 2f  success">..    /
1a20: 2f 2f 20 4e 6f 6e 2d 7a 65 72 6f 20 69 66 20 74  // Non-zero if t
1a30: 68 65 20 48 52 45 53 55 4c 54 20 73 68 6f 75 6c  he HRESULT shoul
1a40: 64 20 69 6e 64 69 63 61 74 65 20 73 75 63 63 65  d indicate succe
1a50: 73 73 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 7a  ss; otherwise, z
1a60: 65 72 6f 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f  ero...    /// </
1a70: 70 61 72 61 6d 3e 0d 0a 20 20 20 20 2f 2f 2f 20  param>..    /// 
1a80: 3c 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 2f  <returns>..    /
1a90: 2f 2f 20 54 68 65 20 69 6e 74 65 67 65 72 20 76  // The integer v
1aa0: 61 6c 75 65 20 6f 66 20 74 68 65 20 48 52 45 53  alue of the HRES
1ab0: 55 4c 54 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f  ULT...    /// </
1ac0: 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 70 72  returns>..    pr
1ad0: 69 76 61 74 65 20 73 74 61 74 69 63 20 69 6e 74  ivate static int
1ae0: 20 4d 61 6b 65 48 52 65 73 75 6c 74 28 0d 0a 20   MakeHResult(.. 
1af0: 20 20 20 20 20 20 20 69 6e 74 20 65 72 72 6f 72         int error
1b00: 43 6f 64 65 2c 0d 0a 20 20 20 20 20 20 20 20 62  Code,..        b
1b10: 6f 6f 6c 20 73 75 63 63 65 73 73 0d 0a 20 20 20  ool success..   
1b20: 20 20 20 20 20 29 0d 0a 20 20 20 20 7b 0d 0a 20       )..    {.. 
1b30: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 65         return (e
1b40: 72 72 6f 72 43 6f 64 65 20 26 20 30 78 46 46 46  rrorCode & 0xFFF
1b50: 46 29 20 7c 20 46 41 43 49 4c 49 54 59 5f 53 51  F) | FACILITY_SQ
1b60: 4c 49 54 45 20 7c 0d 0a 20 20 20 20 20 20 20 20  LITE |..        
1b70: 20 20 20 20 28 73 75 63 63 65 73 73 20 3f 20 30      (success ? 0
1b80: 20 3a 20 75 6e 63 68 65 63 6b 65 64 28 28 69 6e   : unchecked((in
1b90: 74 29 30 78 38 30 30 30 30 30 30 30 29 29 3b 0d  t)0x80000000));.
1ba0: 0a 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f  .    }....    //
1bb0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1bc0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1bd0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1be0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
1bf0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20  /////////....   
1c00: 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a   /// <summary>..
1c10: 20 20 20 20 2f 2f 2f 20 41 74 74 65 6d 70 74 73      /// Attempts
1c20: 20 74 6f 20 6d 61 70 20 74 68 65 20 73 70 65 63   to map the spec
1c30: 69 66 69 65 64 20 3c 73 65 65 20 63 72 65 66 3d  ified <see cref=
1c40: 22 53 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65  "SQLiteErrorCode
1c50: 22 20 2f 3e 20 6f 6e 74 6f 20 61 6e 0d 0a 20 20  " /> onto an..  
1c60: 20 20 2f 2f 2f 20 65 78 69 73 74 69 6e 67 20 48    /// existing H
1c70: 52 45 53 55 4c 54 20 2d 4f 52 2d 20 61 20 57 69  RESULT -OR- a Wi
1c80: 6e 33 32 20 65 72 72 6f 72 20 63 6f 64 65 20 77  n32 error code w
1c90: 72 61 70 70 65 64 20 69 6e 20 61 6e 20 48 52 45  rapped in an HRE
1ca0: 53 55 4c 54 2e 20 20 54 68 65 0d 0a 20 20 20 20  SULT.  The..    
1cb0: 2f 2f 2f 20 6d 61 70 70 69 6e 67 73 20 6d 61 79  /// mappings may
1cc0: 20 6e 6f 74 20 68 61 76 65 20 70 65 72 66 65 63   not have perfec
1cd0: 74 6c 79 20 6d 61 74 63 68 69 6e 67 20 73 65 6d  tly matching sem
1ce0: 61 6e 74 69 63 73 3b 20 68 6f 77 65 76 65 72 2c  antics; however,
1cf0: 20 74 68 65 79 20 64 6f 0d 0a 20 20 20 20 2f 2f   they do..    //
1d00: 2f 20 68 61 76 65 20 74 68 65 20 62 65 6e 65 66  / have the benef
1d10: 69 74 20 6f 66 20 62 65 69 6e 67 20 75 6e 69 71  it of being uniq
1d20: 75 65 20 77 69 74 68 69 6e 20 74 68 65 20 63 6f  ue within the co
1d30: 6e 74 65 78 74 20 6f 66 20 74 68 69 73 20 65 78  ntext of this ex
1d40: 63 65 70 74 69 6f 6e 0d 0a 20 20 20 20 2f 2f 2f  ception..    ///
1d50: 20 74 79 70 65 2e 0d 0a 20 20 20 20 2f 2f 2f 20   type...    /// 
1d60: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20  </summary>..    
1d70: 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d  /// <param name=
1d80: 22 65 72 72 6f 72 43 6f 64 65 22 3e 0d 0a 20 20  "errorCode">..  
1d90: 20 20 2f 2f 2f 20 54 68 65 20 3c 73 65 65 20 63    /// The <see c
1da0: 72 65 66 3d 22 53 51 4c 69 74 65 45 72 72 6f 72  ref="SQLiteError
1db0: 43 6f 64 65 22 20 2f 3e 20 74 6f 20 6d 61 70 2e  Code" /> to map.
1dc0: 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 70 61 72 61  ..    /// </para
1dd0: 6d 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 72 65 74  m>..    /// <ret
1de0: 75 72 6e 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 54  urns>..    /// T
1df0: 68 65 20 69 6e 74 65 67 65 72 20 48 52 45 53 55  he integer HRESU
1e00: 4c 54 20 76 61 6c 75 65 20 2d 4f 52 2d 20 6e 75  LT value -OR- nu
1e10: 6c 6c 20 69 66 20 74 68 65 72 65 20 69 73 20 6e  ll if there is n
1e20: 6f 20 6b 6e 6f 77 6e 20 6d 61 70 70 69 6e 67 2e  o known mapping.
1e30: 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 74 75  ..    /// </retu
1e40: 72 6e 73 3e 0d 0a 20 20 20 20 70 72 69 76 61 74  rns>..    privat
1e50: 65 20 73 74 61 74 69 63 20 69 6e 74 3f 20 47 65  e static int? Ge
1e60: 74 48 52 65 73 75 6c 74 46 6f 72 45 72 72 6f 72  tHResultForError
1e70: 43 6f 64 65 28 0d 0a 20 20 20 20 20 20 20 20 53  Code(..        S
1e80: 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65 20 65  QLiteErrorCode e
1e90: 72 72 6f 72 43 6f 64 65 0d 0a 20 20 20 20 20 20  rrorCode..      
1ea0: 20 20 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20    )..    {..    
1eb0: 20 20 20 20 73 77 69 74 63 68 20 28 65 72 72 6f      switch (erro
1ec0: 72 43 6f 64 65 20 26 20 53 51 4c 69 74 65 45 72  rCode & SQLiteEr
1ed0: 72 6f 72 43 6f 64 65 2e 4e 6f 6e 45 78 74 65 6e  rorCode.NonExten
1ee0: 64 65 64 4d 61 73 6b 29 0d 0a 20 20 20 20 20 20  dedMask)..      
1ef0: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
1f00: 20 63 61 73 65 20 53 51 4c 69 74 65 45 72 72 6f   case SQLiteErro
1f10: 72 43 6f 64 65 2e 4f 6b 3a 0d 0a 20 20 20 20 20  rCode.Ok:..     
1f20: 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20             {..  
1f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
1f40: 20 20 72 65 74 75 72 6e 20 30 3b 20 2f 2a 20 53    return 0; /* S
1f50: 5f 4f 4b 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20  _OK */..        
1f60: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
1f70: 20 20 20 20 20 20 20 63 61 73 65 20 53 51 4c 69         case SQLi
1f80: 74 65 45 72 72 6f 72 43 6f 64 65 2e 45 72 72 6f  teErrorCode.Erro
1f90: 72 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  r:..            
1fa0: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20      {..         
1fb0: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
1fc0: 6e 20 4d 61 6b 65 48 52 65 73 75 6c 74 28 30 78  n MakeHResult(0x
1fd0: 30 30 31 46 2c 20 66 61 6c 73 65 29 3b 20 2f 2a  001F, false); /*
1fe0: 20 45 52 52 4f 52 5f 47 45 4e 5f 46 41 49 4c 55   ERROR_GEN_FAILU
1ff0: 52 45 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20  RE */..         
2000: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
2010: 20 20 20 20 20 20 63 61 73 65 20 53 51 4c 69 74        case SQLit
2020: 65 45 72 72 6f 72 43 6f 64 65 2e 49 6e 74 65 72  eErrorCode.Inter
2030: 6e 61 6c 3a 0d 0a 20 20 20 20 20 20 20 20 20 20  nal:..          
2040: 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20        {..       
2050: 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74               ret
2060: 75 72 6e 20 75 6e 63 68 65 63 6b 65 64 28 28 69  urn unchecked((i
2070: 6e 74 29 30 78 38 30 30 30 46 46 46 46 29 3b 20  nt)0x8000FFFF); 
2080: 2f 2a 20 45 5f 55 4e 45 58 50 45 43 54 45 44 20  /* E_UNEXPECTED 
2090: 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  */..            
20a0: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20      }..         
20b0: 20 20 20 63 61 73 65 20 53 51 4c 69 74 65 45 72     case SQLiteEr
20c0: 72 6f 72 43 6f 64 65 2e 50 65 72 6d 3a 0d 0a 20  rorCode.Perm:.. 
20d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b                 {
20e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
20f0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 61 6b        return Mak
2100: 65 48 52 65 73 75 6c 74 28 30 78 30 30 30 35 2c  eHResult(0x0005,
2110: 20 66 61 6c 73 65 29 3b 20 2f 2a 20 45 52 52 4f   false); /* ERRO
2120: 52 5f 41 43 43 45 53 53 5f 44 45 4e 49 45 44 20  R_ACCESS_DENIED 
2130: 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  */..            
2140: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20      }..         
2150: 20 20 20 63 61 73 65 20 53 51 4c 69 74 65 45 72     case SQLiteEr
2160: 72 6f 72 43 6f 64 65 2e 41 62 6f 72 74 3a 0d 0a  rorCode.Abort:..
2170: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2180: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
2190: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 6e         return un
21a0: 63 68 65 63 6b 65 64 28 28 69 6e 74 29 30 78 38  checked((int)0x8
21b0: 30 30 30 34 30 30 34 29 3b 20 2f 2a 20 45 5f 41  0004004); /* E_A
21c0: 42 4f 52 54 20 2a 2f 0d 0a 20 20 20 20 20 20 20  BORT */..       
21d0: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
21e0: 20 20 20 20 20 20 20 20 63 61 73 65 20 53 51 4c          case SQL
21f0: 69 74 65 45 72 72 6f 72 43 6f 64 65 2e 42 75 73  iteErrorCode.Bus
2200: 79 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  y:..            
2210: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20      {..         
2220: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
2230: 6e 20 4d 61 6b 65 48 52 65 73 75 6c 74 28 30 78  n MakeHResult(0x
2240: 30 30 41 41 2c 20 66 61 6c 73 65 29 3b 20 2f 2a  00AA, false); /*
2250: 20 45 52 52 4f 52 5f 42 55 53 59 20 2a 2f 0d 0a   ERROR_BUSY */..
2260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2270: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63  }..            c
2280: 61 73 65 20 53 51 4c 69 74 65 45 72 72 6f 72 43  ase SQLiteErrorC
2290: 6f 64 65 2e 4c 6f 63 6b 65 64 3a 0d 0a 20 20 20  ode.Locked:..   
22a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a               {..
22b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
22c0: 20 20 20 20 72 65 74 75 72 6e 20 4d 61 6b 65 48      return MakeH
22d0: 52 65 73 75 6c 74 28 30 78 30 30 44 34 2c 20 66  Result(0x00D4, f
22e0: 61 6c 73 65 29 3b 20 2f 2a 20 45 52 52 4f 52 5f  alse); /* ERROR_
22f0: 4c 4f 43 4b 45 44 20 2a 2f 0d 0a 20 20 20 20 20  LOCKED */..     
2300: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20             }..  
2310: 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 53            case S
2320: 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65 2e 4e  QLiteErrorCode.N
2330: 6f 4d 65 6d 3a 0d 0a 20 20 20 20 20 20 20 20 20  oMem:..         
2340: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
2350: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65                re
2360: 74 75 72 6e 20 4d 61 6b 65 48 52 65 73 75 6c 74  turn MakeHResult
2370: 28 30 78 30 30 30 45 2c 20 66 61 6c 73 65 29 3b  (0x000E, false);
2380: 20 2f 2a 20 45 52 52 4f 52 5f 4f 55 54 4f 46 4d   /* ERROR_OUTOFM
2390: 45 4d 4f 52 59 20 2a 2f 0d 0a 20 20 20 20 20 20  EMORY */..      
23a0: 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20            }..   
23b0: 20 20 20 20 20 20 20 20 20 63 61 73 65 20 53 51           case SQ
23c0: 4c 69 74 65 45 72 72 6f 72 43 6f 64 65 2e 52 65  LiteErrorCode.Re
23d0: 61 64 4f 6e 6c 79 3a 0d 0a 20 20 20 20 20 20 20  adOnly:..       
23e0: 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20           {..    
23f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2400: 72 65 74 75 72 6e 20 4d 61 6b 65 48 52 65 73 75  return MakeHResu
2410: 6c 74 28 30 78 31 37 37 39 2c 20 66 61 6c 73 65  lt(0x1779, false
2420: 29 3b 20 2f 2a 20 45 52 52 4f 52 5f 46 49 4c 45  ); /* ERROR_FILE
2430: 5f 52 45 41 44 5f 4f 4e 4c 59 20 2a 2f 0d 0a 20  _READ_ONLY */.. 
2440: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
2450: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61  ..            ca
2460: 73 65 20 53 51 4c 69 74 65 45 72 72 6f 72 43 6f  se SQLiteErrorCo
2470: 64 65 2e 49 6e 74 65 72 72 75 70 74 3a 0d 0a 20  de.Interrupt:.. 
2480: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b                 {
2490: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
24a0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 61 6b        return Mak
24b0: 65 48 52 65 73 75 6c 74 28 30 78 30 34 43 37 2c  eHResult(0x04C7,
24c0: 20 66 61 6c 73 65 29 3b 20 2f 2a 20 45 52 52 4f   false); /* ERRO
24d0: 52 5f 43 41 4e 43 45 4c 4c 45 44 20 2a 2f 0d 0a  R_CANCELLED */..
24e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
24f0: 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63  }..            c
2500: 61 73 65 20 53 51 4c 69 74 65 45 72 72 6f 72 43  ase SQLiteErrorC
2510: 6f 64 65 2e 49 6f 45 72 72 3a 0d 0a 20 20 20 20  ode.IoErr:..    
2520: 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20              {.. 
2530: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2540: 20 20 20 72 65 74 75 72 6e 20 4d 61 6b 65 48 52     return MakeHR
2550: 65 73 75 6c 74 28 30 78 30 34 35 44 2c 20 66 61  esult(0x045D, fa
2560: 6c 73 65 29 3b 20 2f 2a 20 45 52 52 4f 52 5f 49  lse); /* ERROR_I
2570: 4f 5f 44 45 56 49 43 45 20 2a 2f 0d 0a 20 20 20  O_DEVICE */..   
2580: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
2590: 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65              case
25a0: 20 53 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65   SQLiteErrorCode
25b0: 2e 43 6f 72 72 75 70 74 3a 0d 0a 20 20 20 20 20  .Corrupt:..     
25c0: 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20             {..  
25d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
25e0: 20 20 72 65 74 75 72 6e 20 4d 61 6b 65 48 52 65    return MakeHRe
25f0: 73 75 6c 74 28 30 78 30 35 34 45 2c 20 66 61 6c  sult(0x054E, fal
2600: 73 65 29 3b 20 2f 2a 20 45 52 52 4f 52 5f 49 4e  se); /* ERROR_IN
2610: 54 45 52 4e 41 4c 5f 44 42 5f 43 4f 52 52 55 50  TERNAL_DB_CORRUP
2620: 54 49 4f 4e 20 2a 2f 0d 0a 20 20 20 20 20 20 20  TION */..       
2630: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
2640: 20 20 20 20 20 20 20 20 63 61 73 65 20 53 51 4c          case SQL
2650: 69 74 65 45 72 72 6f 72 43 6f 64 65 2e 4e 6f 74  iteErrorCode.Not
2660: 46 6f 75 6e 64 3a 0d 0a 20 20 20 20 20 20 20 20  Found:..        
2670: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
2680: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
2690: 65 74 75 72 6e 20 4d 61 6b 65 48 52 65 73 75 6c  eturn MakeHResul
26a0: 74 28 30 78 30 30 33 32 2c 20 66 61 6c 73 65 29  t(0x0032, false)
26b0: 3b 20 2f 2a 20 45 52 52 4f 52 5f 4e 4f 54 5f 53  ; /* ERROR_NOT_S
26c0: 55 50 50 4f 52 54 45 44 20 2a 2f 0d 0a 20 20 20  UPPORTED */..   
26d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a               }..
26e0: 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65              case
26f0: 20 53 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65   SQLiteErrorCode
2700: 2e 46 75 6c 6c 3a 0d 0a 20 20 20 20 20 20 20 20  .Full:..        
2710: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
2720: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
2730: 65 74 75 72 6e 20 4d 61 6b 65 48 52 65 73 75 6c  eturn MakeHResul
2740: 74 28 30 78 30 30 37 30 2c 20 66 61 6c 73 65 29  t(0x0070, false)
2750: 3b 20 2f 2a 20 45 52 52 4f 52 5f 44 49 53 4b 5f  ; /* ERROR_DISK_
2760: 46 55 4c 4c 20 2a 2f 0d 0a 20 20 20 20 20 20 20  FULL */..       
2770: 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20           }..    
2780: 20 20 20 20 20 20 20 20 63 61 73 65 20 53 51 4c          case SQL
2790: 69 74 65 45 72 72 6f 72 43 6f 64 65 2e 43 61 6e  iteErrorCode.Can
27a0: 74 4f 70 65 6e 3a 0d 0a 20 20 20 20 20 20 20 20  tOpen:..        
27b0: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
27c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
27d0: 65 74 75 72 6e 20 4d 61 6b 65 48 52 65 73 75 6c  eturn MakeHResul
27e0: 74 28 30 78 30 33 46 33 2c 20 66 61 6c 73 65 29  t(0x03F3, false)
27f0: 3b 20 2f 2a 20 45 52 52 4f 52 5f 43 41 4e 54 4f  ; /* ERROR_CANTO
2800: 50 45 4e 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20  PEN */..        
2810: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
2820: 20 20 20 20 20 20 20 63 61 73 65 20 53 51 4c 69         case SQLi
2830: 74 65 45 72 72 6f 72 43 6f 64 65 2e 50 72 6f 74  teErrorCode.Prot
2840: 6f 63 6f 6c 3a 0d 0a 20 20 20 20 20 20 20 20 20  ocol:..         
2850: 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20         {..      
2860: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65                re
2870: 74 75 72 6e 20 4d 61 6b 65 48 52 65 73 75 6c 74  turn MakeHResult
2880: 28 30 78 30 35 42 34 2c 20 66 61 6c 73 65 29 3b  (0x05B4, false);
2890: 20 2f 2a 20 45 52 52 4f 52 5f 54 49 4d 45 4f 55   /* ERROR_TIMEOU
28a0: 54 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20 20  T */..          
28b0: 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20        }..       
28c0: 20 20 20 20 20 63 61 73 65 20 53 51 4c 69 74 65       case SQLite
28d0: 45 72 72 6f 72 43 6f 64 65 2e 45 6d 70 74 79 3a  ErrorCode.Empty:
28e0: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
28f0: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
2900: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20           return 
2910: 4d 61 6b 65 48 52 65 73 75 6c 74 28 30 78 31 30  MakeHResult(0x10
2920: 44 32 2c 20 66 61 6c 73 65 29 3b 20 2f 2a 20 45  D2, false); /* E
2930: 52 52 4f 52 5f 45 4d 50 54 59 20 2a 2f 0d 0a 20  RROR_EMPTY */.. 
2940: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d                 }
2950: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 61  ..            ca
2960: 73 65 20 53 51 4c 69 74 65 45 72 72 6f 72 43 6f  se SQLiteErrorCo
2970: 64 65 2e 53 63 68 65 6d 61 3a 0d 0a 20 20 20 20  de.Schema:..    
2980: 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20              {.. 
2990: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
29a0: 20 20 20 72 65 74 75 72 6e 20 4d 61 6b 65 48 52     return MakeHR
29b0: 65 73 75 6c 74 28 30 78 30 37 38 42 2c 20 66 61  esult(0x078B, fa
29c0: 6c 73 65 29 3b 20 2f 2a 20 45 52 52 4f 52 5f 43  lse); /* ERROR_C
29d0: 4f 4e 54 45 58 54 5f 45 58 50 49 52 45 44 20 2a  ONTEXT_EXPIRED *
29e0: 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  /..             
29f0: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
2a00: 20 20 63 61 73 65 20 53 51 4c 69 74 65 45 72 72    case SQLiteErr
2a10: 6f 72 43 6f 64 65 2e 54 6f 6f 42 69 67 3a 0d 0a  orCode.TooBig:..
2a20: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2a30: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
2a40: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 6e         return un
2a50: 63 68 65 63 6b 65 64 28 28 69 6e 74 29 30 78 38  checked((int)0x8
2a60: 30 30 32 38 38 43 35 29 3b 20 2f 2a 20 54 59 50  00288C5); /* TYP
2a70: 45 5f 45 5f 53 49 5a 45 54 4f 4f 42 49 47 20 2a  E_E_SIZETOOBIG *
2a80: 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  /..             
2a90: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
2aa0: 20 20 63 61 73 65 20 53 51 4c 69 74 65 45 72 72    case SQLiteErr
2ab0: 6f 72 43 6f 64 65 2e 43 6f 6e 73 74 72 61 69 6e  orCode.Constrain
2ac0: 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  t:..            
2ad0: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20      {..         
2ae0: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
2af0: 6e 20 4d 61 6b 65 48 52 65 73 75 6c 74 28 30 78  n MakeHResult(0x
2b00: 32 30 32 46 2c 20 66 61 6c 73 65 29 3b 20 2f 2a  202F, false); /*
2b10: 20 45 52 52 4f 52 5f 44 53 5f 43 4f 4e 53 54 52   ERROR_DS_CONSTR
2b20: 41 49 4e 54 5f 56 49 4f 4c 41 54 49 4f 4e 20 2a  AINT_VIOLATION *
2b30: 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  /..             
2b40: 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20     }..          
2b50: 20 20 63 61 73 65 20 53 51 4c 69 74 65 45 72 72    case SQLiteErr
2b60: 6f 72 43 6f 64 65 2e 4d 69 73 6d 61 74 63 68 3a  orCode.Mismatch:
2b70: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2b80: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
2b90: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20           return 
2ba0: 4d 61 6b 65 48 52 65 73 75 6c 74 28 30 78 30 36  MakeHResult(0x06
2bb0: 35 44 2c 20 66 61 6c 73 65 29 3b 20 2f 2a 20 45  5D, false); /* E
2bc0: 52 52 4f 52 5f 44 41 54 41 54 59 50 45 5f 4d 49  RROR_DATATYPE_MI
2bd0: 53 4d 41 54 43 48 20 2a 2f 0d 0a 20 20 20 20 20  SMATCH */..     
2be0: 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20             }..  
2bf0: 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 53            case S
2c00: 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65 2e 4d  QLiteErrorCode.M
2c10: 69 73 75 73 65 3a 0d 0a 20 20 20 20 20 20 20 20  isuse:..        
2c20: 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20          {..     
2c30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72                 r
2c40: 65 74 75 72 6e 20 4d 61 6b 65 48 52 65 73 75 6c  eturn MakeHResul
2c50: 74 28 30 78 30 36 34 39 2c 20 66 61 6c 73 65 29  t(0x0649, false)
2c60: 3b 20 2f 2a 20 45 52 52 4f 52 5f 49 4e 56 41 4c  ; /* ERROR_INVAL
2c70: 49 44 5f 48 41 4e 44 4c 45 5f 53 54 41 54 45 20  ID_HANDLE_STATE 
2c80: 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  */..            
2c90: 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20      }..         
2ca0: 20 20 20 63 61 73 65 20 53 51 4c 69 74 65 45 72     case SQLiteEr
2cb0: 72 6f 72 43 6f 64 65 2e 4e 6f 4c 66 73 3a 0d 0a  rorCode.NoLfs:..
2cc0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
2cd0: 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  {..             
2ce0: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 61         return Ma
2cf0: 6b 65 48 52 65 73 75 6c 74 28 30 78 30 36 34 36  keHResult(0x0646
2d00: 2c 20 66 61 6c 73 65 29 3b 20 2f 2a 20 45 52 52  , false); /* ERR
2d10: 4f 52 5f 55 4e 4b 4e 4f 57 4e 5f 46 45 41 54 55  OR_UNKNOWN_FEATU
2d20: 52 45 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20  RE */..         
2d30: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
2d40: 20 20 20 20 20 20 63 61 73 65 20 53 51 4c 69 74        case SQLit
2d50: 65 45 72 72 6f 72 43 6f 64 65 2e 41 75 74 68 3a  eErrorCode.Auth:
2d60: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
2d70: 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20    {..           
2d80: 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20           return 
2d90: 4d 61 6b 65 48 52 65 73 75 6c 74 28 30 78 30 37  MakeHResult(0x07
2da0: 38 46 2c 20 66 61 6c 73 65 29 3b 20 2f 2a 20 45  8F, false); /* E
2db0: 52 52 4f 52 5f 41 55 54 48 45 4e 54 49 43 41 54  RROR_AUTHENTICAT
2dc0: 49 4f 4e 5f 46 49 52 45 57 41 4c 4c 5f 46 41 49  ION_FIREWALL_FAI
2dd0: 4c 45 44 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20  LED */..        
2de0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
2df0: 20 20 20 20 20 20 20 63 61 73 65 20 53 51 4c 69         case SQLi
2e00: 74 65 45 72 72 6f 72 43 6f 64 65 2e 46 6f 72 6d  teErrorCode.Form
2e10: 61 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  at:..           
2e20: 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20       {..        
2e30: 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75              retu
2e40: 72 6e 20 4d 61 6b 65 48 52 65 73 75 6c 74 28 30  rn MakeHResult(0
2e50: 78 30 30 30 42 2c 20 66 61 6c 73 65 29 3b 20 2f  x000B, false); /
2e60: 2a 20 45 52 52 4f 52 5f 42 41 44 5f 46 4f 52 4d  * ERROR_BAD_FORM
2e70: 41 54 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20  AT */..         
2e80: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
2e90: 20 20 20 20 20 20 63 61 73 65 20 53 51 4c 69 74        case SQLit
2ea0: 65 45 72 72 6f 72 43 6f 64 65 2e 52 61 6e 67 65  eErrorCode.Range
2eb0: 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  :..             
2ec0: 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20     {..          
2ed0: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e            return
2ee0: 20 75 6e 63 68 65 63 6b 65 64 28 28 69 6e 74 29   unchecked((int)
2ef0: 30 78 38 30 30 32 38 43 41 31 29 3b 20 2f 2a 20  0x80028CA1); /* 
2f00: 54 59 50 45 5f 45 5f 4f 55 54 4f 46 42 4f 55 4e  TYPE_E_OUTOFBOUN
2f10: 44 53 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20 20  DS */..         
2f20: 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20         }..      
2f30: 20 20 20 20 20 20 63 61 73 65 20 53 51 4c 69 74        case SQLit
2f40: 65 45 72 72 6f 72 43 6f 64 65 2e 4e 6f 74 41 44  eErrorCode.NotAD
2f50: 62 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20  b:..            
2f60: 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20      {..         
2f70: 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72             retur
2f80: 6e 20 4d 61 6b 65 48 52 65 73 75 6c 74 28 30 78  n MakeHResult(0x
2f90: 30 35 37 30 2c 20 66 61 6c 73 65 29 3b 20 2f 2a  0570, false); /*
2fa0: 20 45 52 52 4f 52 5f 46 49 4c 45 5f 43 4f 52 52   ERROR_FILE_CORR
2fb0: 55 50 54 20 2a 2f 0d 0a 20 20 20 20 20 20 20 20  UPT */..        
2fc0: 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20          }..     
2fd0: 20 20 20 20 20 20 20 63 61 73 65 20 53 51 4c 69         case SQLi
2fe0: 74 65 45 72 72 6f 72 43 6f 64 65 2e 4e 6f 74 69  teErrorCode.Noti
2ff0: 63 65 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20  ce:..           
3000: 20 63 61 73 65 20 53 51 4c 69 74 65 45 72 72 6f   case SQLiteErro
3010: 72 43 6f 64 65 2e 57 61 72 6e 69 6e 67 3a 0d 0a  rCode.Warning:..
3020: 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65              case
3030: 20 53 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65   SQLiteErrorCode
3040: 2e 52 6f 77 3a 0d 0a 20 20 20 20 20 20 20 20 20  .Row:..         
3050: 20 20 20 63 61 73 65 20 53 51 4c 69 74 65 45 72     case SQLiteEr
3060: 72 6f 72 43 6f 64 65 2e 44 6f 6e 65 3a 0d 0a 20  rorCode.Done:.. 
3070: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b                 {
3080: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3090: 20 20 20 20 20 20 2f 2f 0d 0a 20 20 20 20 20 20        //..      
30a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f                //
30b0: 20 4e 4f 54 45 3a 20 54 68 65 73 65 20 72 65 73   NOTE: These res
30c0: 75 6c 74 20 63 6f 64 65 73 20 61 72 65 20 6e 6f  ult codes are no
30d0: 74 20 65 72 72 6f 72 73 2c 20 70 65 72 20 73 65  t errors, per se
30e0: 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  ;..             
30f0: 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20         //       
3100: 74 68 65 72 65 66 6f 72 65 2c 20 6d 61 73 6b 20  therefore, mask 
3110: 6f 66 66 20 61 6c 6c 20 48 52 45 53 55 4c 54 20  off all HRESULT 
3120: 62 69 74 73 20 74 68 61 74 0d 0a 20 20 20 20 20  bits that..     
3130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f                 /
3140: 2f 20 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20  /       are not 
3150: 70 61 72 74 20 6f 66 20 74 68 65 20 22 63 6f 64  part of the "cod
3160: 65 22 20 70 6f 72 74 69 6f 6e 20 28 65 2e 67 2e  e" portion (e.g.
3170: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3180: 20 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 74        //       t
3190: 68 65 20 73 65 76 65 72 69 74 79 2c 20 66 61 63  he severity, fac
31a0: 69 6c 69 74 79 2c 20 65 74 63 29 2e 20 20 54 68  ility, etc).  Th
31b0: 69 73 20 77 69 6c 6c 0d 0a 20 20 20 20 20 20 20  is will..       
31c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20               // 
31d0: 20 20 20 20 20 20 68 61 76 65 20 74 68 65 20 65        have the e
31e0: 66 66 65 63 74 20 6f 66 20 63 72 65 61 74 69 6e  ffect of creatin
31f0: 67 20 61 6e 20 48 52 45 53 55 4c 54 0d 0a 20 20  g an HRESULT..  
3200: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
3210: 20 20 2f 2f 20 20 20 20 20 20 20 74 68 61 74 20    //       that 
3220: 69 6e 64 69 63 61 74 65 73 20 73 75 63 63 65 73  indicates succes
3230: 73 2c 20 77 68 69 6c 65 20 28 68 6f 70 65 66 75  s, while (hopefu
3240: 6c 6c 79 29 0d 0a 20 20 20 20 20 20 20 20 20 20  lly)..          
3250: 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20            //    
3260: 20 20 20 70 72 65 73 65 72 76 69 6e 67 20 74 68     preserving th
3270: 65 20 73 70 65 63 69 66 69 65 64 20 72 65 73 75  e specified resu
3280: 6c 74 20 63 6f 64 65 2e 20 20 41 74 0d 0a 20 20  lt code.  At..  
3290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
32a0: 20 20 2f 2f 20 20 20 20 20 20 20 74 68 65 20 74    //       the t
32b0: 69 6d 65 20 74 68 69 73 20 6d 65 74 68 6f 64 20  ime this method 
32c0: 77 61 73 20 77 72 69 74 74 65 6e 20 28 32 30 31  was written (201
32d0: 38 2d 30 32 29 2c 0d 0a 20 20 20 20 20 20 20 20  8-02),..        
32e0: 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20              //  
32f0: 20 20 20 20 20 6e 6f 20 53 51 4c 69 74 65 20 72       no SQLite r
3300: 65 73 75 6c 74 20 63 6f 64 65 73 20 77 65 72 65  esult codes were
3310: 20 6f 75 74 73 69 64 65 20 6f 66 20 74 68 65 0d   outside of the.
3320: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .               
3330: 20 20 20 20 20 2f 2f 20 20 20 20 20 20 20 73 75       //       su
3340: 70 70 6f 72 74 65 64 20 72 61 6e 67 65 20 66 6f  pported range fo
3350: 72 20 48 52 45 53 55 4c 54 20 63 6f 64 65 73 20  r HRESULT codes 
3360: 28 65 2e 67 2e 0d 0a 20 20 20 20 20 20 20 20 20  (e.g...         
3370: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20             //   
3380: 20 20 20 20 30 78 30 30 30 30 20 74 6f 20 30 78      0x0000 to 0x
3390: 46 46 46 46 2c 20 69 6e 63 6c 75 73 69 76 65 29  FFFF, inclusive)
33a0: 2c 20 77 68 69 63 68 20 6d 61 64 65 0d 0a 20 20  , which made..  
33b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
33c0: 20 20 2f 2f 20 20 20 20 20 20 20 74 68 65 20 66    //       the f
33d0: 6f 6c 6c 6f 77 69 6e 67 20 6d 61 73 6b 69 6e 67  ollowing masking
33e0: 20 6f 70 65 72 61 74 69 6f 6e 20 61 20 68 61 72   operation a har
33f0: 6d 6c 65 73 73 0d 0a 20 20 20 20 20 20 20 20 20  mless..         
3400: 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 20 20             //   
3410: 20 20 20 20 4e 4f 4f 50 2e 0d 0a 20 20 20 20 20      NOOP...     
3420: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f                 /
3430: 2f 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  /..             
3440: 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 4d 61         return Ma
3450: 6b 65 48 52 65 73 75 6c 74 28 28 69 6e 74 29 65  keHResult((int)e
3460: 72 72 6f 72 43 6f 64 65 2c 20 74 72 75 65 29 3b  rrorCode, true);
3470: 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  ..              
3480: 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a    }..        }..
3490: 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e  ..        return
34a0: 20 6e 75 6c 6c 3b 0d 0a 20 20 20 20 7d 0d 0a 0d   null;..    }...
34b0: 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  .    ///////////
34c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
34d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
34e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
34f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
3500: 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ....    /// <sum
3510: 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 52  mary>..    /// R
3520: 65 74 75 72 6e 73 20 74 68 65 20 65 72 72 6f 72  eturns the error
3530: 20 6d 65 73 73 61 67 65 20 66 6f 72 20 74 68 65   message for the
3540: 20 73 70 65 63 69 66 69 65 64 20 53 51 4c 69 74   specified SQLit
3550: 65 20 72 65 74 75 72 6e 20 63 6f 64 65 2e 0d 0a  e return code...
3560: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
3570: 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 70 61 72  y>..    /// <par
3580: 61 6d 20 6e 61 6d 65 3d 22 65 72 72 6f 72 43 6f  am name="errorCo
3590: 64 65 22 3e 54 68 65 20 53 51 4c 69 74 65 20 72  de">The SQLite r
35a0: 65 74 75 72 6e 20 63 6f 64 65 2e 3c 2f 70 61 72  eturn code.</par
35b0: 61 6d 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 72 65  am>..    /// <re
35c0: 74 75 72 6e 73 3e 54 68 65 20 65 72 72 6f 72 20  turns>The error 
35d0: 6d 65 73 73 61 67 65 20 6f 72 20 6e 75 6c 6c 20  message or null 
35e0: 69 66 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20  if it cannot be 
35f0: 66 6f 75 6e 64 2e 3c 2f 72 65 74 75 72 6e 73 3e  found.</returns>
3600: 0d 0a 20 20 20 20 70 72 69 76 61 74 65 20 73 74  ..    private st
3610: 61 74 69 63 20 73 74 72 69 6e 67 20 47 65 74 45  atic string GetE
3620: 72 72 6f 72 53 74 72 69 6e 67 28 0d 0a 20 20 20  rrorString(..   
3630: 20 20 20 20 20 53 51 4c 69 74 65 45 72 72 6f 72       SQLiteError
3640: 43 6f 64 65 20 65 72 72 6f 72 43 6f 64 65 0d 0a  Code errorCode..
3650: 20 20 20 20 20 20 20 20 29 0d 0a 20 20 20 20 7b          )..    {
3660: 0d 0a 23 69 66 20 21 50 4c 41 54 46 4f 52 4d 5f  ..#if !PLATFORM_
3670: 43 4f 4d 50 41 43 54 46 52 41 4d 45 57 4f 52 4b  COMPACTFRAMEWORK
3680: 0d 0a 20 20 20 20 20 20 20 20 2f 2f 0d 0a 20 20  ..        //..  
3690: 20 20 20 20 20 20 2f 2f 20 48 41 43 4b 3a 20 54        // HACK: T
36a0: 68 69 73 20 6d 75 73 74 20 62 65 20 64 6f 6e 65  his must be done
36b0: 20 76 69 61 20 72 65 66 6c 65 63 74 69 6f 6e 20   via reflection 
36c0: 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 65 76  in order to prev
36d0: 65 6e 74 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20  ent..        // 
36e0: 20 20 20 20 20 20 74 68 65 20 52 75 6e 74 69 6d        the Runtim
36f0: 65 48 65 6c 70 65 72 73 2e 50 72 65 70 61 72 65  eHelpers.Prepare
3700: 44 65 6c 65 67 61 74 65 20 6d 65 74 68 6f 64 20  Delegate method 
3710: 66 72 6f 6d 20 6f 76 65 72 2d 0d 0a 20 20 20 20  from over-..    
3720: 20 20 20 20 2f 2f 20 20 20 20 20 20 20 65 61 67      //       eag
3730: 65 72 6c 79 20 61 74 74 65 6d 70 74 69 6e 67 20  erly attempting 
3740: 74 6f 20 6c 6f 63 61 74 65 20 74 68 65 20 6e 65  to locate the ne
3750: 77 20 28 61 6e 64 20 6f 70 74 69 6f 6e 61 6c 29  w (and optional)
3760: 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20  ..        //    
3770: 20 20 20 73 71 6c 69 74 65 33 5f 65 72 72 73 74     sqlite3_errst
3780: 72 28 29 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20  r() function in 
3790: 74 68 65 20 53 51 4c 69 74 65 20 63 6f 72 65 20  the SQLite core 
37a0: 6c 69 62 72 61 72 79 0d 0a 20 20 20 20 20 20 20  library..       
37b0: 20 2f 2f 20 20 20 20 20 20 20 62 65 63 61 75 73   //       becaus
37c0: 65 20 69 74 20 68 61 70 70 65 6e 73 20 74 6f 20  e it happens to 
37d0: 62 65 20 69 6e 20 74 68 65 20 73 74 61 74 69 63  be in the static
37e0: 20 63 61 6c 6c 20 67 72 61 70 68 20 66 6f 72 0d   call graph for.
37f0: 0a 20 20 20 20 20 20 20 20 2f 2f 20 20 20 20 20  .        //     
3800: 20 20 74 68 65 20 41 70 70 44 6f 6d 61 69 6e 2e    the AppDomain.
3810: 44 6f 6d 61 69 6e 55 6e 6c 6f 61 64 20 65 76 65  DomainUnload eve
3820: 6e 74 20 68 61 6e 64 6c 65 72 20 72 65 67 69 73  nt handler regis
3830: 74 65 72 65 64 0d 0a 20 20 20 20 20 20 20 20 2f  tered..        /
3840: 2f 20 20 20 20 20 20 20 62 79 20 74 68 65 20 53  /       by the S
3850: 51 4c 69 74 65 4c 6f 67 20 63 6c 61 73 73 2e 0d  QLiteLog class..
3860: 0a 20 20 20 20 20 20 20 20 2f 2f 0d 0a 20 20 20  .        //..   
3870: 20 20 20 20 20 42 69 6e 64 69 6e 67 46 6c 61 67       BindingFlag
3880: 73 20 66 6c 61 67 73 20 3d 20 42 69 6e 64 69 6e  s flags = Bindin
3890: 67 46 6c 61 67 73 2e 53 74 61 74 69 63 20 7c 0d  gFlags.Static |.
38a0: 0a 20 20 20 20 20 20 20 20 20 20 20 20 42 69 6e  .            Bin
38b0: 64 69 6e 67 46 6c 61 67 73 2e 4e 6f 6e 50 75 62  dingFlags.NonPub
38c0: 6c 69 63 20 7c 20 42 69 6e 64 69 6e 67 46 6c 61  lic | BindingFla
38d0: 67 73 2e 49 6e 76 6f 6b 65 4d 65 74 68 6f 64 3b  gs.InvokeMethod;
38e0: 0d 0a 0d 0a 20 20 20 20 20 20 20 20 72 65 74 75  ....        retu
38f0: 72 6e 20 74 79 70 65 6f 66 28 53 51 4c 69 74 65  rn typeof(SQLite
3900: 33 29 2e 49 6e 76 6f 6b 65 4d 65 6d 62 65 72 28  3).InvokeMember(
3910: 22 47 65 74 45 72 72 6f 72 53 74 72 69 6e 67 22  "GetErrorString"
3920: 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66  ,..            f
3930: 6c 61 67 73 2c 20 6e 75 6c 6c 2c 20 6e 75 6c 6c  lags, null, null
3940: 2c 20 6e 65 77 20 6f 62 6a 65 63 74 5b 5d 20 7b  , new object[] {
3950: 20 65 72 72 6f 72 43 6f 64 65 20 7d 29 20 61 73   errorCode }) as
3960: 20 73 74 72 69 6e 67 3b 0d 0a 23 65 6c 73 65 0d   string;..#else.
3970: 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20  .        return 
3980: 53 51 4c 69 74 65 33 2e 47 65 74 45 72 72 6f 72  SQLite3.GetError
3990: 53 74 72 69 6e 67 28 65 72 72 6f 72 43 6f 64 65  String(errorCode
39a0: 29 3b 0d 0a 23 65 6e 64 69 66 0d 0a 20 20 20 20  );..#endif..    
39b0: 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f 2f 2f  }....    ///////
39c0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
39d0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
39e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
39f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
3a00: 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 20  ////....    /// 
3a10: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f  <summary>..    /
3a20: 2f 2f 20 52 65 74 75 72 6e 73 20 74 68 65 20 63  // Returns the c
3a30: 6f 6d 70 6f 73 69 74 65 20 65 72 72 6f 72 20 6d  omposite error m
3a40: 65 73 73 61 67 65 20 62 61 73 65 64 20 6f 6e 20  essage based on 
3a50: 74 68 65 20 53 51 4c 69 74 65 20 72 65 74 75 72  the SQLite retur
3a60: 6e 20 63 6f 64 65 0d 0a 20 20 20 20 2f 2f 2f 20  n code..    /// 
3a70: 61 6e 64 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c  and the optional
3a80: 20 64 65 74 61 69 6c 65 64 20 65 72 72 6f 72 20   detailed error 
3a90: 6d 65 73 73 61 67 65 2e 0d 0a 20 20 20 20 2f 2f  message...    //
3aa0: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  / </summary>..  
3ab0: 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d    /// <param nam
3ac0: 65 3d 22 65 72 72 6f 72 43 6f 64 65 22 3e 54 68  e="errorCode">Th
3ad0: 65 20 53 51 4c 69 74 65 20 72 65 74 75 72 6e 20  e SQLite return 
3ae0: 63 6f 64 65 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20  code.</param>.. 
3af0: 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61     /// <param na
3b00: 6d 65 3d 22 6d 65 73 73 61 67 65 22 3e 4f 70 74  me="message">Opt
3b10: 69 6f 6e 61 6c 20 64 65 74 61 69 6c 65 64 20 65  ional detailed e
3b20: 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 3c 2f 70  rror message.</p
3b30: 61 72 61 6d 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c  aram>..    /// <
3b40: 72 65 74 75 72 6e 73 3e 45 72 72 6f 72 20 6d 65  returns>Error me
3b50: 73 73 61 67 65 20 74 65 78 74 20 66 6f 72 20 74  ssage text for t
3b60: 68 65 20 72 65 74 75 72 6e 20 63 6f 64 65 2e 3c  he return code.<
3b70: 2f 72 65 74 75 72 6e 73 3e 0d 0a 20 20 20 20 70  /returns>..    p
3b80: 72 69 76 61 74 65 20 73 74 61 74 69 63 20 73 74  rivate static st
3b90: 72 69 6e 67 20 47 65 74 53 74 6f 63 6b 45 72 72  ring GetStockErr
3ba0: 6f 72 4d 65 73 73 61 67 65 28 0d 0a 20 20 20 20  orMessage(..    
3bb0: 20 20 20 20 53 51 4c 69 74 65 45 72 72 6f 72 43      SQLiteErrorC
3bc0: 6f 64 65 20 65 72 72 6f 72 43 6f 64 65 2c 0d 0a  ode errorCode,..
3bd0: 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 6d          string m
3be0: 65 73 73 61 67 65 0d 0a 20 20 20 20 20 20 20 20  essage..        
3bf0: 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20 20 20 20  )..    {..      
3c00: 20 20 72 65 74 75 72 6e 20 48 65 6c 70 65 72 4d    return HelperM
3c10: 65 74 68 6f 64 73 2e 53 74 72 69 6e 67 46 6f 72  ethods.StringFor
3c20: 6d 61 74 28 0d 0a 20 20 20 20 20 20 20 20 20 20  mat(..          
3c30: 20 20 43 75 6c 74 75 72 65 49 6e 66 6f 2e 43 75    CultureInfo.Cu
3c40: 72 72 65 6e 74 43 75 6c 74 75 72 65 2c 0d 0a 20  rrentCulture,.. 
3c50: 20 20 20 20 20 20 20 20 20 20 20 22 7b 30 7d 7b             "{0}{
3c60: 31 7d 7b 32 7d 22 2c 0d 0a 20 20 20 20 20 20 20  1}{2}",..       
3c70: 20 20 20 20 20 47 65 74 45 72 72 6f 72 53 74 72       GetErrorStr
3c80: 69 6e 67 28 65 72 72 6f 72 43 6f 64 65 29 2c 0d  ing(errorCode),.
3c90: 0a 23 69 66 20 21 4e 45 54 5f 43 4f 4d 50 41 43  .#if !NET_COMPAC
3ca0: 54 5f 32 30 0d 0a 20 20 20 20 20 20 20 20 20 20  T_20..          
3cb0: 20 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 4e 65    Environment.Ne
3cc0: 77 4c 69 6e 65 2c 20 6d 65 73 73 61 67 65 29 2e  wLine, message).
3cd0: 54 72 69 6d 28 29 3b 0d 0a 23 65 6c 73 65 0d 0a  Trim();..#else..
3ce0: 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 72 5c              "\r\
3cf0: 6e 22 2c 20 6d 65 73 73 61 67 65 29 2e 54 72 69  n", message).Tri
3d00: 6d 28 29 3b 0d 0a 23 65 6e 64 69 66 0d 0a 20 20  m();..#endif..  
3d10: 20 20 7d 0d 0a 0d 0a 20 20 20 20 2f 2f 2f 2f 2f    }....    /////
3d20: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
3d30: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
3d40: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
3d50: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
3d60: 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20 20 23 72  //////....    #r
3d70: 65 67 69 6f 6e 20 53 79 73 74 65 6d 2e 4f 62 6a  egion System.Obj
3d80: 65 63 74 20 4f 76 65 72 72 69 64 65 73 0d 0a 20  ect Overrides.. 
3d90: 20 20 20 70 75 62 6c 69 63 20 6f 76 65 72 72 69     public overri
3da0: 64 65 20 73 74 72 69 6e 67 20 54 6f 53 74 72 69  de string ToStri
3db0: 6e 67 28 29 0d 0a 20 20 20 20 7b 0d 0a 20 20 20  ng()..    {..   
3dc0: 20 20 20 20 20 72 65 74 75 72 6e 20 48 65 6c 70       return Help
3dd0: 65 72 4d 65 74 68 6f 64 73 2e 53 74 72 69 6e 67  erMethods.String
3de0: 46 6f 72 6d 61 74 28 0d 0a 20 20 20 20 20 20 20  Format(..       
3df0: 20 20 20 20 20 43 75 6c 74 75 72 65 49 6e 66 6f       CultureInfo
3e00: 2e 43 75 72 72 65 6e 74 43 75 6c 74 75 72 65 2c  .CurrentCulture,
3e10: 20 22 63 6f 64 65 20 3d 20 7b 30 7d 20 28 7b 31   "code = {0} ({1
3e20: 7d 29 2c 20 6d 65 73 73 61 67 65 20 3d 20 7b 32  }), message = {2
3e30: 7d 22 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20  }",..           
3e40: 20 5f 65 72 72 6f 72 43 6f 64 65 2c 20 28 69 6e   _errorCode, (in
3e50: 74 29 5f 65 72 72 6f 72 43 6f 64 65 2c 20 62 61  t)_errorCode, ba
3e60: 73 65 2e 54 6f 53 74 72 69 6e 67 28 29 29 3b 0d  se.ToString());.
3e70: 0a 20 20 20 20 7d 0d 0a 20 20 20 20 23 65 6e 64  .    }..    #end
3e80: 72 65 67 69 6f 6e 0d 0a 20 20 7d 0d 0a 0d 0a 20  region..  }.... 
3e90: 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a   /// <summary>..
3ea0: 20 20 2f 2f 2f 20 53 51 4c 69 74 65 20 65 72 72    /// SQLite err
3eb0: 6f 72 20 63 6f 64 65 73 2e 20 20 41 63 74 75 61  or codes.  Actua
3ec0: 6c 6c 79 2c 20 74 68 69 73 20 65 6e 75 6d 65 72  lly, this enumer
3ed0: 61 74 69 6f 6e 20 72 65 70 72 65 73 65 6e 74 73  ation represents
3ee0: 20 61 20 72 65 74 75 72 6e 20 63 6f 64 65 2c 0d   a return code,.
3ef0: 0a 20 20 2f 2f 2f 20 77 68 69 63 68 20 6d 61 79  .  /// which may
3f00: 20 61 6c 73 6f 20 69 6e 64 69 63 61 74 65 20 73   also indicate s
3f10: 75 63 63 65 73 73 20 69 6e 20 6f 6e 65 20 6f 66  uccess in one of
3f20: 20 73 65 76 65 72 61 6c 20 77 61 79 73 20 28 65   several ways (e
3f30: 2e 67 2e 20 53 51 4c 49 54 45 5f 4f 4b 2c 0d 0a  .g. SQLITE_OK,..
3f40: 20 20 2f 2f 2f 20 53 51 4c 49 54 45 5f 52 4f 57    /// SQLITE_ROW
3f50: 2c 20 61 6e 64 20 53 51 4c 49 54 45 5f 44 4f 4e  , and SQLITE_DON
3f60: 45 29 2e 20 20 54 68 65 72 65 66 6f 72 65 2c 20  E).  Therefore, 
3f70: 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 69 73  the name of this
3f80: 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 69 73 0d   enumeration is.
3f90: 0a 20 20 2f 2f 2f 20 73 6f 6d 65 74 68 69 6e 67  .  /// something
3fa0: 20 6f 66 20 61 20 6d 69 73 6e 6f 6d 65 72 2e 0d   of a misnomer..
3fb0: 0a 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79  .  /// </summary
3fc0: 3e 0d 0a 20 20 70 75 62 6c 69 63 20 65 6e 75 6d  >..  public enum
3fd0: 20 53 51 4c 69 74 65 45 72 72 6f 72 43 6f 64 65   SQLiteErrorCode
3fe0: 0d 0a 20 20 7b 0d 0a 20 20 20 20 20 20 2f 2f 2f  ..  {..      ///
3ff0: 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20   <summary>..    
4000: 20 20 2f 2f 2f 20 54 68 65 20 65 72 72 6f 72 20    /// The error 
4010: 63 6f 64 65 20 69 73 20 75 6e 6b 6e 6f 77 6e 2e  code is unknown.
4020: 20 20 54 68 69 73 20 65 72 72 6f 72 20 63 6f 64    This error cod
4030: 65 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 69 73 20  e..      /// is 
4040: 6f 6e 6c 79 20 75 73 65 64 20 62 79 20 74 68 65  only used by the
4050: 20 6d 61 6e 61 67 65 64 20 77 72 61 70 70 65 72   managed wrapper
4060: 20 69 74 73 65 6c 66 2e 0d 0a 20 20 20 20 20 20   itself...      
4070: 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a  /// </summary>..
4080: 20 20 20 20 20 20 55 6e 6b 6e 6f 77 6e 20 3d 20        Unknown = 
4090: 2d 31 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  -1,..      /// <
40a0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
40b0: 2f 2f 2f 20 53 75 63 63 65 73 73 66 75 6c 20 72  /// Successful r
40c0: 65 73 75 6c 74 0d 0a 20 20 20 20 20 20 2f 2f 2f  esult..      ///
40d0: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
40e0: 20 20 20 4f 6b 20 2f 2a 20 30 20 2a 2f 2c 0d 0a     Ok /* 0 */,..
40f0: 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61        /// <summa
4100: 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 53  ry>..      /// S
4110: 51 4c 20 65 72 72 6f 72 20 6f 72 20 6d 69 73 73  QL error or miss
4120: 69 6e 67 20 64 61 74 61 62 61 73 65 0d 0a 20 20  ing database..  
4130: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
4140: 79 3e 0d 0a 20 20 20 20 20 20 45 72 72 6f 72 20  y>..      Error 
4150: 2f 2a 20 31 20 2a 2f 2c 0d 0a 20 20 20 20 20 20  /* 1 */,..      
4160: 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20  /// <summary>.. 
4170: 20 20 20 20 20 2f 2f 2f 20 49 6e 74 65 72 6e 61       /// Interna
4180: 6c 20 6c 6f 67 69 63 20 65 72 72 6f 72 20 69 6e  l logic error in
4190: 20 53 51 4c 69 74 65 0d 0a 20 20 20 20 20 20 2f   SQLite..      /
41a0: 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20  // </summary>.. 
41b0: 20 20 20 20 20 49 6e 74 65 72 6e 61 6c 20 2f 2a       Internal /*
41c0: 20 32 20 2a 2f 2c 0d 0a 20 20 20 20 20 20 2f 2f   2 */,..      //
41d0: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20  / <summary>..   
41e0: 20 20 20 2f 2f 2f 20 41 63 63 65 73 73 20 70 65     /// Access pe
41f0: 72 6d 69 73 73 69 6f 6e 20 64 65 6e 69 65 64 0d  rmission denied.
4200: 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  .      /// </sum
4210: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 50 65 72  mary>..      Per
4220: 6d 20 2f 2a 20 33 20 2a 2f 2c 0d 0a 20 20 20 20  m /* 3 */,..    
4230: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
4240: 0a 20 20 20 20 20 20 2f 2f 2f 20 43 61 6c 6c 62  .      /// Callb
4250: 61 63 6b 20 72 6f 75 74 69 6e 65 20 72 65 71 75  ack routine requ
4260: 65 73 74 65 64 20 61 6e 20 61 62 6f 72 74 0d 0a  ested an abort..
4270: 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d        /// </summ
4280: 61 72 79 3e 0d 0a 20 20 20 20 20 20 41 62 6f 72  ary>..      Abor
4290: 74 20 2f 2a 20 34 20 2a 2f 2c 0d 0a 20 20 20 20  t /* 4 */,..    
42a0: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
42b0: 0a 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 64  .      /// The d
42c0: 61 74 61 62 61 73 65 20 66 69 6c 65 20 69 73 20  atabase file is 
42d0: 6c 6f 63 6b 65 64 0d 0a 20 20 20 20 20 20 2f 2f  locked..      //
42e0: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  / </summary>..  
42f0: 20 20 20 20 42 75 73 79 20 2f 2a 20 35 20 2a 2f      Busy /* 5 */
4300: 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75  ,..      /// <su
4310: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f  mmary>..      //
4320: 2f 20 41 20 74 61 62 6c 65 20 69 6e 20 74 68 65  / A table in the
4330: 20 64 61 74 61 62 61 73 65 20 69 73 20 6c 6f 63   database is loc
4340: 6b 65 64 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  ked..      /// <
4350: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  /summary>..     
4360: 20 4c 6f 63 6b 65 64 20 2f 2a 20 36 20 2a 2f 2c   Locked /* 6 */,
4370: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ..      /// <sum
4380: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f  mary>..      ///
4390: 20 41 20 6d 61 6c 6c 6f 63 28 29 20 66 61 69 6c   A malloc() fail
43a0: 65 64 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f  ed..      /// </
43b0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
43c0: 4e 6f 4d 65 6d 20 2f 2a 20 37 20 2a 2f 2c 0d 0a  NoMem /* 7 */,..
43d0: 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61        /// <summa
43e0: 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41  ry>..      /// A
43f0: 74 74 65 6d 70 74 20 74 6f 20 77 72 69 74 65 20  ttempt to write 
4400: 61 20 72 65 61 64 6f 6e 6c 79 20 64 61 74 61 62  a readonly datab
4410: 61 73 65 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  ase..      /// <
4420: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  /summary>..     
4430: 20 52 65 61 64 4f 6e 6c 79 20 2f 2a 20 38 20 2a   ReadOnly /* 8 *
4440: 2f 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73  /,..      /// <s
4450: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f  ummary>..      /
4460: 2f 2f 20 4f 70 65 72 61 74 69 6f 6e 20 74 65 72  // Operation ter
4470: 6d 69 6e 61 74 65 64 20 62 79 20 73 71 6c 69 74  minated by sqlit
4480: 65 33 5f 69 6e 74 65 72 72 75 70 74 28 29 0d 0a  e3_interrupt()..
4490: 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d        /// </summ
44a0: 61 72 79 3e 0d 0a 20 20 20 20 20 20 49 6e 74 65  ary>..      Inte
44b0: 72 72 75 70 74 20 2f 2a 20 39 20 2a 2f 2c 0d 0a  rrupt /* 9 */,..
44c0: 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61        /// <summa
44d0: 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 53  ry>..      /// S
44e0: 6f 6d 65 20 6b 69 6e 64 20 6f 66 20 64 69 73 6b  ome kind of disk
44f0: 20 49 2f 4f 20 65 72 72 6f 72 20 6f 63 63 75 72   I/O error occur
4500: 72 65 64 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  red..      /// <
4510: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  /summary>..     
4520: 20 49 6f 45 72 72 20 2f 2a 20 31 30 20 2a 2f 2c   IoErr /* 10 */,
4530: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ..      /// <sum
4540: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f  mary>..      ///
4550: 20 54 68 65 20 64 61 74 61 62 61 73 65 20 64 69   The database di
4560: 73 6b 20 69 6d 61 67 65 20 69 73 20 6d 61 6c 66  sk image is malf
4570: 6f 72 6d 65 64 0d 0a 20 20 20 20 20 20 2f 2f 2f  ormed..      ///
4580: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
4590: 20 20 20 43 6f 72 72 75 70 74 20 2f 2a 20 31 31     Corrupt /* 11
45a0: 20 2a 2f 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20   */,..      /// 
45b0: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  <summary>..     
45c0: 20 2f 2f 2f 20 55 6e 6b 6e 6f 77 6e 20 6f 70 63   /// Unknown opc
45d0: 6f 64 65 20 69 6e 20 73 71 6c 69 74 65 33 5f 66  ode in sqlite3_f
45e0: 69 6c 65 5f 63 6f 6e 74 72 6f 6c 28 29 0d 0a 20  ile_control().. 
45f0: 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61       /// </summa
4600: 72 79 3e 0d 0a 20 20 20 20 20 20 4e 6f 74 46 6f  ry>..      NotFo
4610: 75 6e 64 20 2f 2a 20 31 32 20 2a 2f 2c 0d 0a 20  und /* 12 */,.. 
4620: 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72       /// <summar
4630: 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 49 6e  y>..      /// In
4640: 73 65 72 74 69 6f 6e 20 66 61 69 6c 65 64 20 62  sertion failed b
4650: 65 63 61 75 73 65 20 64 61 74 61 62 61 73 65 20  ecause database 
4660: 69 73 20 66 75 6c 6c 0d 0a 20 20 20 20 20 20 2f  is full..      /
4670: 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20  // </summary>.. 
4680: 20 20 20 20 20 46 75 6c 6c 20 2f 2a 20 31 33 20       Full /* 13 
4690: 2a 2f 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  */,..      /// <
46a0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
46b0: 2f 2f 2f 20 55 6e 61 62 6c 65 20 74 6f 20 6f 70  /// Unable to op
46c0: 65 6e 20 74 68 65 20 64 61 74 61 62 61 73 65 20  en the database 
46d0: 66 69 6c 65 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  file..      /// 
46e0: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20  </summary>..    
46f0: 20 20 43 61 6e 74 4f 70 65 6e 20 2f 2a 20 31 34    CantOpen /* 14
4700: 20 2a 2f 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20   */,..      /// 
4710: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  <summary>..     
4720: 20 2f 2f 2f 20 44 61 74 61 62 61 73 65 20 6c 6f   /// Database lo
4730: 63 6b 20 70 72 6f 74 6f 63 6f 6c 20 65 72 72 6f  ck protocol erro
4740: 72 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73  r..      /// </s
4750: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 50  ummary>..      P
4760: 72 6f 74 6f 63 6f 6c 20 2f 2a 20 31 35 20 2a 2f  rotocol /* 15 */
4770: 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75  ,..      /// <su
4780: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f  mmary>..      //
4790: 2f 20 44 61 74 61 62 61 73 65 20 69 73 20 65 6d  / Database is em
47a0: 70 74 79 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  pty..      /// <
47b0: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  /summary>..     
47c0: 20 45 6d 70 74 79 20 2f 2a 20 31 36 20 2a 2f 2c   Empty /* 16 */,
47d0: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ..      /// <sum
47e0: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f  mary>..      ///
47f0: 20 54 68 65 20 64 61 74 61 62 61 73 65 20 73 63   The database sc
4800: 68 65 6d 61 20 63 68 61 6e 67 65 64 0d 0a 20 20  hema changed..  
4810: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
4820: 79 3e 0d 0a 20 20 20 20 20 20 53 63 68 65 6d 61  y>..      Schema
4830: 20 2f 2a 20 31 37 20 2a 2f 2c 0d 0a 20 20 20 20   /* 17 */,..    
4840: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
4850: 0a 20 20 20 20 20 20 2f 2f 2f 20 53 74 72 69 6e  .      /// Strin
4860: 67 20 6f 72 20 42 4c 4f 42 20 65 78 63 65 65 64  g or BLOB exceed
4870: 73 20 73 69 7a 65 20 6c 69 6d 69 74 0d 0a 20 20  s size limit..  
4880: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
4890: 79 3e 0d 0a 20 20 20 20 20 20 54 6f 6f 42 69 67  y>..      TooBig
48a0: 20 2f 2a 20 31 38 20 2a 2f 2c 0d 0a 20 20 20 20   /* 18 */,..    
48b0: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
48c0: 0a 20 20 20 20 20 20 2f 2f 2f 20 41 62 6f 72 74  .      /// Abort
48d0: 20 64 75 65 20 74 6f 20 63 6f 6e 73 74 72 61 69   due to constrai
48e0: 6e 74 20 76 69 6f 6c 61 74 69 6f 6e 0d 0a 20 20  nt violation..  
48f0: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
4900: 79 3e 0d 0a 20 20 20 20 20 20 43 6f 6e 73 74 72  y>..      Constr
4910: 61 69 6e 74 20 2f 2a 20 31 39 20 2a 2f 2c 0d 0a  aint /* 19 */,..
4920: 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61        /// <summa
4930: 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 44  ry>..      /// D
4940: 61 74 61 20 74 79 70 65 20 6d 69 73 6d 61 74 63  ata type mismatc
4950: 68 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73  h..      /// </s
4960: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 4d  ummary>..      M
4970: 69 73 6d 61 74 63 68 20 2f 2a 20 32 30 20 2a 2f  ismatch /* 20 */
4980: 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75  ,..      /// <su
4990: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f  mmary>..      //
49a0: 2f 20 4c 69 62 72 61 72 79 20 75 73 65 64 20 69  / Library used i
49b0: 6e 63 6f 72 72 65 63 74 6c 79 0d 0a 20 20 20 20  ncorrectly..    
49c0: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
49d0: 0d 0a 20 20 20 20 20 20 4d 69 73 75 73 65 20 2f  ..      Misuse /
49e0: 2a 20 32 31 20 2a 2f 2c 0d 0a 20 20 20 20 20 20  * 21 */,..      
49f0: 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20  /// <summary>.. 
4a00: 20 20 20 20 20 2f 2f 2f 20 55 73 65 73 20 4f 53       /// Uses OS
4a10: 20 66 65 61 74 75 72 65 73 20 6e 6f 74 20 73 75   features not su
4a20: 70 70 6f 72 74 65 64 20 6f 6e 20 68 6f 73 74 0d  pported on host.
4a30: 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  .      /// </sum
4a40: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 4e 6f 4c  mary>..      NoL
4a50: 66 73 20 2f 2a 20 32 32 20 2a 2f 2c 0d 0a 20 20  fs /* 22 */,..  
4a60: 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79      /// <summary
4a70: 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 75 74  >..      /// Aut
4a80: 68 6f 72 69 7a 61 74 69 6f 6e 20 64 65 6e 69 65  horization denie
4a90: 64 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73  d..      /// </s
4aa0: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 41  ummary>..      A
4ab0: 75 74 68 20 2f 2a 20 32 33 20 2a 2f 2c 0d 0a 20  uth /* 23 */,.. 
4ac0: 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72       /// <summar
4ad0: 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 75  y>..      /// Au
4ae0: 78 69 6c 69 61 72 79 20 64 61 74 61 62 61 73 65  xiliary database
4af0: 20 66 6f 72 6d 61 74 20 65 72 72 6f 72 0d 0a 20   format error.. 
4b00: 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61       /// </summa
4b10: 72 79 3e 0d 0a 20 20 20 20 20 20 46 6f 72 6d 61  ry>..      Forma
4b20: 74 20 2f 2a 20 32 34 20 2a 2f 2c 0d 0a 20 20 20  t /* 24 */,..   
4b30: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
4b40: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 32 6e 64 20  ..      /// 2nd 
4b50: 70 61 72 61 6d 65 74 65 72 20 74 6f 20 73 71 6c  parameter to sql
4b60: 69 74 65 33 5f 62 69 6e 64 20 6f 75 74 20 6f 66  ite3_bind out of
4b70: 20 72 61 6e 67 65 0d 0a 20 20 20 20 20 20 2f 2f   range..      //
4b80: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  / </summary>..  
4b90: 20 20 20 20 52 61 6e 67 65 20 2f 2a 20 32 35 20      Range /* 25 
4ba0: 2a 2f 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  */,..      /// <
4bb0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
4bc0: 2f 2f 2f 20 46 69 6c 65 20 6f 70 65 6e 65 64 20  /// File opened 
4bd0: 74 68 61 74 20 69 73 20 6e 6f 74 20 61 20 64 61  that is not a da
4be0: 74 61 62 61 73 65 20 66 69 6c 65 0d 0a 20 20 20  tabase file..   
4bf0: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
4c00: 3e 0d 0a 20 20 20 20 20 20 4e 6f 74 41 44 62 20  >..      NotADb 
4c10: 2f 2a 20 32 36 20 2a 2f 2c 0d 0a 20 20 20 20 20  /* 26 */,..     
4c20: 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a   /// <summary>..
4c30: 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 69 66 69        /// Notifi
4c40: 63 61 74 69 6f 6e 73 20 66 72 6f 6d 20 73 71 6c  cations from sql
4c50: 69 74 65 33 5f 6c 6f 67 28 29 0d 0a 20 20 20 20  ite3_log()..    
4c60: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
4c70: 0d 0a 20 20 20 20 20 20 4e 6f 74 69 63 65 20 2f  ..      Notice /
4c80: 2a 20 32 37 20 2a 2f 2c 0d 0a 20 20 20 20 20 20  * 27 */,..      
4c90: 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20  /// <summary>.. 
4ca0: 20 20 20 20 20 2f 2f 2f 20 57 61 72 6e 69 6e 67       /// Warning
4cb0: 73 20 66 72 6f 6d 20 73 71 6c 69 74 65 33 5f 6c  s from sqlite3_l
4cc0: 6f 67 28 29 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  og()..      /// 
4cd0: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20  </summary>..    
4ce0: 20 20 57 61 72 6e 69 6e 67 20 2f 2a 20 32 38 20    Warning /* 28 
4cf0: 2a 2f 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  */,..      /// <
4d00: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
4d10: 2f 2f 2f 20 73 71 6c 69 74 65 33 5f 73 74 65 70  /// sqlite3_step
4d20: 28 29 20 68 61 73 20 61 6e 6f 74 68 65 72 20 72  () has another r
4d30: 6f 77 20 72 65 61 64 79 0d 0a 20 20 20 20 20 20  ow ready..      
4d40: 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a  /// </summary>..
4d50: 20 20 20 20 20 20 52 6f 77 20 3d 20 31 30 30 2c        Row = 100,
4d60: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ..      /// <sum
4d70: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f  mary>..      ///
4d80: 20 73 71 6c 69 74 65 33 5f 73 74 65 70 28 29 20   sqlite3_step() 
4d90: 68 61 73 20 66 69 6e 69 73 68 65 64 20 65 78 65  has finished exe
4da0: 63 75 74 69 6e 67 0d 0a 20 20 20 20 20 20 2f 2f  cuting..      //
4db0: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  / </summary>..  
4dc0: 20 20 20 20 44 6f 6e 65 2c 20 2f 2a 20 31 30 31      Done, /* 101
4dd0: 20 2a 2f 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c   */..      /// <
4de0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
4df0: 2f 2f 2f 20 55 73 65 64 20 74 6f 20 6d 61 73 6b  /// Used to mask
4e00: 20 6f 66 66 20 65 78 74 65 6e 64 65 64 20 72 65   off extended re
4e10: 73 75 6c 74 20 63 6f 64 65 73 0d 0a 20 20 20 20  sult codes..    
4e20: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
4e30: 0d 0a 20 20 20 20 20 20 4e 6f 6e 45 78 74 65 6e  ..      NonExten
4e40: 64 65 64 4d 61 73 6b 20 3d 20 30 78 46 46 2c 0d  dedMask = 0xFF,.
4e50: 0a 0d 0a 20 20 20 20 20 20 2f 2f 2f 2f 2f 2f 2f  ...      ///////
4e60: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4e70: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4e80: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4e90: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4ea0: 2f 2f 0d 0a 20 20 20 20 20 20 2f 2f 20 42 45 47  //..      // BEG
4eb0: 49 4e 20 45 58 54 45 4e 44 45 44 20 52 45 53 55  IN EXTENDED RESU
4ec0: 4c 54 20 43 4f 44 45 53 0d 0a 20 20 20 20 20 20  LT CODES..      
4ed0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4ee0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4ef0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4f00: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f  ////////////////
4f10: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 20 20 20  /////////....   
4f20: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
4f30: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 63 6f  ..      /// A co
4f40: 6c 6c 61 74 69 6f 6e 20 73 65 71 75 65 6e 63 65  llation sequence
4f50: 20 77 61 73 20 72 65 66 65 72 65 6e 63 65 64 20   was referenced 
4f60: 62 79 20 61 20 73 63 68 65 6d 61 20 61 6e 64 20  by a schema and 
4f70: 69 74 20 63 61 6e 6e 6f 74 20 62 65 0d 0a 20 20  it cannot be..  
4f80: 20 20 20 20 2f 2f 2f 20 66 6f 75 6e 64 2e 0d 0a      /// found...
4f90: 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d        /// </summ
4fa0: 61 72 79 3e 0d 0a 20 20 20 20 20 20 45 72 72 6f  ary>..      Erro
4fb0: 72 5f 4d 69 73 73 69 6e 67 5f 43 6f 6c 6c 53 65  r_Missing_CollSe
4fc0: 71 20 3d 20 28 45 72 72 6f 72 20 7c 20 28 31 20  q = (Error | (1 
4fd0: 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f  << 8)),..      /
4fe0: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
4ff0: 20 20 20 20 2f 2f 2f 20 41 6e 20 69 6e 74 65 72      /// An inter
5000: 6e 61 6c 20 6f 70 65 72 61 74 69 6f 6e 20 66 61  nal operation fa
5010: 69 6c 65 64 20 61 6e 64 20 69 74 20 6d 61 79 20  iled and it may 
5020: 73 75 63 63 65 65 64 20 69 66 20 72 65 74 72 69  succeed if retri
5030: 65 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  ed...      /// <
5040: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  /summary>..     
5050: 20 45 72 72 6f 72 5f 52 65 74 72 79 20 3d 20 28   Error_Retry = (
5060: 45 72 72 6f 72 20 7c 20 28 32 20 3c 3c 20 38 29  Error | (2 << 8)
5070: 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73  ),..      /// <s
5080: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f  ummary>..      /
5090: 2f 2f 20 41 20 66 69 6c 65 20 72 65 61 64 20 6f  // A file read o
50a0: 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e  peration failed.
50b0: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75  ..      /// </su
50c0: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 49 6f  mmary>..      Io
50d0: 45 72 72 5f 52 65 61 64 20 3d 20 28 49 6f 45 72  Err_Read = (IoEr
50e0: 72 20 7c 20 28 31 20 3c 3c 20 38 29 29 2c 0d 0a  r | (1 << 8)),..
50f0: 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61        /// <summa
5100: 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41  ry>..      /// A
5110: 20 66 69 6c 65 20 72 65 61 64 20 6f 70 65 72 61   file read opera
5120: 74 69 6f 6e 20 72 65 74 75 72 6e 65 64 20 6c 65  tion returned le
5130: 73 73 20 64 61 74 61 20 74 68 61 6e 20 72 65 71  ss data than req
5140: 75 65 73 74 65 64 2e 0d 0a 20 20 20 20 20 20 2f  uested...      /
5150: 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20  // </summary>.. 
5160: 20 20 20 20 20 49 6f 45 72 72 5f 53 68 6f 72 74       IoErr_Short
5170: 5f 52 65 61 64 20 3d 20 28 49 6f 45 72 72 20 7c  _Read = (IoErr |
5180: 20 28 32 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20   (2 << 8)),..   
5190: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
51a0: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 66 69  ..      /// A fi
51b0: 6c 65 20 77 72 69 74 65 20 6f 70 65 72 61 74 69  le write operati
51c0: 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20 20  on failed...    
51d0: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
51e0: 0d 0a 20 20 20 20 20 20 49 6f 45 72 72 5f 57 72  ..      IoErr_Wr
51f0: 69 74 65 20 3d 20 28 49 6f 45 72 72 20 7c 20 28  ite = (IoErr | (
5200: 33 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20  3 << 8)),..     
5210: 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a   /// <summary>..
5220: 20 20 20 20 20 20 2f 2f 2f 20 41 20 66 69 6c 65        /// A file
5230: 20 73 79 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e   synchronization
5240: 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65   operation faile
5250: 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f  d...      /// </
5260: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
5270: 49 6f 45 72 72 5f 46 73 79 6e 63 20 3d 20 28 49  IoErr_Fsync = (I
5280: 6f 45 72 72 20 7c 20 28 34 20 3c 3c 20 38 29 29  oErr | (4 << 8))
5290: 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75  ,..      /// <su
52a0: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f  mmary>..      //
52b0: 2f 20 41 20 64 69 72 65 63 74 6f 72 79 20 73 79  / A directory sy
52c0: 6e 63 68 72 6f 6e 69 7a 61 74 69 6f 6e 20 6f 70  nchronization op
52d0: 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e 0d  eration failed..
52e0: 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  .      /// </sum
52f0: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 49 6f 45  mary>..      IoE
5300: 72 72 5f 44 69 72 5f 46 73 79 6e 63 20 3d 20 28  rr_Dir_Fsync = (
5310: 49 6f 45 72 72 20 7c 20 28 35 20 3c 3c 20 38 29  IoErr | (5 << 8)
5320: 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73  ),..      /// <s
5330: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f  ummary>..      /
5340: 2f 2f 20 41 20 66 69 6c 65 20 74 72 75 6e 63 61  // A file trunca
5350: 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69  te operation fai
5360: 6c 65 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  led...      /// 
5370: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20  </summary>..    
5380: 20 20 49 6f 45 72 72 5f 54 72 75 6e 63 61 74 65    IoErr_Truncate
5390: 20 3d 20 28 49 6f 45 72 72 20 7c 20 28 36 20 3c   = (IoErr | (6 <
53a0: 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f  < 8)),..      //
53b0: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20  / <summary>..   
53c0: 20 20 20 2f 2f 2f 20 41 20 66 69 6c 65 20 6d 65     /// A file me
53d0: 74 61 64 61 74 61 20 6f 70 65 72 61 74 69 6f 6e  tadata operation
53e0: 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20 20 20 20   failed...      
53f0: 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a  /// </summary>..
5400: 20 20 20 20 20 20 49 6f 45 72 72 5f 46 73 74 61        IoErr_Fsta
5410: 74 20 3d 20 28 49 6f 45 72 72 20 7c 20 28 37 20  t = (IoErr | (7 
5420: 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f  << 8)),..      /
5430: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
5440: 20 20 20 20 2f 2f 2f 20 41 20 66 69 6c 65 20 75      /// A file u
5450: 6e 6c 6f 63 6b 20 6f 70 65 72 61 74 69 6f 6e 20  nlock operation 
5460: 66 61 69 6c 65 64 2e 0d 0a 20 20 20 20 20 20 2f  failed...      /
5470: 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20  // </summary>.. 
5480: 20 20 20 20 20 49 6f 45 72 72 5f 55 6e 6c 6f 63       IoErr_Unloc
5490: 6b 20 3d 20 28 49 6f 45 72 72 20 7c 20 28 38 20  k = (IoErr | (8 
54a0: 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f  << 8)),..      /
54b0: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
54c0: 20 20 20 20 2f 2f 2f 20 41 20 66 69 6c 65 20 6c      /// A file l
54d0: 6f 63 6b 20 6f 70 65 72 61 74 69 6f 6e 20 66 61  ock operation fa
54e0: 69 6c 65 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f  iled...      ///
54f0: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
5500: 20 20 20 49 6f 45 72 72 5f 52 64 4c 6f 63 6b 20     IoErr_RdLock 
5510: 3d 20 28 49 6f 45 72 72 20 7c 20 28 39 20 3c 3c  = (IoErr | (9 <<
5520: 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f   8)),..      ///
5530: 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20   <summary>..    
5540: 20 20 2f 2f 2f 20 41 20 66 69 6c 65 20 64 65 6c    /// A file del
5550: 65 74 65 20 6f 70 65 72 61 74 69 6f 6e 20 66 61  ete operation fa
5560: 69 6c 65 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f  iled...      ///
5570: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
5580: 20 20 20 49 6f 45 72 72 5f 44 65 6c 65 74 65 20     IoErr_Delete 
5590: 3d 20 28 49 6f 45 72 72 20 7c 20 28 31 30 20 3c  = (IoErr | (10 <
55a0: 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f  < 8)),..      //
55b0: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20  / <summary>..   
55c0: 20 20 20 2f 2f 2f 20 4e 6f 74 20 63 75 72 72 65     /// Not curre
55d0: 6e 74 6c 79 20 75 73 65 64 2e 0d 0a 20 20 20 20  ntly used...    
55e0: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
55f0: 0d 0a 20 20 20 20 20 20 49 6f 45 72 72 5f 42 6c  ..      IoErr_Bl
5600: 6f 63 6b 65 64 20 3d 20 28 49 6f 45 72 72 20 7c  ocked = (IoErr |
5610: 20 28 31 31 20 3c 3c 20 38 29 29 2c 0d 0a 20 20   (11 << 8)),..  
5620: 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79      /// <summary
5630: 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 4f 75 74  >..      /// Out
5640: 2d 6f 66 2d 6d 65 6d 6f 72 79 20 64 75 72 69 6e  -of-memory durin
5650: 67 20 61 20 66 69 6c 65 20 6f 70 65 72 61 74 69  g a file operati
5660: 6f 6e 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  on...      /// <
5670: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  /summary>..     
5680: 20 49 6f 45 72 72 5f 4e 6f 4d 65 6d 20 3d 20 28   IoErr_NoMem = (
5690: 49 6f 45 72 72 20 7c 20 28 31 32 20 3c 3c 20 38  IoErr | (12 << 8
56a0: 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  )),..      /// <
56b0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
56c0: 2f 2f 2f 20 41 20 66 69 6c 65 20 65 78 69 73 74  /// A file exist
56d0: 65 6e 63 65 2f 73 74 61 74 75 73 20 6f 70 65 72  ence/status oper
56e0: 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a 20  ation failed... 
56f0: 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61       /// </summa
5700: 72 79 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72 72  ry>..      IoErr
5710: 5f 41 63 63 65 73 73 20 3d 20 28 49 6f 45 72 72  _Access = (IoErr
5720: 20 7c 20 28 31 33 20 3c 3c 20 38 29 29 2c 0d 0a   | (13 << 8)),..
5730: 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61        /// <summa
5740: 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41  ry>..      /// A
5750: 20 63 68 65 63 6b 20 66 6f 72 20 61 20 72 65 73   check for a res
5760: 65 72 76 65 64 20 6c 6f 63 6b 20 66 61 69 6c 65  erved lock faile
5770: 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f  d...      /// </
5780: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
5790: 49 6f 45 72 72 5f 43 68 65 63 6b 52 65 73 65 72  IoErr_CheckReser
57a0: 76 65 64 4c 6f 63 6b 20 3d 20 28 49 6f 45 72 72  vedLock = (IoErr
57b0: 20 7c 20 28 31 34 20 3c 3c 20 38 29 29 2c 0d 0a   | (14 << 8)),..
57c0: 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61        /// <summa
57d0: 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41  ry>..      /// A
57e0: 20 66 69 6c 65 20 6c 6f 63 6b 20 6f 70 65 72 61   file lock opera
57f0: 74 69 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a 20 20  tion failed...  
5800: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
5810: 79 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72 72 5f  y>..      IoErr_
5820: 4c 6f 63 6b 20 3d 20 28 49 6f 45 72 72 20 7c 20  Lock = (IoErr | 
5830: 28 31 35 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20  (15 << 8)),..   
5840: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
5850: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 66 69  ..      /// A fi
5860: 6c 65 20 63 6c 6f 73 65 20 6f 70 65 72 61 74 69  le close operati
5870: 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20 20  on failed...    
5880: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
5890: 0d 0a 20 20 20 20 20 20 49 6f 45 72 72 5f 43 6c  ..      IoErr_Cl
58a0: 6f 73 65 20 3d 20 28 49 6f 45 72 72 20 7c 20 28  ose = (IoErr | (
58b0: 31 36 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20  16 << 8)),..    
58c0: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
58d0: 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 64 69 72  .      /// A dir
58e0: 65 63 74 6f 72 79 20 63 6c 6f 73 65 20 6f 70 65  ectory close ope
58f0: 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a  ration failed...
5900: 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d        /// </summ
5910: 61 72 79 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72  ary>..      IoEr
5920: 72 5f 44 69 72 5f 43 6c 6f 73 65 20 3d 20 28 49  r_Dir_Close = (I
5930: 6f 45 72 72 20 7c 20 28 31 37 20 3c 3c 20 38 29  oErr | (17 << 8)
5940: 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73  ),..      /// <s
5950: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f  ummary>..      /
5960: 2f 2f 20 41 20 73 68 61 72 65 64 20 6d 65 6d 6f  // A shared memo
5970: 72 79 20 6f 70 65 6e 20 6f 70 65 72 61 74 69 6f  ry open operatio
5980: 6e 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20 20 20  n failed...     
5990: 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d   /// </summary>.
59a0: 0a 20 20 20 20 20 20 49 6f 45 72 72 5f 53 68 6d  .      IoErr_Shm
59b0: 4f 70 65 6e 20 3d 20 28 49 6f 45 72 72 20 7c 20  Open = (IoErr | 
59c0: 28 31 38 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20  (18 << 8)),..   
59d0: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
59e0: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 73 68  ..      /// A sh
59f0: 61 72 65 64 20 6d 65 6d 6f 72 79 20 73 69 7a 65  ared memory size
5a00: 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65   operation faile
5a10: 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f  d...      /// </
5a20: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
5a30: 49 6f 45 72 72 5f 53 68 6d 53 69 7a 65 20 3d 20  IoErr_ShmSize = 
5a40: 28 49 6f 45 72 72 20 7c 20 28 31 39 20 3c 3c 20  (IoErr | (19 << 
5a50: 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  8)),..      /// 
5a60: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  <summary>..     
5a70: 20 2f 2f 2f 20 41 20 73 68 61 72 65 64 20 6d 65   /// A shared me
5a80: 6d 6f 72 79 20 6c 6f 63 6b 20 6f 70 65 72 61 74  mory lock operat
5a90: 69 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20  ion failed...   
5aa0: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
5ab0: 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72 72 5f 53  >..      IoErr_S
5ac0: 68 6d 4c 6f 63 6b 20 3d 20 28 49 6f 45 72 72 20  hmLock = (IoErr 
5ad0: 7c 20 28 32 30 20 3c 3c 20 38 29 29 2c 0d 0a 20  | (20 << 8)),.. 
5ae0: 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72       /// <summar
5af0: 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20  y>..      /// A 
5b00: 73 68 61 72 65 64 20 6d 65 6d 6f 72 79 20 6d 61  shared memory ma
5b10: 70 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c  p operation fail
5b20: 65 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  ed...      /// <
5b30: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  /summary>..     
5b40: 20 49 6f 45 72 72 5f 53 68 6d 4d 61 70 20 3d 20   IoErr_ShmMap = 
5b50: 28 49 6f 45 72 72 20 7c 20 28 32 31 20 3c 3c 20  (IoErr | (21 << 
5b60: 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  8)),..      /// 
5b70: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  <summary>..     
5b80: 20 2f 2f 2f 20 41 20 66 69 6c 65 20 73 65 65 6b   /// A file seek
5b90: 20 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65   operation faile
5ba0: 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f  d...      /// </
5bb0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
5bc0: 49 6f 45 72 72 5f 53 65 65 6b 20 3d 20 28 49 6f  IoErr_Seek = (Io
5bd0: 45 72 72 20 7c 20 28 32 32 20 3c 3c 20 38 29 29  Err | (22 << 8))
5be0: 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75  ,..      /// <su
5bf0: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f  mmary>..      //
5c00: 2f 20 41 20 66 69 6c 65 20 64 65 6c 65 74 65 20  / A file delete 
5c10: 6f 70 65 72 61 74 69 6f 6e 20 66 61 69 6c 65 64  operation failed
5c20: 20 62 65 63 61 75 73 65 20 69 74 20 64 6f 65 73   because it does
5c30: 20 6e 6f 74 20 65 78 69 73 74 2e 0d 0a 20 20 20   not exist...   
5c40: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
5c50: 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72 72 5f 44  >..      IoErr_D
5c60: 65 6c 65 74 65 5f 4e 6f 45 6e 74 20 3d 20 28 49  elete_NoEnt = (I
5c70: 6f 45 72 72 20 7c 20 28 32 33 20 3c 3c 20 38 29  oErr | (23 << 8)
5c80: 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73  ),..      /// <s
5c90: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f  ummary>..      /
5ca0: 2f 2f 20 41 20 66 69 6c 65 20 6d 65 6d 6f 72 79  // A file memory
5cb0: 20 6d 61 70 70 69 6e 67 20 6f 70 65 72 61 74 69   mapping operati
5cc0: 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20 20  on failed...    
5cd0: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
5ce0: 0d 0a 20 20 20 20 20 20 49 6f 45 72 72 5f 4d 6d  ..      IoErr_Mm
5cf0: 61 70 20 3d 20 28 49 6f 45 72 72 20 7c 20 28 32  ap = (IoErr | (2
5d00: 34 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20  4 << 8)),..     
5d10: 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a   /// <summary>..
5d20: 20 20 20 20 20 20 2f 2f 2f 20 54 68 65 20 74 65        /// The te
5d30: 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72  mporary director
5d40: 79 20 70 61 74 68 20 63 6f 75 6c 64 20 6e 6f 74  y path could not
5d50: 20 62 65 20 6f 62 74 61 69 6e 65 64 2e 0d 0a 20   be obtained... 
5d60: 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61       /// </summa
5d70: 72 79 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72 72  ry>..      IoErr
5d80: 5f 47 65 74 54 65 6d 70 50 61 74 68 20 3d 20 28  _GetTempPath = (
5d90: 49 6f 45 72 72 20 7c 20 28 32 35 20 3c 3c 20 38  IoErr | (25 << 8
5da0: 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  )),..      /// <
5db0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
5dc0: 2f 2f 2f 20 41 20 70 61 74 68 20 73 74 72 69 6e  /// A path strin
5dd0: 67 20 63 6f 6e 76 65 72 73 69 6f 6e 20 6f 70 65  g conversion ope
5de0: 72 61 74 69 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a  ration failed...
5df0: 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d        /// </summ
5e00: 61 72 79 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72  ary>..      IoEr
5e10: 72 5f 43 6f 6e 76 50 61 74 68 20 3d 20 28 49 6f  r_ConvPath = (Io
5e20: 45 72 72 20 7c 20 28 32 36 20 3c 3c 20 38 29 29  Err | (26 << 8))
5e30: 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75  ,..      /// <su
5e40: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f  mmary>..      //
5e50: 2f 20 52 65 73 65 72 76 65 64 2e 0d 0a 20 20 20  / Reserved...   
5e60: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
5e70: 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72 72 5f 56  >..      IoErr_V
5e80: 4e 6f 64 65 20 3d 20 28 49 6f 45 72 72 20 7c 20  Node = (IoErr | 
5e90: 28 32 37 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20  (27 << 8)),..   
5ea0: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
5eb0: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 6e 20 61  ..      /// An a
5ec0: 74 74 65 6d 70 74 20 74 6f 20 61 75 74 68 65 6e  ttempt to authen
5ed0: 74 69 63 61 74 65 20 66 61 69 6c 65 64 2e 0d 0a  ticate failed...
5ee0: 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d        /// </summ
5ef0: 61 72 79 3e 0d 0a 20 20 20 20 20 20 49 6f 45 72  ary>..      IoEr
5f00: 72 5f 41 75 74 68 20 3d 20 28 49 6f 45 72 72 20  r_Auth = (IoErr 
5f10: 7c 20 28 32 38 20 3c 3c 20 38 29 29 2c 0d 0a 20  | (28 << 8)),.. 
5f20: 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72       /// <summar
5f30: 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 6e  y>..      /// An
5f40: 20 61 74 74 65 6d 70 74 20 74 6f 20 62 65 67 69   attempt to begi
5f50: 6e 20 61 20 66 69 6c 65 20 73 79 73 74 65 6d 20  n a file system 
5f60: 74 72 61 6e 73 61 63 74 69 6f 6e 20 66 61 69 6c  transaction fail
5f70: 65 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  ed...      /// <
5f80: 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  /summary>..     
5f90: 20 49 6f 45 72 72 5f 42 65 67 69 6e 5f 41 74 6f   IoErr_Begin_Ato
5fa0: 6d 69 63 20 3d 20 28 49 6f 45 72 72 20 7c 20 28  mic = (IoErr | (
5fb0: 32 39 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20  29 << 8)),..    
5fc0: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
5fd0: 0a 20 20 20 20 20 20 2f 2f 2f 20 41 6e 20 61 74  .      /// An at
5fe0: 74 65 6d 70 74 20 74 6f 20 63 6f 6d 6d 69 74 20  tempt to commit 
5ff0: 61 20 66 69 6c 65 20 73 79 73 74 65 6d 20 74 72  a file system tr
6000: 61 6e 73 61 63 74 69 6f 6e 20 66 61 69 6c 65 64  ansaction failed
6010: 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73  ...      /// </s
6020: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 49  ummary>..      I
6030: 6f 45 72 72 5f 43 6f 6d 6d 69 74 5f 41 74 6f 6d  oErr_Commit_Atom
6040: 69 63 20 3d 20 28 49 6f 45 72 72 20 7c 20 28 33  ic = (IoErr | (3
6050: 30 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20  0 << 8)),..     
6060: 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a   /// <summary>..
6070: 20 20 20 20 20 20 2f 2f 2f 20 41 6e 20 61 74 74        /// An att
6080: 65 6d 70 74 20 74 6f 20 72 6f 6c 6c 62 61 63 6b  empt to rollback
6090: 20 61 20 66 69 6c 65 20 73 79 73 74 65 6d 20 74   a file system t
60a0: 72 61 6e 73 61 63 74 69 6f 6e 20 66 61 69 6c 65  ransaction faile
60b0: 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f  d...      /// </
60c0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
60d0: 49 6f 45 72 72 5f 52 6f 6c 6c 62 61 63 6b 5f 41  IoErr_Rollback_A
60e0: 74 6f 6d 69 63 20 3d 20 28 49 6f 45 72 72 20 7c  tomic = (IoErr |
60f0: 20 28 33 31 20 3c 3c 20 38 29 29 2c 0d 0a 20 20   (31 << 8)),..  
6100: 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79      /// <summary
6110: 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 64  >..      /// A d
6120: 61 74 61 62 61 73 65 20 74 61 62 6c 65 20 69 73  atabase table is
6130: 20 6c 6f 63 6b 65 64 20 69 6e 20 73 68 61 72 65   locked in share
6140: 64 2d 63 61 63 68 65 20 6d 6f 64 65 2e 0d 0a 20  d-cache mode... 
6150: 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61       /// </summa
6160: 72 79 3e 0d 0a 20 20 20 20 20 20 4c 6f 63 6b 65  ry>..      Locke
6170: 64 5f 53 68 61 72 65 64 43 61 63 68 65 20 3d 20  d_SharedCache = 
6180: 28 4c 6f 63 6b 65 64 20 7c 20 28 31 20 3c 3c 20  (Locked | (1 << 
6190: 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  8)),..      /// 
61a0: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  <summary>..     
61b0: 20 2f 2f 2f 20 41 20 76 69 72 74 75 61 6c 20 74   /// A virtual t
61c0: 61 62 6c 65 20 69 6e 20 74 68 65 20 64 61 74 61  able in the data
61d0: 62 61 73 65 20 69 73 20 6c 6f 63 6b 65 64 2e 0d  base is locked..
61e0: 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  .      /// </sum
61f0: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 4c 6f 63  mary>..      Loc
6200: 6b 65 64 5f 56 74 61 62 20 3d 20 28 4c 6f 63 6b  ked_Vtab = (Lock
6210: 65 64 20 7c 20 28 32 20 3c 3c 20 38 29 29 2c 0d  ed | (2 << 8)),.
6220: 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d  .      /// <summ
6230: 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  ary>..      /// 
6240: 41 20 64 61 74 61 62 61 73 65 20 66 69 6c 65 20  A database file 
6250: 69 73 20 6c 6f 63 6b 65 64 20 64 75 65 20 74 6f  is locked due to
6260: 20 61 20 72 65 63 6f 76 65 72 79 20 6f 70 65 72   a recovery oper
6270: 61 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 2f 2f  ation...      //
6280: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  / </summary>..  
6290: 20 20 20 20 42 75 73 79 5f 52 65 63 6f 76 65 72      Busy_Recover
62a0: 79 20 3d 20 28 42 75 73 79 20 7c 20 28 31 20 3c  y = (Busy | (1 <
62b0: 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f  < 8)),..      //
62c0: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20  / <summary>..   
62d0: 20 20 20 2f 2f 2f 20 41 20 64 61 74 61 62 61 73     /// A databas
62e0: 65 20 66 69 6c 65 20 69 73 20 6c 6f 63 6b 65 64  e file is locked
62f0: 20 64 75 65 20 74 6f 20 73 6e 61 70 73 68 6f 74   due to snapshot
6300: 20 73 65 6d 61 6e 74 69 63 73 2e 0d 0a 20 20 20   semantics...   
6310: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
6320: 3e 0d 0a 20 20 20 20 20 20 42 75 73 79 5f 53 6e  >..      Busy_Sn
6330: 61 70 73 68 6f 74 20 3d 20 28 42 75 73 79 20 7c  apshot = (Busy |
6340: 20 28 32 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20   (2 << 8)),..   
6350: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
6360: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 64 61  ..      /// A da
6370: 74 61 62 61 73 65 20 66 69 6c 65 20 63 61 6e 6e  tabase file cann
6380: 6f 74 20 62 65 20 6f 70 65 6e 65 64 20 62 65 63  ot be opened bec
6390: 61 75 73 65 20 6e 6f 20 74 65 6d 70 6f 72 61 72  ause no temporar
63a0: 79 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 61  y directory is a
63b0: 76 61 69 6c 61 62 6c 65 2e 0d 0a 20 20 20 20 20  vailable...     
63c0: 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d   /// </summary>.
63d0: 0a 20 20 20 20 20 20 43 61 6e 74 4f 70 65 6e 5f  .      CantOpen_
63e0: 4e 6f 54 65 6d 70 44 69 72 20 3d 20 28 43 61 6e  NoTempDir = (Can
63f0: 74 4f 70 65 6e 20 7c 20 28 31 20 3c 3c 20 38 29  tOpen | (1 << 8)
6400: 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73  ),..      /// <s
6410: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f  ummary>..      /
6420: 2f 2f 20 41 20 64 61 74 61 62 61 73 65 20 66 69  // A database fi
6430: 6c 65 20 63 61 6e 6e 6f 74 20 62 65 20 6f 70 65  le cannot be ope
6440: 6e 65 64 20 62 65 63 61 75 73 65 20 69 74 73 20  ned because its 
6450: 70 61 74 68 20 72 65 70 72 65 73 65 6e 74 73 20  path represents 
6460: 61 20 64 69 72 65 63 74 6f 72 79 2e 0d 0a 20 20  a directory...  
6470: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
6480: 79 3e 0d 0a 20 20 20 20 20 20 43 61 6e 74 4f 70  y>..      CantOp
6490: 65 6e 5f 49 73 44 69 72 20 3d 20 28 43 61 6e 74  en_IsDir = (Cant
64a0: 4f 70 65 6e 20 7c 20 28 32 20 3c 3c 20 38 29 29  Open | (2 << 8))
64b0: 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75  ,..      /// <su
64c0: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f  mmary>..      //
64d0: 2f 20 41 20 64 61 74 61 62 61 73 65 20 66 69 6c  / A database fil
64e0: 65 20 63 61 6e 6e 6f 74 20 62 65 20 6f 70 65 6e  e cannot be open
64f0: 65 64 20 62 65 63 61 75 73 65 20 69 74 73 20 66  ed because its f
6500: 75 6c 6c 20 70 61 74 68 20 63 6f 75 6c 64 20 6e  ull path could n
6510: 6f 74 20 62 65 20 6f 62 74 61 69 6e 65 64 2e 0d  ot be obtained..
6520: 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  .      /// </sum
6530: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 43 61 6e  mary>..      Can
6540: 74 4f 70 65 6e 5f 46 75 6c 6c 50 61 74 68 20 3d  tOpen_FullPath =
6550: 20 28 43 61 6e 74 4f 70 65 6e 20 7c 20 28 33 20   (CantOpen | (3 
6560: 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f  << 8)),..      /
6570: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
6580: 20 20 20 20 2f 2f 2f 20 41 20 64 61 74 61 62 61      /// A databa
6590: 73 65 20 66 69 6c 65 20 63 61 6e 6e 6f 74 20 62  se file cannot b
65a0: 65 20 6f 70 65 6e 65 64 20 62 65 63 61 75 73 65  e opened because
65b0: 20 61 20 70 61 74 68 20 73 74 72 69 6e 67 20 63   a path string c
65c0: 6f 6e 76 65 72 73 69 6f 6e 20 6f 70 65 72 61 74  onversion operat
65d0: 69 6f 6e 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20  ion failed...   
65e0: 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79     /// </summary
65f0: 3e 0d 0a 20 20 20 20 20 20 43 61 6e 74 4f 70 65  >..      CantOpe
6600: 6e 5f 43 6f 6e 76 50 61 74 68 20 3d 20 28 43 61  n_ConvPath = (Ca
6610: 6e 74 4f 70 65 6e 20 7c 20 28 34 20 3c 3c 20 38  ntOpen | (4 << 8
6620: 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  )),..      /// <
6630: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
6640: 2f 2f 2f 20 41 20 76 69 72 74 75 61 6c 20 74 61  /// A virtual ta
6650: 62 6c 65 20 69 73 20 6d 61 6c 66 6f 72 6d 65 64  ble is malformed
6660: 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73  ...      /// </s
6670: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 43  ummary>..      C
6680: 6f 72 72 75 70 74 5f 56 74 61 62 20 3d 20 28 43  orrupt_Vtab = (C
6690: 6f 72 72 75 70 74 20 7c 20 28 31 20 3c 3c 20 38  orrupt | (1 << 8
66a0: 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  )),..      /// <
66b0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
66c0: 2f 2f 2f 20 41 20 72 65 71 75 69 72 65 64 20 73  /// A required s
66d0: 65 71 75 65 6e 63 65 20 74 61 62 6c 65 20 69 73  equence table is
66e0: 20 6d 69 73 73 69 6e 67 20 6f 72 20 63 6f 72 72   missing or corr
66f0: 75 70 74 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  upt...      /// 
6700: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20  </summary>..    
6710: 20 20 43 6f 72 72 75 70 74 5f 53 65 71 75 65 6e    Corrupt_Sequen
6720: 63 65 20 3d 20 28 43 6f 72 72 75 70 74 20 7c 20  ce = (Corrupt | 
6730: 28 32 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20  (2 << 8)),..    
6740: 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d    /// <summary>.
6750: 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 64 61 74  .      /// A dat
6760: 61 62 61 73 65 20 66 69 6c 65 20 69 73 20 72 65  abase file is re
6770: 61 64 2d 6f 6e 6c 79 20 64 75 65 20 74 6f 20 61  ad-only due to a
6780: 20 72 65 63 6f 76 65 72 79 20 6f 70 65 72 61 74   recovery operat
6790: 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  ion...      /// 
67a0: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20  </summary>..    
67b0: 20 20 52 65 61 64 4f 6e 6c 79 5f 52 65 63 6f 76    ReadOnly_Recov
67c0: 65 72 79 20 3d 20 28 52 65 61 64 4f 6e 6c 79 20  ery = (ReadOnly 
67d0: 7c 20 28 31 20 3c 3c 20 38 29 29 2c 0d 0a 20 20  | (1 << 8)),..  
67e0: 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79      /// <summary
67f0: 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 64  >..      /// A d
6800: 61 74 61 62 61 73 65 20 66 69 6c 65 20 69 73 20  atabase file is 
6810: 72 65 61 64 2d 6f 6e 6c 79 20 62 65 63 61 75 73  read-only becaus
6820: 65 20 61 20 6c 6f 63 6b 20 63 6f 75 6c 64 20 6e  e a lock could n
6830: 6f 74 20 62 65 20 6f 62 74 61 69 6e 65 64 2e 0d  ot be obtained..
6840: 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  .      /// </sum
6850: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 52 65 61  mary>..      Rea
6860: 64 4f 6e 6c 79 5f 43 61 6e 74 4c 6f 63 6b 20 3d  dOnly_CantLock =
6870: 20 28 52 65 61 64 4f 6e 6c 79 20 7c 20 28 32 20   (ReadOnly | (2 
6880: 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f  << 8)),..      /
6890: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
68a0: 20 20 20 20 2f 2f 2f 20 41 20 64 61 74 61 62 61      /// A databa
68b0: 73 65 20 66 69 6c 65 20 69 73 20 72 65 61 64 2d  se file is read-
68c0: 6f 6e 6c 79 20 62 65 63 61 75 73 65 20 69 74 20  only because it 
68d0: 6e 65 65 64 73 20 72 6f 6c 6c 62 61 63 6b 20 70  needs rollback p
68e0: 72 6f 63 65 73 73 69 6e 67 2e 0d 0a 20 20 20 20  rocessing...    
68f0: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
6900: 0d 0a 20 20 20 20 20 20 52 65 61 64 4f 6e 6c 79  ..      ReadOnly
6910: 5f 52 6f 6c 6c 62 61 63 6b 20 3d 20 28 52 65 61  _Rollback = (Rea
6920: 64 4f 6e 6c 79 20 7c 20 28 33 20 3c 3c 20 38 29  dOnly | (3 << 8)
6930: 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73  ),..      /// <s
6940: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f  ummary>..      /
6950: 2f 2f 20 41 20 64 61 74 61 62 61 73 65 20 66 69  // A database fi
6960: 6c 65 20 69 73 20 72 65 61 64 2d 6f 6e 6c 79 20  le is read-only 
6970: 62 65 63 61 75 73 65 20 69 74 20 77 61 73 20 6d  because it was m
6980: 6f 76 65 64 20 77 68 69 6c 65 20 6f 70 65 6e 2e  oved while open.
6990: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75  ..      /// </su
69a0: 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 52 65  mmary>..      Re
69b0: 61 64 4f 6e 6c 79 5f 44 62 4d 6f 76 65 64 20 3d  adOnly_DbMoved =
69c0: 20 28 52 65 61 64 4f 6e 6c 79 20 7c 20 28 34 20   (ReadOnly | (4 
69d0: 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f  << 8)),..      /
69e0: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
69f0: 20 20 20 20 2f 2f 2f 20 54 68 65 20 73 68 61 72      /// The shar
6a00: 65 64 2d 6d 65 6d 6f 72 79 20 66 69 6c 65 20 69  ed-memory file i
6a10: 73 20 72 65 61 64 2d 6f 6e 6c 79 20 61 6e 64 20  s read-only and 
6a20: 69 74 20 73 68 6f 75 6c 64 20 62 65 20 72 65 61  it should be rea
6a30: 64 2d 77 72 69 74 65 2e 0d 0a 20 20 20 20 20 20  d-write...      
6a40: 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a  /// </summary>..
6a50: 20 20 20 20 20 20 52 65 61 64 4f 6e 6c 79 5f 43        ReadOnly_C
6a60: 61 6e 74 49 6e 69 74 20 3d 20 28 52 65 61 64 4f  antInit = (ReadO
6a70: 6e 6c 79 20 7c 20 28 35 20 3c 3c 20 38 29 29 2c  nly | (5 << 8)),
6a80: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ..      /// <sum
6a90: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f  mary>..      ///
6aa0: 20 55 6e 61 62 6c 65 20 74 6f 20 63 72 65 61 74   Unable to creat
6ab0: 65 20 6a 6f 75 72 6e 61 6c 20 66 69 6c 65 20 62  e journal file b
6ac0: 65 63 61 75 73 65 20 74 68 65 20 64 69 72 65 63  ecause the direc
6ad0: 74 6f 72 79 20 69 73 20 72 65 61 64 2d 6f 6e 6c  tory is read-onl
6ae0: 79 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f  y...      /// </
6af0: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
6b00: 52 65 61 64 4f 6e 6c 79 5f 44 69 72 65 63 74 6f  ReadOnly_Directo
6b10: 72 79 20 3d 20 28 52 65 61 64 4f 6e 6c 79 20 7c  ry = (ReadOnly |
6b20: 20 28 36 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20   (6 << 8)),..   
6b30: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
6b40: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 6e 20 6f  ..      /// An o
6b50: 70 65 72 61 74 69 6f 6e 20 69 73 20 62 65 69 6e  peration is bein
6b60: 67 20 61 62 6f 72 74 65 64 20 64 75 65 20 74 6f  g aborted due to
6b70: 20 72 6f 6c 6c 62 61 63 6b 20 70 72 6f 63 65 73   rollback proces
6b80: 73 69 6e 67 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f  sing...      ///
6b90: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
6ba0: 20 20 20 41 62 6f 72 74 5f 52 6f 6c 6c 62 61 63     Abort_Rollbac
6bb0: 6b 20 3d 20 28 41 62 6f 72 74 20 7c 20 28 32 20  k = (Abort | (2 
6bc0: 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f  << 8)),..      /
6bd0: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
6be0: 20 20 20 20 2f 2f 2f 20 41 20 43 48 45 43 4b 20      /// A CHECK 
6bf0: 63 6f 6e 73 74 72 61 69 6e 74 20 66 61 69 6c 65  constraint faile
6c00: 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f  d...      /// </
6c10: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
6c20: 43 6f 6e 73 74 72 61 69 6e 74 5f 43 68 65 63 6b  Constraint_Check
6c30: 20 3d 20 28 43 6f 6e 73 74 72 61 69 6e 74 20 7c   = (Constraint |
6c40: 20 28 31 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20   (1 << 8)),..   
6c50: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
6c60: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 63 6f  ..      /// A co
6c70: 6d 6d 69 74 20 68 6f 6f 6b 20 70 72 6f 64 75 63  mmit hook produc
6c80: 65 64 20 61 20 75 6e 73 75 63 63 65 73 73 66 75  ed a unsuccessfu
6c90: 6c 20 72 65 74 75 72 6e 20 63 6f 64 65 2e 0d 0a  l return code...
6ca0: 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d        /// </summ
6cb0: 61 72 79 3e 0d 0a 20 20 20 20 20 20 43 6f 6e 73  ary>..      Cons
6cc0: 74 72 61 69 6e 74 5f 43 6f 6d 6d 69 74 48 6f 6f  traint_CommitHoo
6cd0: 6b 20 3d 20 28 43 6f 6e 73 74 72 61 69 6e 74 20  k = (Constraint 
6ce0: 7c 20 28 32 20 3c 3c 20 38 29 29 2c 0d 0a 20 20  | (2 << 8)),..  
6cf0: 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79      /// <summary
6d00: 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 46  >..      /// A F
6d10: 4f 52 45 49 47 4e 20 4b 45 59 20 63 6f 6e 73 74  OREIGN KEY const
6d20: 72 61 69 6e 74 20 66 61 69 6c 65 64 2e 0d 0a 20  raint failed... 
6d30: 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61       /// </summa
6d40: 72 79 3e 0d 0a 20 20 20 20 20 20 43 6f 6e 73 74  ry>..      Const
6d50: 72 61 69 6e 74 5f 46 6f 72 65 69 67 6e 4b 65 79  raint_ForeignKey
6d60: 20 3d 20 28 43 6f 6e 73 74 72 61 69 6e 74 20 7c   = (Constraint |
6d70: 20 28 33 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20   (3 << 8)),..   
6d80: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
6d90: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 4e 6f 74 20  ..      /// Not 
6da0: 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 2e 0d  currently used..
6db0: 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d  .      /// </sum
6dc0: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 43 6f 6e  mary>..      Con
6dd0: 73 74 72 61 69 6e 74 5f 46 75 6e 63 74 69 6f 6e  straint_Function
6de0: 20 3d 20 28 43 6f 6e 73 74 72 61 69 6e 74 20 7c   = (Constraint |
6df0: 20 28 34 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20   (4 << 8)),..   
6e00: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
6e10: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 41 20 4e 4f  ..      /// A NO
6e20: 54 20 4e 55 4c 4c 20 63 6f 6e 73 74 72 61 69 6e  T NULL constrain
6e30: 74 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20 20 20  t failed...     
6e40: 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d   /// </summary>.
6e50: 0a 20 20 20 20 20 20 43 6f 6e 73 74 72 61 69 6e  .      Constrain
6e60: 74 5f 4e 6f 74 4e 75 6c 6c 20 3d 20 28 43 6f 6e  t_NotNull = (Con
6e70: 73 74 72 61 69 6e 74 20 7c 20 28 35 20 3c 3c 20  straint | (5 << 
6e80: 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  8)),..      /// 
6e90: 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20  <summary>..     
6ea0: 20 2f 2f 2f 20 41 20 50 52 49 4d 41 52 59 20 4b   /// A PRIMARY K
6eb0: 45 59 20 63 6f 6e 73 74 72 61 69 6e 74 20 66 61  EY constraint fa
6ec0: 69 6c 65 64 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f  iled...      ///
6ed0: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
6ee0: 20 20 20 43 6f 6e 73 74 72 61 69 6e 74 5f 50 72     Constraint_Pr
6ef0: 69 6d 61 72 79 4b 65 79 20 3d 20 28 43 6f 6e 73  imaryKey = (Cons
6f00: 74 72 61 69 6e 74 20 7c 20 28 36 20 3c 3c 20 38  traint | (6 << 8
6f10: 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  )),..      /// <
6f20: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
6f30: 2f 2f 2f 20 54 68 65 20 52 41 49 53 45 20 66 75  /// The RAISE fu
6f40: 6e 63 74 69 6f 6e 20 77 61 73 20 75 73 65 64 20  nction was used 
6f50: 62 79 20 61 20 74 72 69 67 67 65 72 2d 70 72 6f  by a trigger-pro
6f60: 67 72 61 6d 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f  gram...      ///
6f70: 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20   </summary>..   
6f80: 20 20 20 43 6f 6e 73 74 72 61 69 6e 74 5f 54 72     Constraint_Tr
6f90: 69 67 67 65 72 20 3d 20 28 43 6f 6e 73 74 72 61  igger = (Constra
6fa0: 69 6e 74 20 7c 20 28 37 20 3c 3c 20 38 29 29 2c  int | (7 << 8)),
6fb0: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d  ..      /// <sum
6fc0: 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f  mary>..      ///
6fd0: 20 41 20 55 4e 49 51 55 45 20 63 6f 6e 73 74 72   A UNIQUE constr
6fe0: 61 69 6e 74 20 66 61 69 6c 65 64 2e 0d 0a 20 20  aint failed...  
6ff0: 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72      /// </summar
7000: 79 3e 0d 0a 20 20 20 20 20 20 43 6f 6e 73 74 72  y>..      Constr
7010: 61 69 6e 74 5f 55 6e 69 71 75 65 20 3d 20 28 43  aint_Unique = (C
7020: 6f 6e 73 74 72 61 69 6e 74 20 7c 20 28 38 20 3c  onstraint | (8 <
7030: 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f  < 8)),..      //
7040: 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20  / <summary>..   
7050: 20 20 20 2f 2f 2f 20 4e 6f 74 20 63 75 72 72 65     /// Not curre
7060: 6e 74 6c 79 20 75 73 65 64 2e 0d 0a 20 20 20 20  ntly used...    
7070: 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e    /// </summary>
7080: 0d 0a 20 20 20 20 20 20 43 6f 6e 73 74 72 61 69  ..      Constrai
7090: 6e 74 5f 56 74 61 62 20 3d 20 28 43 6f 6e 73 74  nt_Vtab = (Const
70a0: 72 61 69 6e 74 20 7c 20 28 39 20 3c 3c 20 38 29  raint | (9 << 8)
70b0: 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c 73  ),..      /// <s
70c0: 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 2f  ummary>..      /
70d0: 2f 2f 20 41 20 52 4f 57 49 44 20 63 6f 6e 73 74  // A ROWID const
70e0: 72 61 69 6e 74 20 66 61 69 6c 65 64 2e 0d 0a 20  raint failed... 
70f0: 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61       /// </summa
7100: 72 79 3e 0d 0a 20 20 20 20 20 20 43 6f 6e 73 74  ry>..      Const
7110: 72 61 69 6e 74 5f 52 6f 77 49 64 20 3d 20 28 43  raint_RowId = (C
7120: 6f 6e 73 74 72 61 69 6e 74 20 7c 20 28 31 30 20  onstraint | (10 
7130: 3c 3c 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f  << 8)),..      /
7140: 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  // <summary>..  
7150: 20 20 20 20 2f 2f 2f 20 46 72 61 6d 65 73 20 77      /// Frames w
7160: 65 72 65 20 72 65 63 6f 76 65 72 65 64 20 66 72  ere recovered fr
7170: 6f 6d 20 74 68 65 20 57 41 4c 20 6c 6f 67 20 66  om the WAL log f
7180: 69 6c 65 2e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20  ile...      /// 
7190: 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20  </summary>..    
71a0: 20 20 4e 6f 74 69 63 65 5f 52 65 63 6f 76 65 72    Notice_Recover
71b0: 5f 57 61 6c 20 3d 20 28 4e 6f 74 69 63 65 20 7c  _Wal = (Notice |
71c0: 20 28 31 20 3c 3c 20 38 29 29 2c 0d 0a 20 20 20   (1 << 8)),..   
71d0: 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e     /// <summary>
71e0: 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 50 61 67 65  ..      /// Page
71f0: 73 20 77 65 72 65 20 72 65 63 6f 76 65 72 65 64  s were recovered
7200: 20 66 72 6f 6d 20 74 68 65 20 6a 6f 75 72 6e 61   from the journa
7210: 6c 20 66 69 6c 65 2e 0d 0a 20 20 20 20 20 20 2f  l file...      /
7220: 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20  // </summary>.. 
7230: 20 20 20 20 20 4e 6f 74 69 63 65 5f 52 65 63 6f       Notice_Reco
7240: 76 65 72 5f 52 6f 6c 6c 62 61 63 6b 20 3d 20 28  ver_Rollback = (
7250: 4e 6f 74 69 63 65 20 7c 20 28 32 20 3c 3c 20 38  Notice | (2 << 8
7260: 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 3c  )),..      /// <
7270: 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20  summary>..      
7280: 2f 2f 2f 20 41 6e 20 61 75 74 6f 6d 61 74 69 63  /// An automatic
7290: 20 69 6e 64 65 78 20 77 61 73 20 63 72 65 61 74   index was creat
72a0: 65 64 20 74 6f 20 70 72 6f 63 65 73 73 20 61 20  ed to process a 
72b0: 71 75 65 72 79 2e 0d 0a 20 20 20 20 20 20 2f 2f  query...      //
72c0: 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20  / </summary>..  
72d0: 20 20 20 20 57 61 72 6e 69 6e 67 5f 41 75 74 6f      Warning_Auto
72e0: 49 6e 64 65 78 20 3d 20 28 57 61 72 6e 69 6e 67  Index = (Warning
72f0: 20 7c 20 28 31 20 3c 3c 20 38 29 29 2c 0d 0a 20   | (1 << 8)),.. 
7300: 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72       /// <summar
7310: 79 3e 0d 0a 20 20 20 20 20 20 2f 2f 2f 20 55 73  y>..      /// Us
7320: 65 72 20 61 75 74 68 65 6e 74 69 63 61 74 69 6f  er authenticatio
7330: 6e 20 66 61 69 6c 65 64 2e 0d 0a 20 20 20 20 20  n failed...     
7340: 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d   /// </summary>.
7350: 0a 20 20 20 20 20 20 41 75 74 68 5f 55 73 65 72  .      Auth_User
7360: 20 3d 20 28 41 75 74 68 20 7c 20 28 31 20 3c 3c   = (Auth | (1 <<
7370: 20 38 29 29 2c 0d 0a 20 20 20 20 20 20 2f 2f 2f   8)),..      ///
7380: 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20   <summary>..    
7390: 20 20 2f 2f 2f 20 53 75 63 63 65 73 73 2e 20 20    /// Success.  
73a0: 50 72 65 76 65 6e 74 73 20 74 68 65 20 65 78 74  Prevents the ext
73b0: 65 6e 73 69 6f 6e 20 66 72 6f 6d 20 75 6e 6c 6f  ension from unlo
73c0: 61 64 69 6e 67 20 75 6e 74 69 6c 20 74 68 65 20  ading until the 
73d0: 70 72 6f 63 65 73 73 0d 0a 20 20 20 20 20 20 2f  process..      /
73e0: 2f 2f 20 74 65 72 6d 69 6e 61 74 65 73 2e 0d 0a  // terminates...
73f0: 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d        /// </summ
7400: 61 72 79 3e 0d 0a 20 20 20 20 20 20 4f 6b 5f 4c  ary>..      Ok_L
7410: 6f 61 64 5f 50 65 72 6d 61 6e 65 6e 74 6c 79 20  oad_Permanently 
7420: 3d 20 28 4f 6b 20 7c 20 28 31 20 3c 3c 20 38 29  = (Ok | (1 << 8)
7430: 29 0d 0a 20 20 7d 0d 0a 7d 0d 0a                 )..  }..}..