public static BerkeleyDbError Create(BDbOffsetOf offsetOf, IntPtr penv, BerkeleyDbType dbType, BerkeleyDbFlags flags, out IntPtr pdb) { var error = (BerkeleyDbError)db_create(out pdb, penv, 0); if (error != 0) { return(error); } BDbMethods methods = CreateMethods(dbType, pdb, offsetOf); error = (BerkeleyDbError)methods.SetFlags(pdb, flags); if (error != 0 && pdb != IntPtr.Zero) { methods.Close(pdb, 0); pdb = IntPtr.Zero; } return(error); }