4812 lines
156 KiB
C
4812 lines
156 KiB
C
/*++ BUILD Version: 0000 Increment this if a change has global effects
|
|
|
|
Copyright (c) Microsoft Corporation. All rights reserved.
|
|
|
|
Module Name:
|
|
|
|
esent.h
|
|
|
|
Abstract:
|
|
|
|
This module defines the types and constants that are
|
|
exposed through the ESE API.
|
|
|
|
--*/
|
|
|
|
#if _MSC_VER > 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#if !defined(_JET_INCLUDED)
|
|
#define _JET_INCLUDED
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <specstrings.h>
|
|
|
|
|
|
// JET_VERSION is similar to WINVER. It allows the most recent header to be used
|
|
// against older targets. Supported versions are:
|
|
// 0x0500 - Windows 2000
|
|
// 0x0501 - Windows XP
|
|
// 0x0502 - Windows 2003
|
|
// 0x0600 - Windows Vista
|
|
|
|
#ifndef JET_VERSION
|
|
# ifdef WINVER
|
|
# define JET_VERSION WINVER
|
|
# else
|
|
// JET_VERSION has not been specified. Assume all functions are available.
|
|
# define JET_VERSION 0x0600
|
|
# endif
|
|
#endif
|
|
|
|
|
|
#if defined(_M_AMD64) || defined(_M_IA64)
|
|
#include <pshpack8.h>
|
|
#else
|
|
#include <pshpack4.h>
|
|
#endif
|
|
|
|
|
|
#pragma warning(push)
|
|
#pragma warning(disable: 4201) // nonstandard extension used : nameless struct/union
|
|
|
|
|
|
#define JET_API __stdcall
|
|
#define JET_NODSAPI __stdcall
|
|
|
|
#if defined(_WIN64)
|
|
typedef unsigned __int64 JET_API_PTR;
|
|
#elif !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
|
|
typedef __w64 unsigned long JET_API_PTR;
|
|
#else
|
|
typedef unsigned long JET_API_PTR;
|
|
#endif
|
|
|
|
|
|
typedef long JET_ERR;
|
|
|
|
typedef JET_API_PTR JET_HANDLE; /* backup file handle */
|
|
typedef JET_API_PTR JET_INSTANCE; /* Instance Identifier */
|
|
typedef JET_API_PTR JET_SESID; /* Session Identifier */
|
|
typedef JET_API_PTR JET_TABLEID; /* Table Identifier */
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
typedef JET_API_PTR JET_LS; /* Local Storage */
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
typedef unsigned long JET_COLUMNID; /* Column Identifier */
|
|
|
|
typedef struct tagJET_INDEXID
|
|
{
|
|
unsigned long cbStruct;
|
|
unsigned char rgbIndexId[sizeof(JET_API_PTR)+sizeof(unsigned long)+sizeof(unsigned long)];
|
|
} JET_INDEXID;
|
|
|
|
typedef unsigned long JET_DBID; /* Database Identifier */
|
|
typedef unsigned long JET_OBJTYP; /* Object Type */
|
|
typedef unsigned long JET_COLTYP; /* Column Type */
|
|
typedef unsigned long JET_GRBIT; /* Group of Bits */
|
|
|
|
typedef unsigned long JET_SNP; /* Status Notification Process */
|
|
typedef unsigned long JET_SNT; /* Status Notification Type */
|
|
typedef double JET_DATESERIAL; /* JET_coltypDateTime format */
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
typedef unsigned long JET_CBTYP; /* Callback Types */
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
typedef JET_ERR (JET_API *JET_PFNSTATUS)(
|
|
__in JET_SESID sesid,
|
|
__in JET_SNP snp,
|
|
__in JET_SNT snt,
|
|
__in_opt void * pv );
|
|
|
|
/* required to make RSTMAP RPC capable
|
|
/**/
|
|
#ifdef MIDL_PASS
|
|
#define xRPC_STRING [string]
|
|
#else
|
|
#define xRPC_STRING
|
|
#if !defined(_NATIVE_WCHAR_T_DEFINED)
|
|
typedef unsigned short WCHAR;
|
|
#else
|
|
typedef wchar_t WCHAR;
|
|
#endif
|
|
#endif
|
|
|
|
typedef __nullterminated char * JET_PSTR; /* ASCII string (char *) null terminated */
|
|
typedef __nullterminated const char * JET_PCSTR; /* const ASCII string (char *) null terminated */
|
|
typedef __nullterminated WCHAR * JET_PWSTR; /* Unicode string (char *) null terminated */
|
|
typedef __nullterminated const WCHAR * JET_PCWSTR; /* const Unicode string (char *) null terminated */
|
|
|
|
typedef struct
|
|
{
|
|
xRPC_STRING char *szDatabaseName;
|
|
xRPC_STRING char *szNewDatabaseName;
|
|
} JET_RSTMAP_A; /* restore map */
|
|
|
|
typedef struct
|
|
{
|
|
xRPC_STRING WCHAR *szDatabaseName;
|
|
xRPC_STRING WCHAR *szNewDatabaseName;
|
|
} JET_RSTMAP_W; /* restore map */
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_RSTMAP JET_RSTMAP_W
|
|
#else
|
|
#define JET_RSTMAP JET_RSTMAP_A
|
|
#endif
|
|
|
|
|
|
typedef struct tagCONVERT_A
|
|
{
|
|
char *szOldDll;
|
|
union
|
|
{
|
|
unsigned long fFlags;
|
|
struct
|
|
{
|
|
unsigned long fSchemaChangesOnly:1;
|
|
};
|
|
};
|
|
} JET_CONVERT_A;
|
|
|
|
typedef struct tagCONVERT_W
|
|
{
|
|
WCHAR *szOldDll;
|
|
union
|
|
{
|
|
unsigned long fFlags;
|
|
struct
|
|
{
|
|
unsigned long fSchemaChangesOnly:1;
|
|
};
|
|
};
|
|
} JET_CONVERT_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_CONVERT JET_CONVERT_W
|
|
#else
|
|
#define JET_CONVERT JET_CONVERT_A
|
|
#endif
|
|
|
|
|
|
// Online defragmentation options
|
|
#define JET_bitDefragmentBatchStart 0x00000001
|
|
#define JET_bitDefragmentBatchStop 0x00000002
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitDefragmentAvailSpaceTreesOnly 0x00000040 /* only defrag AvailExt trees */
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
/* Callback-function types */
|
|
|
|
#define JET_cbtypNull 0x00000000
|
|
#define JET_cbtypFinalize 0x00000001 /* a finalizable column has gone to zero */
|
|
#define JET_cbtypBeforeInsert 0x00000002 /* about to insert a record */
|
|
#define JET_cbtypAfterInsert 0x00000004 /* finished inserting a record */
|
|
#define JET_cbtypBeforeReplace 0x00000008 /* about to modify a record */
|
|
#define JET_cbtypAfterReplace 0x00000010 /* finished modifying a record */
|
|
#define JET_cbtypBeforeDelete 0x00000020 /* about to delete a record */
|
|
#define JET_cbtypAfterDelete 0x00000040 /* finished deleting the record */
|
|
#define JET_cbtypUserDefinedDefaultValue 0x00000080 /* calculating a user-defined default */
|
|
#define JET_cbtypOnlineDefragCompleted 0x00000100 /* a call to JetDefragment2 has completed */
|
|
#define JET_cbtypFreeCursorLS 0x00000200 /* the Local Storage associated with a cursor must be freed */
|
|
#define JET_cbtypFreeTableLS 0x00000400 /* the Local Storage associated with a table must be freed */
|
|
|
|
/* Callback-function prototype */
|
|
|
|
typedef JET_ERR (JET_API *JET_CALLBACK)(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_CBTYP cbtyp,
|
|
__inout_opt void * pvArg1,
|
|
__inout_opt void * pvArg2,
|
|
__in_opt void * pvContext,
|
|
__in JET_API_PTR ulUnused );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Status Notification Structures */
|
|
|
|
typedef struct /* Status Notification Progress */
|
|
{
|
|
unsigned long cbStruct; /* Size of this structure */
|
|
unsigned long cunitDone; /* Number of units of work completed */
|
|
unsigned long cunitTotal; /* Total number of units of work */
|
|
} JET_SNPROG;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
|
|
unsigned long cbFilesizeLow; // file's current size (low DWORD)
|
|
unsigned long cbFilesizeHigh; // file's current size (high DWORD)
|
|
|
|
unsigned long cbFreeSpaceRequiredLow; // estimate of free disk space required for in-place upgrade (low DWORD)
|
|
unsigned long cbFreeSpaceRequiredHigh;// estimate of free disk space required for in-place upgrade (high DWORD)
|
|
|
|
unsigned long csecToUpgrade; // estimate of time required, in seconds, for upgrade
|
|
|
|
union
|
|
{
|
|
unsigned long ulFlags;
|
|
struct
|
|
{
|
|
unsigned long fUpgradable:1;
|
|
unsigned long fAlreadyUpgraded:1;
|
|
};
|
|
};
|
|
} JET_DBINFOUPGRADE;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_OBJTYP objtyp;
|
|
JET_DATESERIAL dtCreate; // Deprecated.
|
|
JET_DATESERIAL dtUpdate; // Deprecated.
|
|
JET_GRBIT grbit;
|
|
unsigned long flags;
|
|
unsigned long cRecord;
|
|
unsigned long cPage;
|
|
} JET_OBJECTINFO;
|
|
|
|
/* The following flags appear in the grbit field above */
|
|
|
|
#define JET_bitTableInfoUpdatable 0x00000001
|
|
#define JET_bitTableInfoBookmark 0x00000002
|
|
#define JET_bitTableInfoRollback 0x00000004
|
|
|
|
/* The following flags occur in the flags field above */
|
|
|
|
#define JET_bitObjectSystem 0x80000000 // Internal use only
|
|
#define JET_bitObjectTableFixedDDL 0x40000000 // Table's DDL is fixed
|
|
#define JET_bitObjectTableTemplate 0x20000000 // Table's DDL is inheritable (implies FixedDDL)
|
|
#define JET_bitObjectTableDerived 0x10000000 // Table's DDL is inherited from a template table
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitObjectTableNoFixedVarColumnsInDerivedTables 0x04000000 // used in conjunction with JET_bitObjectTableTemplate
|
|
// to disallow fixed/var columns in derived tables (so that
|
|
// fixed/var columns may be added to the template in the future)
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_TABLEID tableid;
|
|
unsigned long cRecord;
|
|
JET_COLUMNID columnidcontainername;
|
|
JET_COLUMNID columnidobjectname;
|
|
JET_COLUMNID columnidobjtyp;
|
|
JET_COLUMNID columniddtCreate; // XXX -- to be deleted
|
|
JET_COLUMNID columniddtUpdate; // XXX -- to be deleted
|
|
JET_COLUMNID columnidgrbit;
|
|
JET_COLUMNID columnidflags;
|
|
JET_COLUMNID columnidcRecord; /* Level 2 info */
|
|
JET_COLUMNID columnidcPage; /* Level 2 info */
|
|
} JET_OBJECTLIST;
|
|
|
|
#define cObjectInfoCols 9
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_TABLEID tableid;
|
|
unsigned long cRecord;
|
|
JET_COLUMNID columnidPresentationOrder;
|
|
JET_COLUMNID columnidcolumnname;
|
|
JET_COLUMNID columnidcolumnid;
|
|
JET_COLUMNID columnidcoltyp;
|
|
JET_COLUMNID columnidCountry;
|
|
JET_COLUMNID columnidLangid;
|
|
JET_COLUMNID columnidCp;
|
|
JET_COLUMNID columnidCollate;
|
|
JET_COLUMNID columnidcbMax;
|
|
JET_COLUMNID columnidgrbit;
|
|
JET_COLUMNID columnidDefault;
|
|
JET_COLUMNID columnidBaseTableName;
|
|
JET_COLUMNID columnidBaseColumnName;
|
|
JET_COLUMNID columnidDefinitionName;
|
|
} JET_COLUMNLIST;
|
|
|
|
#define cColumnInfoCols 14
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_COLUMNID columnid;
|
|
JET_COLTYP coltyp;
|
|
unsigned short wCountry;
|
|
unsigned short langid;
|
|
unsigned short cp;
|
|
unsigned short wCollate; /* Must be 0 */
|
|
unsigned long cbMax;
|
|
JET_GRBIT grbit;
|
|
} JET_COLUMNDEF;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_COLUMNID columnid;
|
|
JET_COLTYP coltyp;
|
|
unsigned short wCountry;
|
|
unsigned short langid;
|
|
unsigned short cp;
|
|
unsigned short wFiller; /* Must be 0 */
|
|
unsigned long cbMax;
|
|
JET_GRBIT grbit;
|
|
char szBaseTableName[256];
|
|
char szBaseColumnName[256];
|
|
} JET_COLUMNBASE_A;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_COLUMNID columnid;
|
|
JET_COLTYP coltyp;
|
|
unsigned short wCountry;
|
|
unsigned short langid;
|
|
unsigned short cp;
|
|
unsigned short wFiller; /* Must be 0 */
|
|
unsigned long cbMax;
|
|
JET_GRBIT grbit;
|
|
WCHAR szBaseTableName[256];
|
|
WCHAR szBaseColumnName[256];
|
|
} JET_COLUMNBASE_W;
|
|
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_COLUMNBASE JET_COLUMNBASE_W
|
|
#else
|
|
#define JET_COLUMNBASE JET_COLUMNBASE_A
|
|
#endif
|
|
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_TABLEID tableid;
|
|
unsigned long cRecord;
|
|
JET_COLUMNID columnidindexname;
|
|
JET_COLUMNID columnidgrbitIndex;
|
|
JET_COLUMNID columnidcKey;
|
|
JET_COLUMNID columnidcEntry;
|
|
JET_COLUMNID columnidcPage;
|
|
JET_COLUMNID columnidcColumn;
|
|
JET_COLUMNID columnidiColumn;
|
|
JET_COLUMNID columnidcolumnid;
|
|
JET_COLUMNID columnidcoltyp;
|
|
JET_COLUMNID columnidCountry;
|
|
JET_COLUMNID columnidLangid;
|
|
JET_COLUMNID columnidCp;
|
|
JET_COLUMNID columnidCollate;
|
|
JET_COLUMNID columnidgrbitColumn;
|
|
JET_COLUMNID columnidcolumnname;
|
|
JET_COLUMNID columnidLCMapFlags;
|
|
} JET_INDEXLIST;
|
|
|
|
|
|
#define cIndexInfoCols 15
|
|
|
|
typedef struct tag_JET_COLUMNCREATE_A
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
char *szColumnName; // column name
|
|
JET_COLTYP coltyp; // column type
|
|
unsigned long cbMax; // the maximum length of this column (only relevant for binary and text columns)
|
|
JET_GRBIT grbit; // column options
|
|
void *pvDefault; // default value (NULL if none)
|
|
unsigned long cbDefault; // length of default value
|
|
unsigned long cp; // code page (for text columns only)
|
|
JET_COLUMNID columnid; // returned column id
|
|
JET_ERR err; // returned error code
|
|
} JET_COLUMNCREATE_A;
|
|
|
|
typedef struct tag_JET_COLUMNCREATE_W
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
WCHAR *szColumnName; // column name
|
|
JET_COLTYP coltyp; // column type
|
|
unsigned long cbMax; // the maximum length of this column (only relevant for binary and text columns)
|
|
JET_GRBIT grbit; // column options
|
|
void *pvDefault; // default value (NULL if none)
|
|
unsigned long cbDefault; // length of default value
|
|
unsigned long cp; // code page (for text columns only)
|
|
JET_COLUMNID columnid; // returned column id
|
|
JET_ERR err; // returned error code
|
|
} JET_COLUMNCREATE_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_COLUMNCREATE JET_COLUMNCREATE_W
|
|
#else
|
|
#define JET_COLUMNCREATE JET_COLUMNCREATE_A
|
|
#endif
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
// This is the information needed to create a column with a user-defined default. It should be passed in using
|
|
// the pvDefault and cbDefault in a JET_COLUMNCREATE structure
|
|
|
|
typedef struct tag_JET_USERDEFINEDDEFAULT_A
|
|
{
|
|
char * szCallback;
|
|
unsigned char * pbUserData;
|
|
unsigned long cbUserData;
|
|
char * szDependantColumns;
|
|
} JET_USERDEFINEDDEFAULT_A;
|
|
|
|
typedef struct tag_JET_USERDEFINEDDEFAULT_W
|
|
{
|
|
WCHAR * szCallback;
|
|
unsigned char * pbUserData;
|
|
unsigned long cbUserData;
|
|
WCHAR * szDependantColumns;
|
|
} JET_USERDEFINEDDEFAULT_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_USERDEFINEDDEFAULT JET_USERDEFINEDDEFAULT_W
|
|
#else
|
|
#define JET_USERDEFINEDDEFAULT JET_USERDEFINEDDEFAULT_A
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
typedef struct tagJET_CONDITIONALCOLUMN_A
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
char *szColumnName; // column that we are conditionally indexed on
|
|
JET_GRBIT grbit; // conditional column options
|
|
} JET_CONDITIONALCOLUMN_A;
|
|
|
|
typedef struct tagJET_CONDITIONALCOLUMN_W
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
WCHAR *szColumnName; // column that we are conditionally indexed on
|
|
JET_GRBIT grbit; // conditional column options
|
|
} JET_CONDITIONALCOLUMN_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_CONDITIONALCOLUMN JET_CONDITIONALCOLUMN_W
|
|
#else
|
|
#define JET_CONDITIONALCOLUMN JET_CONDITIONALCOLUMN_A
|
|
#endif
|
|
|
|
typedef struct tagJET_UNICODEINDEX
|
|
{
|
|
unsigned long lcid;
|
|
unsigned long dwMapFlags;
|
|
} JET_UNICODEINDEX;
|
|
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
typedef struct tagJET_TUPLELIMITS
|
|
{
|
|
unsigned long chLengthMin;
|
|
unsigned long chLengthMax;
|
|
unsigned long chToIndexMax;
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
unsigned long cchIncrement;
|
|
unsigned long ichStart;
|
|
#endif // JET_VERSION >= 0x0600
|
|
} JET_TUPLELIMITS;
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
|
|
typedef struct tagJET_INDEXCREATE_A
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
char *szIndexName; // index name
|
|
char *szKey; // index key definition
|
|
unsigned long cbKey; // size of key definition in szKey
|
|
JET_GRBIT grbit; // index options
|
|
unsigned long ulDensity; // index density
|
|
|
|
union
|
|
{
|
|
unsigned long lcid; // lcid for the index (if JET_bitIndexUnicode NOT specified)
|
|
JET_UNICODEINDEX *pidxunicode; // pointer to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified)
|
|
};
|
|
|
|
union
|
|
{
|
|
unsigned long cbVarSegMac; // maximum length of variable length columns in index key (if JET_bitIndexTupleLimits specified)
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
JET_TUPLELIMITS *ptuplelimits; // pointer to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified)
|
|
#endif // ! JET_VERSION >= 0x0502
|
|
};
|
|
|
|
JET_CONDITIONALCOLUMN_A *rgconditionalcolumn; // pointer to conditional column structure
|
|
unsigned long cConditionalColumn; // number of conditional columns
|
|
JET_ERR err; // returned error code
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
unsigned long cbKeyMost; // size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMost specified)
|
|
#endif // JET_VERSION >= 0x0600
|
|
} JET_INDEXCREATE_A;
|
|
|
|
typedef struct tagJET_INDEXCREATE_W
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
WCHAR *szIndexName; // index name
|
|
WCHAR *szKey; // index key definition
|
|
unsigned long cbKey; // size of key definition in szKey
|
|
JET_GRBIT grbit; // index options
|
|
unsigned long ulDensity; // index density
|
|
|
|
union
|
|
{
|
|
unsigned long lcid; // lcid for the index (if JET_bitIndexUnicode NOT specified)
|
|
JET_UNICODEINDEX *pidxunicode; // pointer to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified)
|
|
};
|
|
|
|
union
|
|
{
|
|
unsigned long cbVarSegMac; // maximum length of variable length columns in index key (if JET_bitIndexTupleLimits specified)
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
JET_TUPLELIMITS *ptuplelimits; // pointer to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified)
|
|
#endif // ! JET_VERSION >= 0x0502
|
|
};
|
|
|
|
JET_CONDITIONALCOLUMN_W *rgconditionalcolumn; // pointer to conditional column structure
|
|
unsigned long cConditionalColumn; // number of conditional columns
|
|
JET_ERR err; // returned error code
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
unsigned long cbKeyMost; // size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMost specified)
|
|
#endif // JET_VERSION >= 0x0600
|
|
} JET_INDEXCREATE_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_INDEXCREATE JET_INDEXCREATE_W
|
|
#else
|
|
#define JET_INDEXCREATE JET_INDEXCREATE_A
|
|
#endif
|
|
|
|
|
|
typedef struct tagJET_TABLECREATE_A
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
char *szTableName; // name of table to create.
|
|
char *szTemplateTableName; // name of table from which to inherit base DDL
|
|
unsigned long ulPages; // initial pages to allocate for table.
|
|
unsigned long ulDensity; // table density.
|
|
JET_COLUMNCREATE_A *rgcolumncreate; // array of column creation info
|
|
unsigned long cColumns; // number of columns to create
|
|
JET_INDEXCREATE_A *rgindexcreate; // array of index creation info
|
|
unsigned long cIndexes; // number of indexes to create
|
|
JET_GRBIT grbit;
|
|
JET_TABLEID tableid; // returned tableid.
|
|
unsigned long cCreated; // count of objects created (columns+table+indexes).
|
|
} JET_TABLECREATE_A;
|
|
|
|
typedef struct tagJET_TABLECREATE_W
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
WCHAR *szTableName; // name of table to create.
|
|
WCHAR *szTemplateTableName; // name of table from which to inherit base DDL
|
|
unsigned long ulPages; // initial pages to allocate for table.
|
|
unsigned long ulDensity; // table density.
|
|
JET_COLUMNCREATE_W *rgcolumncreate; // array of column creation info
|
|
unsigned long cColumns; // number of columns to create
|
|
JET_INDEXCREATE_W *rgindexcreate; // array of index creation info
|
|
unsigned long cIndexes; // number of indexes to create
|
|
JET_GRBIT grbit;
|
|
JET_TABLEID tableid; // returned tableid.
|
|
unsigned long cCreated; // count of objects created (columns+table+indexes).
|
|
} JET_TABLECREATE_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_TABLECREATE JET_TABLECREATE_W
|
|
#else
|
|
#define JET_TABLECREATE JET_TABLECREATE_A
|
|
#endif
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
typedef struct tagJET_TABLECREATE2_A
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
char *szTableName; // name of table to create.
|
|
char *szTemplateTableName; // name of table from which to inherit base DDL
|
|
unsigned long ulPages; // initial pages to allocate for table.
|
|
unsigned long ulDensity; // table density.
|
|
JET_COLUMNCREATE_A *rgcolumncreate; // array of column creation info
|
|
unsigned long cColumns; // number of columns to create
|
|
JET_INDEXCREATE_A *rgindexcreate; // array of index creation info
|
|
unsigned long cIndexes; // number of indexes to create
|
|
char *szCallback; // callback to use for this table
|
|
JET_CBTYP cbtyp; // when the callback should be called
|
|
JET_GRBIT grbit;
|
|
JET_TABLEID tableid; // returned tableid.
|
|
unsigned long cCreated; // count of objects created (columns+table+indexes+callbacks).
|
|
} JET_TABLECREATE2_A;
|
|
|
|
typedef struct tagJET_TABLECREATE2_W
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
WCHAR *szTableName; // name of table to create.
|
|
WCHAR *szTemplateTableName; // name of table from which to inherit base DDL
|
|
unsigned long ulPages; // initial pages to allocate for table.
|
|
unsigned long ulDensity; // table density.
|
|
JET_COLUMNCREATE_W *rgcolumncreate; // array of column creation info
|
|
unsigned long cColumns; // number of columns to create
|
|
JET_INDEXCREATE_W *rgindexcreate; // array of index creation info
|
|
unsigned long cIndexes; // number of indexes to create
|
|
WCHAR *szCallback; // callback to use for this table
|
|
JET_CBTYP cbtyp; // when the callback should be called
|
|
JET_GRBIT grbit;
|
|
JET_TABLEID tableid; // returned tableid.
|
|
unsigned long cCreated; // count of objects created (columns+table+indexes+callbacks).
|
|
} JET_TABLECREATE2_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_TABLECREATE2 JET_TABLECREATE2_W
|
|
#else
|
|
#define JET_TABLECREATE2 JET_TABLECREATE2_A
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
typedef struct tagJET_OPENTEMPORARYTABLE
|
|
{
|
|
unsigned long cbStruct; // size of this structure (for future expansion)
|
|
const JET_COLUMNDEF *prgcolumndef;
|
|
unsigned long ccolumn;
|
|
JET_UNICODEINDEX *pidxunicode;
|
|
JET_GRBIT grbit;
|
|
JET_COLUMNID *prgcolumnid;
|
|
unsigned long cbKeyMost;
|
|
unsigned long cbVarSegMac;
|
|
JET_TABLEID tableid;
|
|
} JET_OPENTEMPORARYTABLE;
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
unsigned long ibLongValue;
|
|
unsigned long itagSequence;
|
|
JET_COLUMNID columnidNextTagged;
|
|
} JET_RETINFO;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
unsigned long ibLongValue;
|
|
unsigned long itagSequence;
|
|
} JET_SETINFO;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
unsigned long centriesLT;
|
|
unsigned long centriesInRange;
|
|
unsigned long centriesTotal;
|
|
} JET_RECPOS;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_TABLEID tableid;
|
|
unsigned long cRecord;
|
|
JET_COLUMNID columnidBookmark;
|
|
} JET_RECORDLIST;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
JET_TABLEID tableid;
|
|
JET_GRBIT grbit;
|
|
} JET_INDEXRANGE;
|
|
|
|
|
|
|
|
#include <pshpack1.h>
|
|
#define JET_MAX_COMPUTERNAME_LENGTH 15
|
|
|
|
typedef struct {
|
|
char bSeconds; // 0 - 60
|
|
char bMinutes; // 0 - 60
|
|
char bHours; // 0 - 24
|
|
char bDay; // 1 - 31
|
|
char bMonth; // 0 - 11
|
|
char bYear; // current year - 1900
|
|
char bFiller1;
|
|
char bFiller2;
|
|
} JET_LOGTIME;
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
// the JET_BKLOGTIME is an extention of JET_LOGTIME to be used
|
|
// in the JET_BKINFO structure. They should have the same size for
|
|
// compatibility reasons
|
|
typedef struct {
|
|
char bSeconds; // 0 - 60
|
|
char bMinutes; // 0 - 60
|
|
char bHours; // 0 - 24
|
|
char bDay; // 1 - 31
|
|
char bMonth; // 0 - 11
|
|
char bYear; // current year - 1900
|
|
char bFiller1;
|
|
|
|
union
|
|
{
|
|
char bFiller2;
|
|
struct
|
|
{
|
|
unsigned char fOSSnapshot:1;
|
|
unsigned char fReserved:7;
|
|
};
|
|
};
|
|
} JET_BKLOGTIME;
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
typedef struct
|
|
{
|
|
unsigned short ib; // must be the last so that lgpos can
|
|
unsigned short isec; // index of disksec starting logsec
|
|
long lGeneration; // generation of logsec
|
|
} JET_LGPOS; // be casted to TIME.
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long ulRandom; // a random number
|
|
JET_LOGTIME logtimeCreate; // time db created, in logtime format
|
|
char szComputerName[ JET_MAX_COMPUTERNAME_LENGTH + 1 ]; // where db is created
|
|
} JET_SIGNATURE;
|
|
|
|
typedef struct
|
|
{
|
|
JET_LGPOS lgposMark; // id for this backup
|
|
union
|
|
{
|
|
JET_LOGTIME logtimeMark;
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
JET_BKLOGTIME bklogtimeMark;
|
|
#endif // JET_VERSION >= 0x0600
|
|
};
|
|
unsigned long genLow;
|
|
unsigned long genHigh;
|
|
} JET_BKINFO;
|
|
|
|
#include <poppack.h>
|
|
|
|
typedef struct {
|
|
unsigned long ulVersion; // version of DAE the db created (see ulDAEVersion)
|
|
unsigned long ulUpdate; // used to track incremental database format updates that
|
|
// are backward-compatible (see ulDAEUpdate)
|
|
JET_SIGNATURE signDb; // (28 bytes) signature of the db (incl. creation time).
|
|
unsigned long dbstate; // consistent/inconsistent state
|
|
|
|
JET_LGPOS lgposConsistent; // null if in inconsistent state
|
|
JET_LOGTIME logtimeConsistent; // null if in inconsistent state
|
|
|
|
JET_LOGTIME logtimeAttach; // Last attach time.
|
|
JET_LGPOS lgposAttach;
|
|
|
|
JET_LOGTIME logtimeDetach; // Last detach time.
|
|
JET_LGPOS lgposDetach;
|
|
|
|
JET_SIGNATURE signLog; // (28 bytes) log signature for this attachments
|
|
|
|
JET_BKINFO bkinfoFullPrev; // Last successful full backup.
|
|
|
|
JET_BKINFO bkinfoIncPrev; // Last successful Incremental backup.
|
|
// Reset when bkinfoFullPrev is set
|
|
JET_BKINFO bkinfoFullCur; // current backup. Succeed if a
|
|
// corresponding pat file generated.
|
|
unsigned long fShadowingDisabled;
|
|
unsigned long fUpgradeDb;
|
|
|
|
// NT version information. This is needed to decide if an index need
|
|
// be recreated due to sort table changes.
|
|
|
|
unsigned long dwMajorVersion; /* OS version info */
|
|
unsigned long dwMinorVersion;
|
|
unsigned long dwBuildNumber;
|
|
long lSPNumber;
|
|
|
|
unsigned long cbPageSize; // database page size (0 = 4k pages)
|
|
|
|
} JET_DBINFOMISC;
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
// JET performance counters accumulated by thread
|
|
//
|
|
struct JET_THREADSTATS {
|
|
unsigned long cbStruct; // size of this struct
|
|
unsigned long cPageReferenced; // pages referenced
|
|
unsigned long cPageRead; // pages read from disk
|
|
unsigned long cPagePreread; // pages preread from disk
|
|
unsigned long cPageDirtied; // clean pages modified
|
|
unsigned long cPageRedirtied; // dirty pages modified
|
|
unsigned long cLogRecord; // log records generated
|
|
unsigned long cbLogRecord; // log record bytes generated
|
|
};
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
|
|
JET_RSTMAP_A * rgrstmap;
|
|
long crstmap;
|
|
|
|
JET_LGPOS lgposStop;
|
|
JET_LOGTIME logtimeStop;
|
|
|
|
JET_PFNSTATUS pfnStatus;
|
|
} JET_RSTINFO_A;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbStruct;
|
|
|
|
JET_RSTMAP_W * rgrstmap;
|
|
long crstmap;
|
|
|
|
JET_LGPOS lgposStop;
|
|
JET_LOGTIME logtimeStop;
|
|
|
|
JET_PFNSTATUS pfnStatus;
|
|
} JET_RSTINFO_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_RSTINFO JET_RSTINFO_W
|
|
#else
|
|
#define JET_RSTINFO JET_RSTINFO_A
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
|
|
/************************************************************************/
|
|
/************************* JET CONSTANTS ************************/
|
|
/************************************************************************/
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_instanceNil (~(JET_INSTANCE)0)
|
|
#endif // JET_VERSION >= 0x0501
|
|
#define JET_sesidNil (~(JET_SESID)0)
|
|
#define JET_tableidNil (~(JET_TABLEID)0)
|
|
#define JET_bitNil ((JET_GRBIT)0)
|
|
|
|
/* Max size of a bookmark */
|
|
|
|
#define JET_cbBookmarkMost 256
|
|
|
|
/* Max length of a object/column/index/property name */
|
|
|
|
#ifndef JET_UNICODE
|
|
#define JET_cbNameMost 64
|
|
#else
|
|
#define JET_cbNameMost 128
|
|
#endif
|
|
|
|
/* Max length of a "name.name.name..." construct */
|
|
|
|
#ifndef JET_UNICODE
|
|
#define JET_cbFullNameMost 255
|
|
#else
|
|
#define JET_cbFullNameMost 510
|
|
#endif
|
|
|
|
/* Max size of long-value (LongBinary or LongText) column chunk */
|
|
|
|
// #define JET_cbColumnLVChunkMost ( JET_cbPage - 82 ) to the following:
|
|
// Get cbPage from GetSystemParameter.
|
|
// changed JET_cbColumnLVChunkMost reference to cbPage - JET_cbColumnLVPageOverhead
|
|
|
|
#define JET_cbColumnLVPageOverhead 82
|
|
|
|
/* Max size of long-value (LongBinary or LongText) column default value */
|
|
|
|
#define JET_cbLVDefaultValueMost 255
|
|
|
|
/* Max size of non-long-value column data */
|
|
|
|
#define JET_cbColumnMost 255
|
|
|
|
/* Max size of a sort/index key */
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_cbKeyMost8KBytePage 2000
|
|
#define JET_cbKeyMost4KBytePage 1000
|
|
#define JET_cbKeyMost2KBytePage 500
|
|
#define JET_cbKeyMostMin 255
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
#define JET_cbKeyMost 255 // defunct constant retained for backward compatibility
|
|
#define JET_cbLimitKeyMost 256 // defunct constant retained for backward compatibility
|
|
#define JET_cbPrimaryKeyMost 255 // defunct constant retained for backward compatibility
|
|
#define JET_cbSecondaryKeyMost 255 // defunct constant retained for backward compatibility
|
|
|
|
|
|
/* Max number of components in a sort/index key */
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_ccolKeyMost 16
|
|
#else // !JET_VERSION >= 0x0600
|
|
#define JET_ccolKeyMost 12
|
|
#endif // !JET_VERSION >= 0x0600
|
|
|
|
// maximum number of columns
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_ccolMost 0x0000fee0
|
|
#else // !JET_VERSION >= 0x0501
|
|
#define JET_ccolMost 0x00007ffe
|
|
#endif // !JET_VERSION >= 0x0501
|
|
#define JET_ccolFixedMost 0x0000007f
|
|
#define JET_ccolVarMost 0x00000080
|
|
#define JET_ccolTaggedMost ( JET_ccolMost - 0x000000ff )
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
// event logging level (only on and off for now - will add more in the future)
|
|
#define JET_EventLoggingDisable 0
|
|
#define JET_EventLoggingLevelMax 100
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
// system paramters
|
|
//
|
|
// NOTE: the default values of these parameters used to be documented here.
|
|
// this can no longer be done because we now support multiple sets of default
|
|
// values as set by JET_paramConfiguration
|
|
//
|
|
// location parameters
|
|
//
|
|
#define JET_paramSystemPath 0 // path to check point file
|
|
#define JET_paramTempPath 1 // path to the temporary database
|
|
#define JET_paramLogFilePath 2 // path to the log file directory
|
|
#define JET_paramBaseName 3 // base name for all DBMS object names
|
|
#define JET_paramEventSource 4 // language independent process descriptor string
|
|
|
|
// performance parameters
|
|
//
|
|
#define JET_paramMaxSessions 5 // maximum number of sessions
|
|
#define JET_paramMaxOpenTables 6 // maximum number of open directories
|
|
// need 1 for each open table index,
|
|
// plus 1 for each open table with no indexes,
|
|
// plus 1 for each table with long column data,
|
|
// plus a few more.
|
|
// for 4.1, 1/3 for regular table, 2/3 for index
|
|
#define JET_paramPreferredMaxOpenTables 7 // preferred maximum number of open directories
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_paramCachedClosedTables 125 // number of closed tables to cache the meta-data for
|
|
#endif // JET_VERSION >= 0x0600
|
|
#define JET_paramMaxCursors 8 // maximum number of open cursors
|
|
#define JET_paramMaxVerPages 9 // maximum version store size in version pages
|
|
#define JET_paramPreferredVerPages 63 // preferred version store size in version pages
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_paramGlobalMinVerPages 81 // minimum version store size for all instances in version pages
|
|
#define JET_paramVersionStoreTaskQueueMax 105 // maximum number of tasks in the task queue before start dropping the tasks
|
|
#endif // JET_VERSION >= 0x0501
|
|
#define JET_paramMaxTemporaryTables 10 // maximum concurrent open temporary table/index creation
|
|
#define JET_paramLogFileSize 11 // log file size in kBytes
|
|
#define JET_paramLogBuffers 12 // log buffers in 512 byte units.
|
|
#define JET_paramWaitLogFlush 13 // log flush wait time in milliseconds
|
|
#define JET_paramLogCheckpointPeriod 14 // checkpoint period in sectors
|
|
#define JET_paramLogWaitingUserMax 15 // maximum sessions waiting log flush
|
|
#define JET_paramCommitDefault 16 // default grbit for JetCommitTransaction
|
|
#define JET_paramCircularLog 17 // boolean flag for circular logging
|
|
#define JET_paramDbExtensionSize 18 // database extension size in pages
|
|
#define JET_paramPageTempDBMin 19 // minimum size temporary database in pages
|
|
#define JET_paramPageFragment 20 // maximum disk extent considered fragment in pages
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_paramEnableFileCache 126 // enable the use of the OS file cache for all managed files
|
|
#define JET_paramVerPageSize 128 // the version store page size
|
|
#define JET_paramConfiguration 129 // RESETs all parameters to their default for a given configuration
|
|
#define JET_paramEnableAdvanced 130 // enables the modification of advanced settings
|
|
#define JET_paramMaxColtyp 131 // maximum coltyp supported by this version of ESE
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
// cache performance parameters
|
|
//
|
|
#define JET_paramBatchIOBufferMax 22 // maximum batch I/O buffers in pages
|
|
#define JET_paramCacheSize 41 // current cache size in pages
|
|
#define JET_paramCacheSizeMin 60 // minimum cache size in pages
|
|
#define JET_paramCacheSizeMax 23 // maximum cache size in pages
|
|
#define JET_paramCheckpointDepthMax 24 // maximum checkpoint depth in bytes
|
|
#define JET_paramLRUKCorrInterval 25 // time (usec) under which page accesses are correlated
|
|
#define JET_paramLRUKHistoryMax 26 // maximum LRUK history records
|
|
#define JET_paramLRUKPolicy 27 // K-ness of LRUK page eviction algorithm (1...2)
|
|
#define JET_paramLRUKTimeout 28 // time (sec) after which cached pages are always evictable
|
|
#define JET_paramLRUKTrxCorrInterval 29 // Not Used: time (usec) under which page accesses by the same transaction are correlated
|
|
#define JET_paramOutstandingIOMax 30 // maximum outstanding I/Os
|
|
#define JET_paramStartFlushThreshold 31 // evictable pages at which to start a flush (proportional to CacheSizeMax)
|
|
#define JET_paramStopFlushThreshold 32 // evictable pages at which to stop a flush (proportional to CacheSizeMax)
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_paramEnableViewCache 127 // enable the use of memory mapped file I/O for database files
|
|
#define JET_paramCheckpointIOMax 135 // maxiumum number of pending flush writes
|
|
#endif // JET_VERSION >= 0x0600
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
// Values for JET_paramIOPriority
|
|
#define JET_IOPriorityNormal 0 // default
|
|
#define JET_IOPriorityLow 1
|
|
#define JET_paramIOPriority 152 // adjust IO priority per instance, anytime. Mainly for background recovery
|
|
// Doesn't affect pending IOs, just subsequent ones
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
// debug only parameters
|
|
//
|
|
#define JET_paramRecovery 34 // enable recovery
|
|
#define JET_paramEnableOnlineDefrag 35 // enable online defrag
|
|
|
|
// Application specific parameter
|
|
//
|
|
#define JET_paramCheckFormatWhenOpenFail 44 // JetInit may return JET_errDatabaseXXXformat instead of database corrupt when it is set
|
|
#define JET_paramEnableTempTableVersioning 46 // Enable versioning of temp tables
|
|
#define JET_paramIgnoreLogVersion 47 // Do not check the log version
|
|
#define JET_paramDeleteOldLogs 48 // Delete the log files if the version is old, after deleting may make database non-recoverable
|
|
#define JET_paramEventSourceKey 49 // Event source registration key value
|
|
#define JET_paramNoInformationEvent 50 // Disable logging information event
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_paramEventLoggingLevel 51 // Set the type of information that goes to event log
|
|
#define JET_paramDeleteOutOfRangeLogs 52 // Delete the log files that are not matching (generation wise) during soft recovery
|
|
#define JET_paramAccessDeniedRetryPeriod 53 // Number of milliseconds to retry when about to fail with AccessDenied
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
// Index-checking parameters
|
|
//
|
|
// Different versions of windows normalize unicode text in different ways. That means indexes built under one version of Windows may
|
|
// not work on other versions. Windows Server 2003 Beta 3 introduced GetNLSVersion() which can be used to determine the version of unicode normalization
|
|
// that the OS currently provides. Indexes built in server 2003 are flagged with the version of unicode normalization that they were
|
|
// built with (older indexes have no version information). Most unicode normalization changes consist of adding new characters -- codepoints
|
|
// which were previously undefined are defined and normalize differently. Thus, if binary data is stored in a unicode column it will normalize
|
|
// differently as new codepoints are defined.
|
|
//
|
|
// As of Windows Server 2003 RC1 ESENT tracks unicode index entries that contain undefined codepoints. These can be used to fixup an index when the
|
|
// set of defined unicode characters changes.
|
|
//
|
|
// These parameters control what happens when ESENT attaches to a database that was last used under a different build of the OS (the OS version
|
|
// is stamped in the database header).
|
|
//
|
|
// If JET_paramEnableIndexChecking is TRUE JetAttachDatabase() will delete indexes if JET_bitDbDeleteCorruptIndexes or return an error if
|
|
// the grbit was not specified and there are indexes which need deletion. If it is set to FALSE then JetAttachDatabase() will succeed, even
|
|
// if there are potentially corrupt indexes.
|
|
//
|
|
// If JET_paramEnableIndexCleanup is set, the internal fixup table will be used to fixup index entries. This may not fixup all index corruptions
|
|
// but will be transparent to the application.
|
|
//
|
|
|
|
#define JET_paramEnableIndexChecking 45 // Enable checking OS version for indexes
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_paramEnableIndexCleanup 54 // Enable cleanup of out-of-date index entries
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
// 60 // JET_paramCacheSizeMin defined above
|
|
// 63 // JET_paramPreferredVerPages defined above
|
|
#define JET_paramDatabasePageSize 64 // set database page size
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_paramDisableCallbacks 65 // turn off callback resolution (for defrag/repair)
|
|
#endif // JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_paramDisablePerfmon 107 // disable perfmon support for this process
|
|
#endif // JET_VERSION >= 0x0600
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_paramEnablePersistedCallbacks 156 // allow the database engine to resolve and use callbacks persisted in a database
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
// Backup performance parameters
|
|
//
|
|
#define JET_paramBackupChunkSize 66 // backup read size in pages
|
|
#define JET_paramBackupOutstandingReads 67 // backup maximum reads outstanding
|
|
|
|
#define JET_paramSLVProviderEnable 68 // Enable SLV Provider
|
|
// begin_PubEsent
|
|
#define JET_paramLogFileCreateAsynch 69 // prepares next log file while logging to the current one to smooth response time
|
|
#endif // JET_VERSION >= 0x0501
|
|
#define JET_paramErrorToString 70 // turns a JET_err into a string (taken from the comment in jet.h)
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_paramZeroDatabaseDuringBackup 71 // Overwrite deleted records/LVs during backup
|
|
#endif // JET_VERSION >= 0x0501
|
|
#define JET_paramUnicodeIndexDefault 72 // default LCMapString() lcid and flags to use for CreateIndex() and unique multi-values check
|
|
// (pass JET_UNICODEINDEX structure for lParam)
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_paramRuntimeCallback 73 // pointer to runtime-only callback function
|
|
#endif // JET_VERSION >= 0x0501
|
|
#define JET_paramCleanupMismatchedLogFiles 77 // instead of erroring out after a successful recovery with JET_errLogFileSizeMismatchDatabasesConsistent, ESE will silently delete the old log files and checkpoint file and continue operations
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_paramRecordUpgradeDirtyLevel 78 // how aggresively should pages with their record format converted be flushed (0-3)
|
|
// 81 // JET_paramGlobalMinVerPages defined above
|
|
#define JET_paramOSSnapshotTimeout 82 // timeout for the freeze period in msec
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#define JET_paramExceptionAction 98 // what to do with exceptions generated within JET
|
|
#define JET_paramEventLogCache 99 // number of bytes of eventlog records to cache if service is not available
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_paramCreatePathIfNotExist 100 // create system/temp/log/log-failover paths if they do not exist
|
|
#define JET_paramPageHintCacheSize 101 // maximum size of the fast page latch hint cache in bytes
|
|
#define JET_paramOneDatabasePerSession 102 // allow just one open user database per session
|
|
#define JET_paramMaxInstances 104 // maximum number of instances per process
|
|
|
|
#define JET_paramIndexTuplesLengthMin 110 // for tuple indexes, minimum length of a tuple
|
|
#define JET_paramIndexTuplesLengthMax 111 // for tuple indexes, maximum length of a tuple
|
|
#define JET_paramIndexTuplesToIndexMax 112 // for tuple indexes, maximum number of characters in a given string to index
|
|
#endif // JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_paramAlternateDatabaseRecoveryPath 113 // recovery-only - search for dirty-shutdown databases in specified location only
|
|
#endif // JET_VERSION >= 0x0502
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_paramIndexTupleIncrement 132 // for tuple indexes, offset increment for each succesive tuple
|
|
#define JET_paramIndexTupleStart 133 // for tuple indexes, offset to start tuple indexing
|
|
#define JET_paramKeyMost 134 // read only maximum settable key length before key trunctation occurs
|
|
#define JET_paramLegacyFileNames 136 // Legacy file name characteristics to preserve ( JET_bitESE98FileNames | JET_bitEightDotThreeSoftCompat )
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
/* Flags for JET_paramLegacyFileNames */
|
|
|
|
#define JET_bitESE98FileNames 0x00000001 // Preserve the .log and .chk extension for compatibility reasons (i.e. Exchange)
|
|
#define JET_bitEightDotThreeSoftCompat 0x00000002 // Preserve the 8.3 naming syntax for as long as possible. (this should not be changed, w/o ensuring there are no log files)
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
/* Flags for JetInit2, JetInit3 */
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
// IGNORE_MISSING_ATTACH, ignoring hanging asserts for missing databases during recovery
|
|
#define JET_bitReplayIgnoreMissingDB 0x00000004 // ignore missing databases
|
|
#endif // JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_bitRecoveryWithoutUndo 0x00000008 // perform recovery, but halt at the Undo phase
|
|
#define JET_bitTruncateLogsAfterRecovery 0x00000010 // on successful soft recovery, truncate log files
|
|
#define JET_bitReplayMissingMapEntryDB 0x00000020 /* missing database map entry default to same location */
|
|
#define JET_bitLogStreamMustExist 0x00000040 // transaction logs must exist in the logfile directory (ie. cannot auto-start a new log stream)
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
/* Flags for JetTerm2 */
|
|
|
|
#define JET_bitTermComplete 0x00000001
|
|
#define JET_bitTermAbrupt 0x00000002
|
|
#define JET_bitTermStopBackup 0x00000004
|
|
|
|
/* Flags for JetIdle */
|
|
|
|
#define JET_bitIdleFlushBuffers 0x00000001
|
|
#define JET_bitIdleCompact 0x00000002
|
|
#define JET_bitIdleStatus 0x00000004
|
|
|
|
/* Flags for JetEndSession */
|
|
|
|
|
|
/* Flags for JetAttach/OpenDatabase */
|
|
|
|
#define JET_bitDbReadOnly 0x00000001
|
|
#define JET_bitDbExclusive 0x00000002 /* multiple opens allowed */
|
|
#define JET_bitDbDeleteCorruptIndexes 0x00000010 /* delete indexes possibly corrupted by NT version upgrade */
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_bitDbDeleteUnicodeIndexes 0x00000400 /* delete all indexes with unicode columns */
|
|
#endif // JET_VERSION >= 0x0502
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitDbUpgrade 0x00000200 /* */
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Flags for JetDetachDatabase2 */
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitForceDetach 0x00000001
|
|
#define JET_bitForceCloseAndDetach (0x00000002 | JET_bitForceDetach)
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Flags for JetCreateDatabase */
|
|
|
|
#define JET_bitDbRecoveryOff 0x00000008 /* disable logging/recovery for this database */
|
|
#define JET_bitDbShadowingOff 0x00000080 /* disable catalog shadowing */
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitDbOverwriteExisting 0x00000200 /* overwrite existing database with same name */
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Flags for JetBackup */
|
|
|
|
#define JET_bitBackupIncremental 0x00000001
|
|
#define JET_bitBackupAtomic 0x00000004
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitBackupSnapshot 0x00000010
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Database types */
|
|
|
|
#define JET_dbidNil ((JET_DBID) 0xFFFFFFFF)
|
|
|
|
|
|
/* Flags for JetCreateTableColumnIndex */
|
|
#define JET_bitTableCreateFixedDDL 0x00000001 /* DDL is fixed */
|
|
#define JET_bitTableCreateTemplateTable 0x00000002 /* DDL is inheritable (implies FixedDDL) */
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitTableCreateNoFixedVarColumnsInDerivedTables 0x00000004
|
|
// used in conjunction with JET_bitTableCreateTemplateTable
|
|
// to disallow fixed/var columns in derived tables (so that
|
|
// fixed/var columns may be added to the template in the future)
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
/* Flags for JetAddColumn, JetGetColumnInfo, JetOpenTempTable */
|
|
|
|
#define JET_bitColumnFixed 0x00000001
|
|
#define JET_bitColumnTagged 0x00000002
|
|
#define JET_bitColumnNotNULL 0x00000004
|
|
#define JET_bitColumnVersion 0x00000008
|
|
#define JET_bitColumnAutoincrement 0x00000010
|
|
#define JET_bitColumnUpdatable 0x00000020 /* JetGetColumnInfo only */
|
|
#define JET_bitColumnTTKey 0x00000040 /* JetOpenTempTable only */
|
|
#define JET_bitColumnTTDescending 0x00000080 /* JetOpenTempTable only */
|
|
#define JET_bitColumnMultiValued 0x00000400
|
|
#define JET_bitColumnEscrowUpdate 0x00000800 /* escrow updated */
|
|
#define JET_bitColumnUnversioned 0x00001000 /* for add column only - add column unversioned */
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitColumnMaybeNull 0x00002000 /* for retrieve column info of outer join where no match from the inner table */
|
|
#define JET_bitColumnFinalize 0x00004000 /* this is a finalizable column (issue callback if escrow value equals 0) */
|
|
#define JET_bitColumnUserDefinedDefault 0x00008000 /* default value from a user-provided callback */
|
|
#endif // JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_bitColumnDeleteOnZero 0x00020000 /* this is a finalizable column (delete record if escrow value equals 0) */
|
|
#endif // JET_VERSION >= 0x0502
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
// flags for JetDeleteColumn
|
|
#define JET_bitDeleteColumnIgnoreTemplateColumns 0x00000001 // for derived tables, don't bother looking in template columns
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
/* Flags for JetSetCurrentIndex */
|
|
|
|
#define JET_bitMoveFirst 0x00000000
|
|
#define JET_bitNoMove 0x00000002
|
|
|
|
/* Flags for JetMakeKey */
|
|
|
|
#define JET_bitNewKey 0x00000001
|
|
#define JET_bitStrLimit 0x00000002
|
|
#define JET_bitSubStrLimit 0x00000004
|
|
#define JET_bitNormalizedKey 0x00000008
|
|
#define JET_bitKeyDataZeroLength 0x00000010
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitFullColumnStartLimit 0x00000100
|
|
#define JET_bitFullColumnEndLimit 0x00000200
|
|
#define JET_bitPartialColumnStartLimit 0x00000400
|
|
#define JET_bitPartialColumnEndLimit 0x00000800
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Flags for JetSetIndexRange */
|
|
|
|
#define JET_bitRangeInclusive 0x00000001
|
|
#define JET_bitRangeUpperLimit 0x00000002
|
|
#define JET_bitRangeInstantDuration 0x00000004
|
|
#define JET_bitRangeRemove 0x00000008
|
|
|
|
/* Flags for JetGetLock */
|
|
|
|
#define JET_bitReadLock 0x00000001
|
|
#define JET_bitWriteLock 0x00000002
|
|
|
|
/* Constants for JetMove */
|
|
|
|
#define JET_MoveFirst (0x80000000)
|
|
#define JET_MovePrevious (-1)
|
|
#define JET_MoveNext (+1)
|
|
#define JET_MoveLast (0x7fffffff)
|
|
|
|
/* Flags for JetMove */
|
|
|
|
#define JET_bitMoveKeyNE 0x00000001
|
|
|
|
/* Flags for JetSeek */
|
|
|
|
#define JET_bitSeekEQ 0x00000001
|
|
#define JET_bitSeekLT 0x00000002
|
|
#define JET_bitSeekLE 0x00000004
|
|
#define JET_bitSeekGE 0x00000008
|
|
#define JET_bitSeekGT 0x00000010
|
|
#define JET_bitSetIndexRange 0x00000020
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_bitCheckUniqueness 0x00000040 // to be used with JET_bitSeekEQ only, returns JET_wrnUniqueKey if seek lands on a key which has no dupes
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
// Flags for JetGotoSecondaryIndexBookmark
|
|
#define JET_bitBookmarkPermitVirtualCurrency 0x00000001 // place cursor on relative position in index if specified bookmark no longer exists
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Flags for JET_CONDITIONALCOLUMN */
|
|
#define JET_bitIndexColumnMustBeNull 0x00000001
|
|
#define JET_bitIndexColumnMustBeNonNull 0x00000002
|
|
|
|
/* Flags for JET_INDEXRANGE */
|
|
#define JET_bitRecordInIndex 0x00000001
|
|
#define JET_bitRecordNotInIndex 0x00000002
|
|
|
|
/* Flags for JetCreateIndex */
|
|
|
|
#define JET_bitIndexUnique 0x00000001
|
|
#define JET_bitIndexPrimary 0x00000002
|
|
#define JET_bitIndexDisallowNull 0x00000004
|
|
#define JET_bitIndexIgnoreNull 0x00000008
|
|
#define JET_bitIndexIgnoreAnyNull 0x00000020
|
|
#define JET_bitIndexIgnoreFirstNull 0x00000040
|
|
#define JET_bitIndexLazyFlush 0x00000080
|
|
#define JET_bitIndexEmpty 0x00000100 // don't attempt to build index, because all entries would evaluate to NULL (MUST also specify JET_bitIgnoreAnyNull)
|
|
#define JET_bitIndexUnversioned 0x00000200
|
|
#define JET_bitIndexSortNullsHigh 0x00000400 // NULL sorts after data for all columns in the index
|
|
#define JET_bitIndexUnicode 0x00000800 // LCID field of JET_INDEXCREATE actually points to a JET_UNICODEINDEX struct to allow user-defined LCMapString() flags
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitIndexTuples 0x00001000 // index on substring tuples (text columns only)
|
|
#endif // JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_bitIndexTupleLimits 0x00002000 // cbVarSegMac field of JET_INDEXCREATE actually points to a JET_TUPLELIMITS struct to allow custom tuple index limits (implies JET_bitIndexTuples)
|
|
#endif // JET_VERSION >= 0x0502
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_bitIndexCrossProduct 0x00004000 // index over multiple multi-valued columns has full cross product
|
|
#define JET_bitIndexKeyMost 0x00008000 // custom index key size set instead of default of 255 bytes
|
|
#define JET_bitIndexDisallowTruncation 0x00010000 // fail update rather than truncate index keys
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
/* Flags for index key definition */
|
|
|
|
#define JET_bitKeyAscending 0x00000000
|
|
#define JET_bitKeyDescending 0x00000001
|
|
|
|
/* Flags for JetOpenTable */
|
|
|
|
#define JET_bitTableDenyWrite 0x00000001
|
|
#define JET_bitTableDenyRead 0x00000002
|
|
#define JET_bitTableReadOnly 0x00000004
|
|
#define JET_bitTableUpdatable 0x00000008
|
|
#define JET_bitTablePermitDDL 0x00000010 /* override table flagged as FixedDDL (must be used with DenyRead) */
|
|
#define JET_bitTableNoCache 0x00000020 /* don't cache the pages for this table */
|
|
#define JET_bitTablePreread 0x00000040 /* assume the table is probably not in the buffer cache */
|
|
#define JET_bitTableOpportuneRead 0x00000080 /* attempt to opportunely read physically adjacent leaf pages using larger physical IOs */
|
|
#define JET_bitTableSequential 0x00008000 /* assume the table will be scanned sequentially */
|
|
|
|
|
|
#define JET_bitTableClassMask 0x000F0000 /* table stats class mask */
|
|
#define JET_bitTableClassNone 0x00000000 /* table belongs to no stats class (default) */
|
|
#define JET_bitTableClass1 0x00010000 /* table belongs to stats class 1 */
|
|
#define JET_bitTableClass2 0x00020000 /* table belongs to stats class 2 */
|
|
#define JET_bitTableClass3 0x00030000 /* table belongs to stats class 3 */
|
|
#define JET_bitTableClass4 0x00040000 /* table belongs to stats class 4 */
|
|
#define JET_bitTableClass5 0x00050000 /* table belongs to stats class 5 */
|
|
#define JET_bitTableClass6 0x00060000 /* table belongs to stats class 6 */
|
|
#define JET_bitTableClass7 0x00070000 /* table belongs to stats class 7 */
|
|
#define JET_bitTableClass8 0x00080000 /* table belongs to stats class 8 */
|
|
#define JET_bitTableClass9 0x00090000 /* table belongs to stats class 9 */
|
|
#define JET_bitTableClass10 0x000A0000 /* table belongs to stats class 10 */
|
|
#define JET_bitTableClass11 0x000B0000 /* table belongs to stats class 11 */
|
|
#define JET_bitTableClass12 0x000C0000 /* table belongs to stats class 12 */
|
|
#define JET_bitTableClass13 0x000D0000 /* table belongs to stats class 13 */
|
|
#define JET_bitTableClass14 0x000E0000 /* table belongs to stats class 14 */
|
|
#define JET_bitTableClass15 0x000F0000 /* table belongs to stats class 15 */
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitLSReset 0x00000001 /* reset LS value */
|
|
#define JET_bitLSCursor 0x00000002 /* set/retrieve LS of table cursor */
|
|
#define JET_bitLSTable 0x00000004 /* set/retrieve LS of table */
|
|
|
|
#define JET_LSNil (~(JET_LS)0)
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Flags for JetOpenTempTable */
|
|
|
|
#define JET_bitTTIndexed 0x00000001 /* Allow seek */
|
|
#define JET_bitTTUnique 0x00000002 /* Remove duplicates */
|
|
#define JET_bitTTUpdatable 0x00000004 /* Allow updates */
|
|
#define JET_bitTTScrollable 0x00000008 /* Allow backwards scrolling */
|
|
#define JET_bitTTSortNullsHigh 0x00000010 /* NULL sorts after data for all columns in the index */
|
|
#define JET_bitTTForceMaterialization 0x00000020 /* Forces temp. table to be materialized into a btree (allows for duplicate detection) */
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitTTErrorOnDuplicateInsertion JET_bitTTForceMaterialization /* Error always returned when duplicate is inserted (instead of dupe being silently removed) */
|
|
#endif // JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_bitTTForwardOnly 0x00000040 /* Prevents temp. table from being materialized into a btree (and enables duplicate keys) */
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
/* Flags for JetSetColumn */
|
|
|
|
#define JET_bitSetAppendLV 0x00000001
|
|
#define JET_bitSetOverwriteLV 0x00000004 /* overwrite JET_coltypLong* byte range */
|
|
#define JET_bitSetSizeLV 0x00000008 /* set JET_coltypLong* size */
|
|
#define JET_bitSetZeroLength 0x00000020
|
|
#define JET_bitSetSeparateLV 0x00000040 /* force LV separation */
|
|
#define JET_bitSetUniqueMultiValues 0x00000080 /* prevent duplicate multi-values */
|
|
#define JET_bitSetUniqueNormalizedMultiValues 0x00000100 /* prevent duplicate multi-values, normalizing all data before performing comparisons */
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitSetRevertToDefaultValue 0x00000200 /* if setting last tagged instance to NULL, revert to default value instead if one exists */
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
/* Set column parameter structure for JetSetColumns */
|
|
|
|
typedef struct {
|
|
JET_COLUMNID columnid;
|
|
const void *pvData;
|
|
unsigned long cbData;
|
|
JET_GRBIT grbit;
|
|
unsigned long ibLongValue;
|
|
unsigned long itagSequence;
|
|
JET_ERR err;
|
|
} JET_SETCOLUMN;
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
typedef struct {
|
|
unsigned long paramid;
|
|
JET_API_PTR lParam;
|
|
const char *sz;
|
|
JET_ERR err;
|
|
} JET_SETSYSPARAM_A;
|
|
|
|
typedef struct {
|
|
unsigned long paramid;
|
|
JET_API_PTR lParam;
|
|
const WCHAR *sz;
|
|
JET_ERR err;
|
|
} JET_SETSYSPARAM_W;
|
|
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_SETSYSPARAM JET_SETSYSPARAM_W
|
|
#else
|
|
#define JET_SETSYSPARAM JET_SETSYSPARAM_A
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Options for JetPrepareUpdate */
|
|
|
|
#define JET_prepInsert 0
|
|
#define JET_prepReplace 2
|
|
#define JET_prepCancel 3
|
|
#define JET_prepReplaceNoLock 4
|
|
#define JET_prepInsertCopy 5
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_prepInsertCopyDeleteOriginal 7 // used for updating a record in the primary key; avoids the delete/insert process */
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
// Flags for JetUpdate
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_bitUpdateCheckESE97Compatibility 0x00000001 // check whether record fits if represented in ESE97 database format
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
/* Flags for JetEscrowUpdate */
|
|
#define JET_bitEscrowNoRollback 0x0001
|
|
|
|
/* Flags for JetRetrieveColumn */
|
|
|
|
#define JET_bitRetrieveCopy 0x00000001
|
|
#define JET_bitRetrieveFromIndex 0x00000002
|
|
#define JET_bitRetrieveFromPrimaryBookmark 0x00000004
|
|
#define JET_bitRetrieveTag 0x00000008
|
|
#define JET_bitRetrieveNull 0x00000010 /* for columnid 0 only */
|
|
#define JET_bitRetrieveIgnoreDefault 0x00000020 /* for columnid 0 only */
|
|
#define JET_bitRetrieveLongId 0x00000040
|
|
#define JET_bitRetrieveLongValueRefCount 0x00000080 /* for testing use only */
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_bitRetrieveTuple 0x00000800 /* retrieve tuple fragment from index */
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
/* Retrieve column parameter structure for JetRetrieveColumns */
|
|
|
|
typedef struct {
|
|
JET_COLUMNID columnid;
|
|
void *pvData;
|
|
unsigned long cbData;
|
|
unsigned long cbActual;
|
|
JET_GRBIT grbit;
|
|
unsigned long ibLongValue;
|
|
unsigned long itagSequence;
|
|
JET_COLUMNID columnidNextTagged;
|
|
JET_ERR err;
|
|
} JET_RETRIEVECOLUMN;
|
|
|
|
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
/* Flags for JetEnumerateColumns */
|
|
|
|
#define JET_bitEnumerateCopy JET_bitRetrieveCopy
|
|
#define JET_bitEnumerateIgnoreDefault JET_bitRetrieveIgnoreDefault
|
|
#define JET_bitEnumeratePresenceOnly 0x00020000
|
|
#define JET_bitEnumerateTaggedOnly 0x00040000
|
|
#define JET_bitEnumerateCompressOutput 0x00080000
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
// Available on Server 2003 SP1
|
|
#define JET_bitEnumerateIgnoreUserDefinedDefault 0x00100000
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
/* Parameter structures for JetEnumerateColumns */
|
|
|
|
typedef struct {
|
|
JET_COLUMNID columnid;
|
|
unsigned long ctagSequence;
|
|
unsigned long* rgtagSequence;
|
|
} JET_ENUMCOLUMNID;
|
|
|
|
typedef struct {
|
|
unsigned long itagSequence;
|
|
JET_ERR err;
|
|
unsigned long cbData;
|
|
void* pvData;
|
|
} JET_ENUMCOLUMNVALUE;
|
|
|
|
typedef struct {
|
|
JET_COLUMNID columnid;
|
|
JET_ERR err;
|
|
union {
|
|
struct { /* err != JET_wrnColumnSingleValue */
|
|
unsigned long cEnumColumnValue;
|
|
JET_ENUMCOLUMNVALUE* rgEnumColumnValue;
|
|
};
|
|
struct { /* err == JET_wrnColumnSingleValue */
|
|
unsigned long cbData;
|
|
void* pvData;
|
|
};
|
|
};
|
|
} JET_ENUMCOLUMN;
|
|
|
|
/* Realloc callback for JetEnumerateColumns */
|
|
|
|
typedef void* (JET_API *JET_PFNREALLOC)(
|
|
__in_opt void * pvContext,
|
|
__in_opt void * pv,
|
|
__in unsigned long cb );
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
/* Flags for JetGetRecordSize */
|
|
|
|
#define JET_bitRecordSizeInCopyBuffer 0x00000001 // use record in copy buffer
|
|
#define JET_bitRecordSizeRunningTotal 0x00000002 // increment totals in output buffer instead of setting them
|
|
#define JET_bitRecordSizeLocal 0x00000004 // ignore Long Values (and other data otherwise not in the same page as the record)
|
|
|
|
/* parameter structures for JetGetRecordSize */
|
|
|
|
typedef struct {
|
|
unsigned __int64 cbData; // user data in record
|
|
unsigned __int64 cbLongValueData; // user data associated with the record but stored in the long-value tree (NOTE: does NOT count intrinsic long-values)
|
|
unsigned __int64 cbOverhead; // record overhead
|
|
unsigned __int64 cbLongValueOverhead; // overhead of long-value data (NOTE: does not count intrinsic long-values)
|
|
unsigned __int64 cNonTaggedColumns; // total number of fixed/variable columns
|
|
unsigned __int64 cTaggedColumns; // total number of tagged columns
|
|
unsigned __int64 cLongValues; // total number of values stored in the long-value tree for this record (NOTE: does NOT count intrinsic long-values)
|
|
unsigned __int64 cMultiValues; // total number of values beyond the first for each column in the record
|
|
} JET_RECSIZE;
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
|
|
|
|
#pragma warning(pop) // nonstandard extension used : nameless struct/union
|
|
|
|
|
|
/* Flags for JetBeginTransaction2 */
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_bitTransactionReadOnly 0x00000001 /* transaction will not modify the database */
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
/* Flags for JetCommitTransaction */
|
|
|
|
#define JET_bitCommitLazyFlush 0x00000001 /* lazy flush log buffers. */
|
|
#define JET_bitWaitLastLevel0Commit 0x00000002 /* wait for last level 0 commit record flushed */
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
#define JET_bitWaitAllLevel0Commit 0x00000008 /* wait for all level 0 commits to be flushed */
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
/* Flags for JetRollback */
|
|
|
|
#define JET_bitRollbackAll 0x00000001
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
/* Flags for JetOSSnapshot APIs */
|
|
|
|
/* Flags for JetOSSnapshotPrepare */
|
|
#define JET_bitIncrementalSnapshot 0x00000001 /* bit 0: full (0) or incremental (1) snapshot */
|
|
#define JET_bitCopySnapshot 0x00000002 /* bit 1: normal (0) or copy (1) snapshot */
|
|
#define JET_bitContinueAfterThaw 0x00000004 /* bit 2: end on thaw (0) or wait for [truncate +] end snapshot */
|
|
|
|
/* Flags for JetOSSnapshotTruncateLog & JetOSSnapshotTruncateLogInstance */
|
|
#define JET_bitAllDatabasesSnapshot 0x00000001 /* bit 0: there are detached dbs in the instance (i.e. can't truncate logs) */
|
|
|
|
/* Flags for JetOSSnapshotEnd */
|
|
#define JET_bitAbortSnapshot 0x00000001 /* snapshot process failed */
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
|
|
/* Info parameter for JetGetDatabaseInfo */
|
|
|
|
#define JET_DbInfoFilename 0
|
|
#define JET_DbInfoConnect 1
|
|
#define JET_DbInfoCountry 2
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_DbInfoLCID 3
|
|
#endif // JET_VERSION >= 0x0501
|
|
#define JET_DbInfoLangid 3 // OBSOLETE: use JET_DbInfoLCID instead
|
|
#define JET_DbInfoCp 4
|
|
#define JET_DbInfoCollate 5
|
|
#define JET_DbInfoOptions 6
|
|
#define JET_DbInfoTransactions 7
|
|
#define JET_DbInfoVersion 8
|
|
#define JET_DbInfoIsam 9
|
|
#define JET_DbInfoFilesize 10
|
|
#define JET_DbInfoSpaceOwned 11
|
|
#define JET_DbInfoSpaceAvailable 12
|
|
#define JET_DbInfoUpgrade 13
|
|
#define JET_DbInfoMisc 14
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_DbInfoDBInUse 15
|
|
#define JET_DbInfoPageSize 17
|
|
#endif // JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_DbInfoFileType 19
|
|
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
/* Dbstates from JetGetDatabaseFileInfo */
|
|
|
|
#define JET_dbstateJustCreated 1
|
|
#define JET_dbstateDirtyShutdown 2
|
|
#define JET_dbstateCleanShutdown 3
|
|
#define JET_dbstateBeingConverted 4
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_dbstateForceDetach 5
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
// supported file types (returned from JetGetDatabaseFileInfo with JET_DbInfoFileType)
|
|
|
|
#define JET_filetypeUnknown 0
|
|
#define JET_filetypeDatabase 1
|
|
#define JET_filetypeLog 3
|
|
#define JET_filetypeCheckpoint 4
|
|
#define JET_filetypeTempDatabase 5
|
|
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
/* Column data types */
|
|
|
|
#define JET_coltypNil 0
|
|
#define JET_coltypBit 1 /* True, False, or NULL */
|
|
#define JET_coltypUnsignedByte 2 /* 1-byte integer, unsigned */
|
|
#define JET_coltypShort 3 /* 2-byte integer, signed */
|
|
#define JET_coltypLong 4 /* 4-byte integer, signed */
|
|
#define JET_coltypCurrency 5 /* 8 byte integer, signed */
|
|
#define JET_coltypIEEESingle 6 /* 4-byte IEEE single precision */
|
|
#define JET_coltypIEEEDouble 7 /* 8-byte IEEE double precision */
|
|
#define JET_coltypDateTime 8 /* Integral date, fractional time */
|
|
#define JET_coltypBinary 9 /* Binary data, < 255 bytes */
|
|
#define JET_coltypText 10 /* ANSI text, case insensitive, < 255 bytes */
|
|
#define JET_coltypLongBinary 11 /* Binary data, long value */
|
|
#define JET_coltypLongText 12 /* ANSI text, long value */
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_coltypSLV 13 /* SLV's */
|
|
#define JET_coltypUnsignedLong 14 /* 4-byte unsigned integer */
|
|
#define JET_coltypLongLong 15 /* 8-byte signed integer */
|
|
#define JET_coltypGUID 16 /* 16-byte globally unique identifier */
|
|
#define JET_coltypUnsignedShort 17 /* 2-byte unsigned integer */
|
|
#define JET_coltypMax 18 /* the number of column types */
|
|
/* used for validity tests and */
|
|
/* array declarations. */
|
|
#elif ( JET_VERSION >= 0x0501 )
|
|
#define JET_coltypSLV 13 /* SLV's */
|
|
#define JET_coltypMax 14 /* the number of column types */
|
|
/* used for validity tests and */
|
|
/* array declarations. */
|
|
#else // !JET_VERSION >= 0x0501
|
|
#define JET_coltypMax 13 /* the number of column types */
|
|
/* used for validity tests and */
|
|
/* array declarations. */
|
|
#endif // !JET_VERSION >= 0x0501
|
|
|
|
/* Info levels for JetGetObjectInfo */
|
|
|
|
#define JET_ObjInfo 0U
|
|
#define JET_ObjInfoListNoStats 1U
|
|
#define JET_ObjInfoList 2U
|
|
#define JET_ObjInfoSysTabCursor 3U
|
|
#define JET_ObjInfoListACM 4U /* Blocked by JetGetObjectInfo */
|
|
#define JET_ObjInfoNoStats 5U
|
|
#define JET_ObjInfoSysTabReadOnly 6U
|
|
#define JET_ObjInfoRulesLoaded 7U
|
|
#define JET_ObjInfoMax 8U
|
|
|
|
/* Info levels for JetGetTableInfo */
|
|
|
|
#define JET_TblInfo 0U
|
|
#define JET_TblInfoName 1U
|
|
#define JET_TblInfoDbid 2U
|
|
#define JET_TblInfoMostMany 3U
|
|
#define JET_TblInfoRvt 4U
|
|
#define JET_TblInfoOLC 5U
|
|
#define JET_TblInfoResetOLC 6U
|
|
#define JET_TblInfoSpaceUsage 7U
|
|
#define JET_TblInfoDumpTable 8U
|
|
#define JET_TblInfoSpaceAlloc 9U
|
|
#define JET_TblInfoSpaceOwned 10U // OwnExt
|
|
#define JET_TblInfoSpaceAvailable 11U // AvailExt
|
|
#define JET_TblInfoTemplateTableName 12U
|
|
|
|
/* Info levels for JetGetIndexInfo and JetGetTableIndexInfo */
|
|
|
|
#define JET_IdxInfo 0U
|
|
#define JET_IdxInfoList 1U
|
|
#define JET_IdxInfoSysTabCursor 2U
|
|
#define JET_IdxInfoOLC 3U
|
|
#define JET_IdxInfoResetOLC 4U
|
|
#define JET_IdxInfoSpaceAlloc 5U
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_IdxInfoLCID 6U
|
|
#endif // JET_VERSION >= 0x0501
|
|
#define JET_IdxInfoLangid 6U // OBSOLETE: use JET_IdxInfoLCID instead
|
|
#define JET_IdxInfoCount 7U
|
|
#define JET_IdxInfoVarSegMac 8U
|
|
#define JET_IdxInfoIndexId 9U
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_IdxInfoKeyMost 10U
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
/* Info levels for JetGetColumnInfo and JetGetTableColumnInfo */
|
|
|
|
#define JET_ColInfo 0U
|
|
#define JET_ColInfoList 1U
|
|
#define JET_ColInfoSysTabCursor 3U
|
|
#define JET_ColInfoBase 4U
|
|
#define JET_ColInfoListCompact 5U // INTERNAL USE ONLY
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_ColInfoByColid 6U
|
|
#define JET_ColInfoListSortColumnid 7U // OBSOLETE: use grbit instead
|
|
#endif // JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_ColInfoBaseByColid 8U
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
// Grbits for JET_GetColumnInfo and JetGetTableColumnInfo (OR together with the info level)
|
|
#define JET_ColInfoGrbitNonDerivedColumnsOnly 0x80000000 // for lists, only return non-derived columns (if the table is derived from a template)
|
|
#define JET_ColInfoGrbitMinimalInfo 0x40000000 // for lists, only return the column name and columnid of each column
|
|
#define JET_ColInfoGrbitSortByColumnid 0x20000000 // for lists, sort returned column list by columnid (default is to sort list by column name)
|
|
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
/* Info levels for JetGetInstanceMiscInfo, which is very different than JetGetInstanceInfo, as that retrieves a list of all instances */
|
|
|
|
#define JET_InstanceMiscInfoLogSignature 0U
|
|
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
|
|
|
|
/* Engine Object Types */
|
|
|
|
#define JET_objtypNil 0
|
|
#define JET_objtypTable 1
|
|
|
|
/* Compact Options */
|
|
|
|
#define JET_bitCompactStats 0x00000020 /* Dump off-line compaction stats (only when progress meter also specified) */
|
|
#define JET_bitCompactRepair 0x00000040 /* Don't preread and ignore duplicate keys */
|
|
|
|
/* Status Notification Processes */
|
|
|
|
#define JET_snpRepair 2
|
|
#define JET_snpCompact 4
|
|
#define JET_snpRestore 8
|
|
#define JET_snpBackup 9
|
|
#define JET_snpUpgrade 10
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#define JET_snpScrub 11
|
|
#define JET_snpUpgradeRecordFormat 12
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
/* Status Notification Types */
|
|
|
|
#define JET_sntBegin 5 /* callback for beginning of operation */
|
|
#define JET_sntRequirements 7 /* callback for returning operation requirements */
|
|
#define JET_sntProgress 0 /* callback for progress */
|
|
#define JET_sntComplete 6 /* callback for completion of operation */
|
|
#define JET_sntFail 3 /* callback for failure during progress */
|
|
|
|
/* Exception action */
|
|
|
|
#define JET_ExceptionMsgBox 0x0001 /* Display message box on exception */
|
|
#define JET_ExceptionNone 0x0002 /* Do nothing on exceptions */
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
// Online defragmentation options
|
|
#define JET_OnlineDefragDisable 0x0000 // disable online defrag
|
|
#define JET_OnlineDefragAllOBSOLETE 0x0001 // enable online defrag for everything (must be 1 for backward compatibility)
|
|
#define JET_OnlineDefragDatabases 0x0002 // enable online defrag of databases
|
|
#define JET_OnlineDefragSpaceTrees 0x0004 // enable online defrag of space trees
|
|
#define JET_OnlineDefragAll 0xffff // enable online defrag for everything
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
|
|
|
|
/**********************************************************************/
|
|
/*********************** ERROR CODES **************************/
|
|
/**********************************************************************/
|
|
|
|
/* The Error codes are not versioned with WINVER. */
|
|
|
|
/* SUCCESS */
|
|
|
|
#define JET_errSuccess 0 /* Successful Operation */
|
|
|
|
/* ERRORS */
|
|
|
|
#define JET_wrnNyi -1 /* Function Not Yet Implemented */
|
|
|
|
/* SYSTEM errors
|
|
/**/
|
|
#define JET_errRfsFailure -100 /* Resource Failure Simulator failure */
|
|
#define JET_errRfsNotArmed -101 /* Resource Failure Simulator not initialized */
|
|
#define JET_errFileClose -102 /* Could not close file */
|
|
#define JET_errOutOfThreads -103 /* Could not start thread */
|
|
#define JET_errTooManyIO -105 /* System busy due to too many IOs */
|
|
#define JET_errTaskDropped -106 /* A requested async task could not be executed */
|
|
#define JET_errInternalError -107 /* Fatal internal error */
|
|
|
|
// BUFFER MANAGER errors
|
|
//
|
|
#define JET_errDatabaseBufferDependenciesCorrupted -255 /* Buffer dependencies improperly set. Recovery failure */
|
|
|
|
/* DIRECTORY MANAGER errors
|
|
/**/
|
|
#define JET_wrnRemainingVersions 321 /* The version store is still active */
|
|
#define JET_errPreviousVersion -322 /* Version already existed. Recovery failure */
|
|
#define JET_errPageBoundary -323 /* Reached Page Boundary */
|
|
#define JET_errKeyBoundary -324 /* Reached Key Boundary */
|
|
#define JET_errBadPageLink -327 /* Database corrupted */
|
|
#define JET_errBadBookmark -328 /* Bookmark has no corresponding address in database */
|
|
#define JET_errNTSystemCallFailed -334 // A call to the operating system failed
|
|
#define JET_errBadParentPageLink -338 // Database corrupted
|
|
#define JET_errSPAvailExtCacheOutOfSync -340 // AvailExt cache doesn't match btree
|
|
#define JET_errSPAvailExtCorrupted -341 // AvailExt space tree is corrupt
|
|
#define JET_errSPAvailExtCacheOutOfMemory -342 // Out of memory allocating an AvailExt cache node
|
|
#define JET_errSPOwnExtCorrupted -343 // OwnExt space tree is corrupt
|
|
#define JET_errDbTimeCorrupted -344 // Dbtime on current page is greater than global database dbtime
|
|
#define JET_wrnUniqueKey 345 // seek on non-unique index yielded a unique key
|
|
#define JET_errKeyTruncated -346 // key truncated on index that disallows key truncation
|
|
|
|
/* RECORD MANAGER errors
|
|
/**/
|
|
#define JET_wrnSeparateLongValue 406 /* Column is a separated long-value */
|
|
#define JET_wrnRecordFoundGreater JET_wrnSeekNotEqual
|
|
#define JET_wrnRecordFoundLess JET_wrnSeekNotEqual
|
|
#define JET_errColumnIllegalNull JET_errNullInvalid
|
|
#define JET_errKeyTooBig -408 /* Key is too large */
|
|
|
|
/* LOGGING/RECOVERY errors
|
|
/**/
|
|
#define JET_errInvalidLoggedOperation -500 /* Logged operation cannot be redone */
|
|
#define JET_errLogFileCorrupt -501 /* Log file is corrupt */
|
|
#define JET_errNoBackupDirectory -503 /* No backup directory given */
|
|
#define JET_errBackupDirectoryNotEmpty -504 /* The backup directory is not emtpy */
|
|
#define JET_errBackupInProgress -505 /* Backup is active already */
|
|
#define JET_errRestoreInProgress -506 /* Restore in progress */
|
|
#define JET_errMissingPreviousLogFile -509 /* Missing the log file for check point */
|
|
#define JET_errLogWriteFail -510 /* Failure writing to log file */
|
|
#define JET_errLogDisabledDueToRecoveryFailure -511 /* Try to log something after recovery faild */
|
|
#define JET_errCannotLogDuringRecoveryRedo -512 /* Try to log something during recovery redo */
|
|
#define JET_errLogGenerationMismatch -513 /* Name of logfile does not match internal generation number */
|
|
#define JET_errBadLogVersion -514 /* Version of log file is not compatible with Jet version */
|
|
#define JET_errInvalidLogSequence -515 /* Timestamp in next log does not match expected */
|
|
#define JET_errLoggingDisabled -516 /* Log is not active */
|
|
#define JET_errLogBufferTooSmall -517 /* Log buffer is too small for recovery */
|
|
#define JET_errLogSequenceEnd -519 /* Maximum log file number exceeded */
|
|
#define JET_errNoBackup -520 /* No backup in progress */
|
|
#define JET_errInvalidBackupSequence -521 /* Backup call out of sequence */
|
|
#define JET_errBackupNotAllowedYet -523 /* Cannot do backup now */
|
|
#define JET_errDeleteBackupFileFail -524 /* Could not delete backup file */
|
|
#define JET_errMakeBackupDirectoryFail -525 /* Could not make backup temp directory */
|
|
#define JET_errInvalidBackup -526 /* Cannot perform incremental backup when circular logging enabled */
|
|
#define JET_errRecoveredWithErrors -527 /* Restored with errors */
|
|
#define JET_errMissingLogFile -528 /* Current log file missing */
|
|
#define JET_errLogDiskFull -529 /* Log disk full */
|
|
#define JET_errBadLogSignature -530 /* Bad signature for a log file */
|
|
#define JET_errBadDbSignature -531 /* Bad signature for a db file */
|
|
#define JET_errBadCheckpointSignature -532 /* Bad signature for a checkpoint file */
|
|
#define JET_errCheckpointCorrupt -533 /* Checkpoint file not found or corrupt */
|
|
#define JET_errMissingPatchPage -534 /* Patch file page not found during recovery */
|
|
#define JET_errBadPatchPage -535 /* Patch file page is not valid */
|
|
#define JET_errRedoAbruptEnded -536 /* Redo abruptly ended due to sudden failure in reading logs from log file */
|
|
#define JET_errBadSLVSignature -537 /* Signature in SLV file does not agree with database */
|
|
#define JET_errPatchFileMissing -538 /* Hard restore detected that patch file is missing from backup set */
|
|
#define JET_errDatabaseLogSetMismatch -539 /* Database does not belong with the current set of log files */
|
|
#define JET_errDatabaseStreamingFileMismatch -540 /* Database and streaming file do not match each other */
|
|
#define JET_errLogFileSizeMismatch -541 /* actual log file size does not match JET_paramLogFileSize */
|
|
#define JET_errCheckpointFileNotFound -542 /* Could not locate checkpoint file */
|
|
#define JET_errRequiredLogFilesMissing -543 /* The required log files for recovery is missing. */
|
|
#define JET_errSoftRecoveryOnBackupDatabase -544 /* Soft recovery is intended on a backup database. Restore should be used instead */
|
|
#define JET_errLogFileSizeMismatchDatabasesConsistent -545 /* databases have been recovered, but the log file size used during recovery does not match JET_paramLogFileSize */
|
|
#define JET_errLogSectorSizeMismatch -546 /* the log file sector size does not match the current volume's sector size */
|
|
#define JET_errLogSectorSizeMismatchDatabasesConsistent -547 /* databases have been recovered, but the log file sector size (used during recovery) does not match the current volume's sector size */
|
|
#define JET_errLogSequenceEndDatabasesConsistent -548 /* databases have been recovered, but all possible log generations in the current sequence are used; delete all log files and the checkpoint file and backup the databases before continuing */
|
|
|
|
#define JET_errStreamingDataNotLogged -549 /* Illegal attempt to replay a streaming file operation where the data wasn't logged. Probably caused by an attempt to roll-forward with circular logging enabled */
|
|
|
|
#define JET_errDatabaseDirtyShutdown -550 /* Database was not shutdown cleanly. Recovery must first be run to properly complete database operations for the previous shutdown. */
|
|
#define JET_errDatabaseInconsistent JET_errDatabaseDirtyShutdown /* OBSOLETE */
|
|
#define JET_errConsistentTimeMismatch -551 /* Database last consistent time unmatched */
|
|
#define JET_errDatabasePatchFileMismatch -552 /* Patch file is not generated from this backup */
|
|
#define JET_errEndingRestoreLogTooLow -553 /* The starting log number too low for the restore */
|
|
#define JET_errStartingRestoreLogTooHigh -554 /* The starting log number too high for the restore */
|
|
#define JET_errGivenLogFileHasBadSignature -555 /* Restore log file has bad signature */
|
|
#define JET_errGivenLogFileIsNotContiguous -556 /* Restore log file is not contiguous */
|
|
#define JET_errMissingRestoreLogFiles -557 /* Some restore log files are missing */
|
|
#define JET_wrnExistingLogFileHasBadSignature 558 /* Existing log file has bad signature */
|
|
#define JET_wrnExistingLogFileIsNotContiguous 559 /* Existing log file is not contiguous */
|
|
#define JET_errMissingFullBackup -560 /* The database miss a previous full backup befor incremental backup */
|
|
#define JET_errBadBackupDatabaseSize -561 /* The backup database size is not in 4k */
|
|
#define JET_errDatabaseAlreadyUpgraded -562 /* Attempted to upgrade a database that is already current */
|
|
#define JET_errDatabaseIncompleteUpgrade -563 /* Attempted to use a database which was only partially converted to the current format -- must restore from backup */
|
|
#define JET_wrnSkipThisRecord 564 /* INTERNAL ERROR */
|
|
#define JET_errMissingCurrentLogFiles -565 /* Some current log files are missing for continous restore */
|
|
|
|
#define JET_errDbTimeTooOld -566 /* dbtime on page smaller than dbtimeBefore in record */
|
|
#define JET_errDbTimeTooNew -567 /* dbtime on page in advance of the dbtimeBefore in record */
|
|
#define JET_errMissingFileToBackup -569 /* Some log or patch files are missing during backup */
|
|
|
|
#define JET_errLogTornWriteDuringHardRestore -570 /* torn-write was detected in a backup set during hard restore */
|
|
#define JET_errLogTornWriteDuringHardRecovery -571 /* torn-write was detected during hard recovery (log was not part of a backup set) */
|
|
#define JET_errLogCorruptDuringHardRestore -573 /* corruption was detected in a backup set during hard restore */
|
|
#define JET_errLogCorruptDuringHardRecovery -574 /* corruption was detected during hard recovery (log was not part of a backup set) */
|
|
|
|
#define JET_errMustDisableLoggingForDbUpgrade -575 /* Cannot have logging enabled while attempting to upgrade db */
|
|
|
|
#define JET_errBadRestoreTargetInstance -577 /* TargetInstance specified for restore is not found or log files don't match */
|
|
#define JET_wrnTargetInstanceRunning 578 /* TargetInstance specified for restore is running */
|
|
|
|
#define JET_errRecoveredWithoutUndo -579 /* Soft recovery successfully replayed all operations, but the Undo phase of recovery was skipped */
|
|
|
|
#define JET_errDatabasesNotFromSameSnapshot -580 /* Databases to be restored are not from the same shadow copy backup */
|
|
#define JET_errSoftRecoveryOnSnapshot -581 /* Soft recovery on a database from a shadow copy backup set */
|
|
#define JET_errSectorSizeNotSupported -583 /* The physical sector size reported by the disk subsystem, is unsupported by ESE for a specific file type. */
|
|
|
|
#define JET_wrnDatabaseRepaired 595 /* Database corruption has been repaired */
|
|
|
|
#define JET_errUnicodeTranslationBufferTooSmall -601 /* Unicode translation buffer too small */
|
|
#define JET_errUnicodeTranslationFail -602 /* Unicode normalization failed */
|
|
#define JET_errUnicodeNormalizationNotSupported -603 /* OS does not provide support for Unicode normalisation (and no normalisation callback was specified) */
|
|
|
|
#define JET_errExistingLogFileHasBadSignature -610 /* Existing log file has bad signature */
|
|
#define JET_errExistingLogFileIsNotContiguous -611 /* Existing log file is not contiguous */
|
|
|
|
#define JET_errLogReadVerifyFailure -612 /* Checksum error in log file during backup */
|
|
#define JET_errSLVReadVerifyFailure -613 /* Checksum error in SLV file during backup */
|
|
|
|
#define JET_errCheckpointDepthTooDeep -614 // too many outstanding generations between checkpoint and current generation
|
|
|
|
#define JET_errRestoreOfNonBackupDatabase -615 // hard recovery attempted on a database that wasn't a backup database
|
|
#define JET_errLogFileNotCopied -616 // log truncation attempted but not all required logs were copied
|
|
|
|
|
|
#define JET_errInvalidGrbit -900 /* Invalid parameter */
|
|
|
|
#define JET_errTermInProgress -1000 /* Termination in progress */
|
|
#define JET_errFeatureNotAvailable -1001 /* API not supported */
|
|
#define JET_errInvalidName -1002 /* Invalid name */
|
|
#define JET_errInvalidParameter -1003 /* Invalid API parameter */
|
|
#define JET_wrnColumnNull 1004 /* Column is NULL-valued */
|
|
#define JET_wrnBufferTruncated 1006 /* Buffer too small for data */
|
|
#define JET_wrnDatabaseAttached 1007 /* Database is already attached */
|
|
#define JET_errDatabaseFileReadOnly -1008 /* Tried to attach a read-only database file for read/write operations */
|
|
#define JET_wrnSortOverflow 1009 /* Sort does not fit in memory */
|
|
#define JET_errInvalidDatabaseId -1010 /* Invalid database id */
|
|
#define JET_errOutOfMemory -1011 /* Out of Memory */
|
|
#define JET_errOutOfDatabaseSpace -1012 /* Maximum database size reached */
|
|
#define JET_errOutOfCursors -1013 /* Out of table cursors */
|
|
#define JET_errOutOfBuffers -1014 /* Out of database page buffers */
|
|
#define JET_errTooManyIndexes -1015 /* Too many indexes */
|
|
#define JET_errTooManyKeys -1016 /* Too many columns in an index */
|
|
#define JET_errRecordDeleted -1017 /* Record has been deleted */
|
|
#define JET_errReadVerifyFailure -1018 /* Checksum error on a database page */
|
|
#define JET_errPageNotInitialized -1019 /* Blank database page */
|
|
#define JET_errOutOfFileHandles -1020 /* Out of file handles */
|
|
#define JET_errDiskIO -1022 /* Disk IO error */
|
|
#define JET_errInvalidPath -1023 /* Invalid file path */
|
|
#define JET_errInvalidSystemPath -1024 /* Invalid system path */
|
|
#define JET_errInvalidLogDirectory -1025 /* Invalid log directory */
|
|
#define JET_errRecordTooBig -1026 /* Record larger than maximum size */
|
|
#define JET_errTooManyOpenDatabases -1027 /* Too many open databases */
|
|
#define JET_errInvalidDatabase -1028 /* Not a database file */
|
|
#define JET_errNotInitialized -1029 /* Database engine not initialized */
|
|
#define JET_errAlreadyInitialized -1030 /* Database engine already initialized */
|
|
#define JET_errInitInProgress -1031 /* Database engine is being initialized */
|
|
#define JET_errFileAccessDenied -1032 /* Cannot access file, the file is locked or in use */
|
|
#define JET_errBufferTooSmall -1038 /* Buffer is too small */
|
|
#define JET_wrnSeekNotEqual 1039 /* Exact match not found during seek */
|
|
#define JET_errTooManyColumns -1040 /* Too many columns defined */
|
|
#define JET_errContainerNotEmpty -1043 /* Container is not empty */
|
|
#define JET_errInvalidFilename -1044 /* Filename is invalid */
|
|
#define JET_errInvalidBookmark -1045 /* Invalid bookmark */
|
|
#define JET_errColumnInUse -1046 /* Column used in an index */
|
|
#define JET_errInvalidBufferSize -1047 /* Data buffer doesn't match column size */
|
|
#define JET_errColumnNotUpdatable -1048 /* Cannot set column value */
|
|
#define JET_errIndexInUse -1051 /* Index is in use */
|
|
#define JET_errLinkNotSupported -1052 /* Link support unavailable */
|
|
#define JET_errNullKeyDisallowed -1053 /* Null keys are disallowed on index */
|
|
#define JET_errNotInTransaction -1054 /* Operation must be within a transaction */
|
|
#define JET_wrnNoErrorInfo 1055 /* No extended error information */
|
|
#define JET_wrnNoIdleActivity 1058 /* No idle activity occured */
|
|
#define JET_errTooManyActiveUsers -1059 /* Too many active database users */
|
|
#define JET_errInvalidCountry -1061 /* Invalid or unknown country code */
|
|
#define JET_errInvalidLanguageId -1062 /* Invalid or unknown language id */
|
|
#define JET_errInvalidCodePage -1063 /* Invalid or unknown code page */
|
|
#define JET_errInvalidLCMapStringFlags -1064 /* Invalid flags for LCMapString() */
|
|
#define JET_errVersionStoreEntryTooBig -1065 /* Attempted to create a version store entry (RCE) larger than a version bucket */
|
|
#define JET_errVersionStoreOutOfMemoryAndCleanupTimedOut -1066 /* Version store out of memory (and cleanup attempt failed to complete) */
|
|
#define JET_wrnNoWriteLock 1067 /* No write lock at transaction level 0 */
|
|
#define JET_wrnColumnSetNull 1068 /* Column set to NULL-value */
|
|
#define JET_errVersionStoreOutOfMemory -1069 /* Version store out of memory (cleanup already attempted) */
|
|
#define JET_errCannotIndex -1071 /* Cannot index escrow column or SLV column */
|
|
#define JET_errRecordNotDeleted -1072 /* Record has not been deleted */
|
|
#define JET_errTooManyMempoolEntries -1073 /* Too many mempool entries requested */
|
|
#define JET_errOutOfObjectIDs -1074 /* Out of btree ObjectIDs (perform offline defrag to reclaim freed/unused ObjectIds) */
|
|
#define JET_errOutOfLongValueIDs -1075 /* Long-value ID counter has reached maximum value. (perform offline defrag to reclaim free/unused LongValueIDs) */
|
|
#define JET_errOutOfAutoincrementValues -1076 /* Auto-increment counter has reached maximum value (offline defrag WILL NOT be able to reclaim free/unused Auto-increment values). */
|
|
#define JET_errOutOfDbtimeValues -1077 /* Dbtime counter has reached maximum value (perform offline defrag to reclaim free/unused Dbtime values) */
|
|
#define JET_errOutOfSequentialIndexValues -1078 /* Sequential index counter has reached maximum value (perform offline defrag to reclaim free/unused SequentialIndex values) */
|
|
|
|
#define JET_errRunningInOneInstanceMode -1080 /* Multi-instance call with single-instance mode enabled */
|
|
#define JET_errRunningInMultiInstanceMode -1081 /* Single-instance call with multi-instance mode enabled */
|
|
#define JET_errSystemParamsAlreadySet -1082 /* Global system parameters have already been set */
|
|
|
|
#define JET_errSystemPathInUse -1083 /* System path already used by another database instance */
|
|
#define JET_errLogFilePathInUse -1084 /* Logfile path already used by another database instance */
|
|
#define JET_errTempPathInUse -1085 /* Temp path already used by another database instance */
|
|
#define JET_errInstanceNameInUse -1086 /* Instance Name already in use */
|
|
|
|
#define JET_errInstanceUnavailable -1090 /* This instance cannot be used because it encountered a fatal error */
|
|
#define JET_errDatabaseUnavailable -1091 /* This database cannot be used because it encountered a fatal error */
|
|
#define JET_errInstanceUnavailableDueToFatalLogDiskFull -1092 /* This instance cannot be used because it encountered a log-disk-full error performing an operation (likely transaction rollback) that could not tolerate failure */
|
|
|
|
#define JET_errOutOfSessions -1101 /* Out of sessions */
|
|
#define JET_errWriteConflict -1102 /* Write lock failed due to outstanding write lock */
|
|
#define JET_errTransTooDeep -1103 /* Transactions nested too deeply */
|
|
#define JET_errInvalidSesid -1104 /* Invalid session handle */
|
|
#define JET_errWriteConflictPrimaryIndex -1105 /* Update attempted on uncommitted primary index */
|
|
#define JET_errInTransaction -1108 /* Operation not allowed within a transaction */
|
|
#define JET_errRollbackRequired -1109 /* Must rollback current transaction -- cannot commit or begin a new one */
|
|
#define JET_errTransReadOnly -1110 /* Read-only transaction tried to modify the database */
|
|
#define JET_errSessionWriteConflict -1111 /* Attempt to replace the same record by two diffrerent cursors in the same session */
|
|
|
|
#define JET_errRecordTooBigForBackwardCompatibility -1112 /* record would be too big if represented in a database format from a previous version of Jet */
|
|
#define JET_errCannotMaterializeForwardOnlySort -1113 /* The temp table could not be created due to parameters that conflict with JET_bitTTForwardOnly */
|
|
|
|
#define JET_errSesidTableIdMismatch -1114 /* This session handle can't be used with this table id */
|
|
#define JET_errInvalidInstance -1115 /* Invalid instance handle */
|
|
|
|
|
|
#define JET_errDatabaseDuplicate -1201 /* Database already exists */
|
|
#define JET_errDatabaseInUse -1202 /* Database in use */
|
|
#define JET_errDatabaseNotFound -1203 /* No such database */
|
|
#define JET_errDatabaseInvalidName -1204 /* Invalid database name */
|
|
#define JET_errDatabaseInvalidPages -1205 /* Invalid number of pages */
|
|
#define JET_errDatabaseCorrupted -1206 /* Non database file or corrupted db */
|
|
#define JET_errDatabaseLocked -1207 /* Database exclusively locked */
|
|
#define JET_errCannotDisableVersioning -1208 /* Cannot disable versioning for this database */
|
|
#define JET_errInvalidDatabaseVersion -1209 /* Database engine is incompatible with database */
|
|
|
|
/* The following error code are for NT clients only. It will return such error during
|
|
* JetInit if JET_paramCheckFormatWhenOpenFail is set.
|
|
*/
|
|
#define JET_errDatabase200Format -1210 /* The database is in an older (200) format */
|
|
#define JET_errDatabase400Format -1211 /* The database is in an older (400) format */
|
|
#define JET_errDatabase500Format -1212 /* The database is in an older (500) format */
|
|
|
|
#define JET_errPageSizeMismatch -1213 /* The database page size does not match the engine */
|
|
#define JET_errTooManyInstances -1214 /* Cannot start any more database instances */
|
|
#define JET_errDatabaseSharingViolation -1215 /* A different database instance is using this database */
|
|
#define JET_errAttachedDatabaseMismatch -1216 /* An outstanding database attachment has been detected at the start or end of recovery, but database is missing or does not match attachment info */
|
|
#define JET_errDatabaseInvalidPath -1217 /* Specified path to database file is illegal */
|
|
#define JET_errDatabaseIdInUse -1218 /* A database is being assigned an id already in use */
|
|
#define JET_errForceDetachNotAllowed -1219 /* Force Detach allowed only after normal detach errored out */
|
|
#define JET_errCatalogCorrupted -1220 /* Corruption detected in catalog */
|
|
#define JET_errPartiallyAttachedDB -1221 /* Database is partially attached. Cannot complete attach operation */
|
|
#define JET_errDatabaseSignInUse -1222 /* Database with same signature in use */
|
|
|
|
#define JET_errDatabaseCorruptedNoRepair -1224 /* Corrupted db but repair not allowed */
|
|
#define JET_errInvalidCreateDbVersion -1225 /* recovery tried to replay a database creation, but the database was originally created with an incompatible (likely older) version of the database engine */
|
|
|
|
#define JET_wrnTableEmpty 1301 /* Opened an empty table */
|
|
#define JET_errTableLocked -1302 /* Table is exclusively locked */
|
|
#define JET_errTableDuplicate -1303 /* Table already exists */
|
|
#define JET_errTableInUse -1304 /* Table is in use, cannot lock */
|
|
#define JET_errObjectNotFound -1305 /* No such table or object */
|
|
#define JET_errDensityInvalid -1307 /* Bad file/index density */
|
|
#define JET_errTableNotEmpty -1308 /* Table is not empty */
|
|
#define JET_errInvalidTableId -1310 /* Invalid table id */
|
|
#define JET_errTooManyOpenTables -1311 /* Cannot open any more tables (cleanup already attempted) */
|
|
#define JET_errIllegalOperation -1312 /* Oper. not supported on table */
|
|
#define JET_errTooManyOpenTablesAndCleanupTimedOut -1313 /* Cannot open any more tables (cleanup attempt failed to complete) */
|
|
#define JET_errObjectDuplicate -1314 /* Table or object name in use */
|
|
#define JET_errInvalidObject -1316 /* Object is invalid for operation */
|
|
#define JET_errCannotDeleteTempTable -1317 /* Use CloseTable instead of DeleteTable to delete temp table */
|
|
#define JET_errCannotDeleteSystemTable -1318 /* Illegal attempt to delete a system table */
|
|
#define JET_errCannotDeleteTemplateTable -1319 /* Illegal attempt to delete a template table */
|
|
#define JET_errExclusiveTableLockRequired -1322 /* Must have exclusive lock on table. */
|
|
#define JET_errFixedDDL -1323 /* DDL operations prohibited on this table */
|
|
#define JET_errFixedInheritedDDL -1324 /* On a derived table, DDL operations are prohibited on inherited portion of DDL */
|
|
#define JET_errCannotNestDDL -1325 /* Nesting of hierarchical DDL is not currently supported. */
|
|
#define JET_errDDLNotInheritable -1326 /* Tried to inherit DDL from a table not marked as a template table. */
|
|
#define JET_wrnTableInUseBySystem 1327 /* System cleanup has a cursor open on the table */
|
|
#define JET_errInvalidSettings -1328 /* System parameters were set improperly */
|
|
#define JET_errClientRequestToStopJetService -1329 /* Client has requested stop service */
|
|
#define JET_errCannotAddFixedVarColumnToDerivedTable -1330 /* Template table was created with NoFixedVarColumnsInDerivedTables */
|
|
|
|
#define JET_errIndexCantBuild -1401 /* Index build failed */
|
|
#define JET_errIndexHasPrimary -1402 /* Primary index already defined */
|
|
#define JET_errIndexDuplicate -1403 /* Index is already defined */
|
|
#define JET_errIndexNotFound -1404 /* No such index */
|
|
#define JET_errIndexMustStay -1405 /* Cannot delete clustered index */
|
|
#define JET_errIndexInvalidDef -1406 /* Illegal index definition */
|
|
#define JET_errInvalidCreateIndex -1409 /* Invalid create index description */
|
|
#define JET_errTooManyOpenIndexes -1410 /* Out of index description blocks */
|
|
#define JET_errMultiValuedIndexViolation -1411 /* Non-unique inter-record index keys generated for a multivalued index */
|
|
#define JET_errIndexBuildCorrupted -1412 /* Failed to build a secondary index that properly reflects primary index */
|
|
#define JET_errPrimaryIndexCorrupted -1413 /* Primary index is corrupt. The database must be defragmented */
|
|
#define JET_errSecondaryIndexCorrupted -1414 /* Secondary index is corrupt. The database must be defragmented */
|
|
#define JET_wrnCorruptIndexDeleted 1415 /* Out of date index removed */
|
|
#define JET_errInvalidIndexId -1416 /* Illegal index id */
|
|
|
|
#define JET_errIndexTuplesSecondaryIndexOnly -1430 // tuple index can only be on a secondary index
|
|
#define JET_errIndexTuplesTooManyColumns -1431 // tuple index may only have eleven columns in the index
|
|
#define JET_errIndexTuplesOneColumnOnly JET_errIndexTuplesTooManyColumns /* OBSOLETE */
|
|
#define JET_errIndexTuplesNonUniqueOnly -1432 // tuple index must be a non-unique index
|
|
#define JET_errIndexTuplesTextBinaryColumnsOnly -1433 // tuple index must be on a text/binary column
|
|
#define JET_errIndexTuplesTextColumnsOnly JET_errIndexTuplesTextBinaryColumnsOnly /* OBSOLETE */
|
|
#define JET_errIndexTuplesVarSegMacNotAllowed -1434 // tuple index does not allow setting cbVarSegMac
|
|
#define JET_errIndexTuplesInvalidLimits -1435 // invalid min/max tuple length or max characters to index specified
|
|
#define JET_errIndexTuplesCannotRetrieveFromIndex -1436 // cannot call RetrieveColumn() with RetrieveFromIndex on a tuple index
|
|
#define JET_errIndexTuplesKeyTooSmall -1437 // specified key does not meet minimum tuple length
|
|
|
|
#define JET_errColumnLong -1501 /* Column value is long */
|
|
#define JET_errColumnNoChunk -1502 /* No such chunk in long value */
|
|
#define JET_errColumnDoesNotFit -1503 /* Field will not fit in record */
|
|
#define JET_errNullInvalid -1504 /* Null not valid */
|
|
#define JET_errColumnIndexed -1505 /* Column indexed, cannot delete */
|
|
#define JET_errColumnTooBig -1506 /* Field length is greater than maximum */
|
|
#define JET_errColumnNotFound -1507 /* No such column */
|
|
#define JET_errColumnDuplicate -1508 /* Field is already defined */
|
|
#define JET_errMultiValuedColumnMustBeTagged -1509 /* Attempted to create a multi-valued column, but column was not Tagged */
|
|
#define JET_errColumnRedundant -1510 /* Second autoincrement or version column */
|
|
#define JET_errInvalidColumnType -1511 /* Invalid column data type */
|
|
#define JET_wrnColumnMaxTruncated 1512 /* Max length too big, truncated */
|
|
#define JET_errTaggedNotNULL -1514 /* No non-NULL tagged columns */
|
|
#define JET_errNoCurrentIndex -1515 /* Invalid w/o a current index */
|
|
#define JET_errKeyIsMade -1516 /* The key is completely made */
|
|
#define JET_errBadColumnId -1517 /* Column Id Incorrect */
|
|
#define JET_errBadItagSequence -1518 /* Bad itagSequence for tagged column */
|
|
#define JET_errColumnInRelationship -1519 /* Cannot delete, column participates in relationship */
|
|
#define JET_wrnCopyLongValue 1520 /* Single instance column bursted */
|
|
#define JET_errCannotBeTagged -1521 /* AutoIncrement and Version cannot be tagged */
|
|
#define JET_errDefaultValueTooBig -1524 /* Default value exceeds maximum size */
|
|
#define JET_errMultiValuedDuplicate -1525 /* Duplicate detected on a unique multi-valued column */
|
|
#define JET_errLVCorrupted -1526 /* Corruption encountered in long-value tree */
|
|
#define JET_errMultiValuedDuplicateAfterTruncation -1528 /* Duplicate detected on a unique multi-valued column after data was normalized, and normalizing truncated the data before comparison */
|
|
#define JET_errDerivedColumnCorruption -1529 /* Invalid column in derived table */
|
|
#define JET_errInvalidPlaceholderColumn -1530 /* Tried to convert column to a primary index placeholder, but column doesn't meet necessary criteria */
|
|
#define JET_wrnColumnSkipped 1531 /* Column value(s) not returned because the corresponding column id or itagSequence requested for enumeration was null */
|
|
#define JET_wrnColumnNotLocal 1532 /* Column value(s) not returned because they could not be reconstructed from the data at hand */
|
|
#define JET_wrnColumnMoreTags 1533 /* Column values exist that were not requested for enumeration */
|
|
#define JET_wrnColumnTruncated 1534 /* Column value truncated at the requested size limit during enumeration */
|
|
#define JET_wrnColumnPresent 1535 /* Column values exist but were not returned by request */
|
|
#define JET_wrnColumnSingleValue 1536 /* Column value returned in JET_COLUMNENUM as a result of JET_bitEnumerateCompressOutput */
|
|
#define JET_wrnColumnDefault 1537 /* Column value(s) not returned because they were set to their default value(s) and JET_bitEnumerateIgnoreDefault was specified */
|
|
|
|
#define JET_errRecordNotFound -1601 /* The key was not found */
|
|
#define JET_errRecordNoCopy -1602 /* No working buffer */
|
|
#define JET_errNoCurrentRecord -1603 /* Currency not on a record */
|
|
#define JET_errRecordPrimaryChanged -1604 /* Primary key may not change */
|
|
#define JET_errKeyDuplicate -1605 /* Illegal duplicate key */
|
|
#define JET_errAlreadyPrepared -1607 /* Attempted to update record when record update was already in progress */
|
|
#define JET_errKeyNotMade -1608 /* No call to JetMakeKey */
|
|
#define JET_errUpdateNotPrepared -1609 /* No call to JetPrepareUpdate */
|
|
#define JET_wrnDataHasChanged 1610 /* Data has changed */
|
|
#define JET_errDataHasChanged -1611 /* Data has changed, operation aborted */
|
|
#define JET_wrnKeyChanged 1618 /* Moved to new key */
|
|
#define JET_errLanguageNotSupported -1619 /* Windows installation does not support language */
|
|
|
|
#define JET_errTooManySorts -1701 /* Too many sort processes */
|
|
#define JET_errInvalidOnSort -1702 /* Invalid operation on Sort */
|
|
#define JET_errTempFileOpenError -1803 /* Temp file could not be opened */
|
|
#define JET_errTooManyAttachedDatabases -1805 /* Too many open databases */
|
|
#define JET_errDiskFull -1808 /* No space left on disk */
|
|
#define JET_errPermissionDenied -1809 /* Permission denied */
|
|
#define JET_errFileNotFound -1811 /* File not found */
|
|
#define JET_errFileInvalidType -1812 /* Invalid file type */
|
|
#define JET_wrnFileOpenReadOnly 1813 /* Database file is read only */
|
|
#define JET_errAfterInitialization -1850 /* Cannot Restore after init. */
|
|
#define JET_errLogCorrupted -1852 /* Logs could not be interpreted */
|
|
#define JET_errInvalidOperation -1906 /* Invalid operation */
|
|
#define JET_errAccessDenied -1907 /* Access denied */
|
|
#define JET_wrnIdleFull 1908 /* Idle registry full */
|
|
#define JET_errTooManySplits -1909 /* Infinite split */
|
|
#define JET_errSessionSharingViolation -1910 /* Multiple threads are using the same session */
|
|
#define JET_errEntryPointNotFound -1911 /* An entry point in a DLL we require could not be found */
|
|
#define JET_errSessionContextAlreadySet -1912 /* Specified session already has a session context set */
|
|
#define JET_errSessionContextNotSetByThisThread -1913 /* Tried to reset session context, but current thread did not orignally set the session context */
|
|
#define JET_errSessionInUse -1914 /* Tried to terminate session in use */
|
|
|
|
#define JET_errRecordFormatConversionFailed -1915 /* Internal error during dynamic record format conversion */
|
|
#define JET_errOneDatabasePerSession -1916 /* Just one open user database per session is allowed (JET_paramOneDatabasePerSession) */
|
|
#define JET_errRollbackError -1917 /* error during rollback */
|
|
|
|
#define JET_wrnDefragAlreadyRunning 2000 /* Online defrag already running on specified database */
|
|
#define JET_wrnDefragNotRunning 2001 /* Online defrag not running on specified database */
|
|
|
|
#define JET_wrnCallbackNotRegistered 2100 /* Unregistered a non-existant callback function */
|
|
#define JET_errCallbackFailed -2101 /* A callback failed */
|
|
#define JET_errCallbackNotResolved -2102 /* A callback function could not be found */
|
|
|
|
|
|
#define JET_errOSSnapshotInvalidSequence -2401 /* OS Shadow copy API used in an invalid sequence */
|
|
#define JET_errOSSnapshotTimeOut -2402 /* OS Shadow copy ended with time-out */
|
|
#define JET_errOSSnapshotNotAllowed -2403 /* OS Shadow copy not allowed (backup or recovery in progress) */
|
|
#define JET_errOSSnapshotInvalidSnapId -2404 /* invalid JET_OSSNAPID */
|
|
|
|
#define JET_errLSCallbackNotSpecified -3000 /* Attempted to use Local Storage without a callback function being specified */
|
|
#define JET_errLSAlreadySet -3001 /* Attempted to set Local Storage for an object which already had it set */
|
|
#define JET_errLSNotSet -3002 /* Attempted to retrieve Local Storage from an object which didn't have it set */
|
|
|
|
/** FILE ERRORS
|
|
**/
|
|
//JET_errFileAccessDenied -1032
|
|
//JET_errFileNotFound -1811
|
|
//JET_errInvalidFilename -1044
|
|
#define JET_errFileIOSparse -4000 /* an I/O was issued to a location that was sparse */
|
|
#define JET_errFileIOBeyondEOF -4001 /* a read was issued to a location beyond EOF (writes will expand the file) */
|
|
#define JET_errFileIOAbort -4002 /* instructs the JET_ABORTRETRYFAILCALLBACK caller to abort the specified I/O */
|
|
#define JET_errFileIORetry -4003 /* instructs the JET_ABORTRETRYFAILCALLBACK caller to retry the specified I/O */
|
|
#define JET_errFileIOFail -4004 /* instructs the JET_ABORTRETRYFAILCALLBACK caller to fail the specified I/O */
|
|
#define JET_errFileCompressed -4005 /* read/write access is not supported on compressed files */
|
|
|
|
/**********************************************************************/
|
|
/*********************** PROTOTYPES **************************/
|
|
/**********************************************************************/
|
|
|
|
#if !defined(_JET_NOPROTOTYPES)
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetInit(
|
|
__inout_opt JET_INSTANCE * pinstance );
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetInit2(
|
|
__inout_opt JET_INSTANCE * pinstance,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetInit3A JetInit3
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetInit3A(
|
|
__inout_opt JET_INSTANCE * pinstance,
|
|
__in_opt JET_RSTINFO_A * prstInfo,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetInit3W(
|
|
__inout_opt JET_INSTANCE * pinstance,
|
|
__in_opt JET_RSTINFO_W * prstInfo,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetInit3 JetInit3W
|
|
#else
|
|
#define JetInit3 JetInit3A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateInstanceA JetCreateInstance
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateInstanceA(
|
|
__out JET_INSTANCE * pinstance,
|
|
__in_opt JET_PCSTR szInstanceName );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCreateInstanceW(
|
|
__out JET_INSTANCE * pinstance,
|
|
__in_opt JET_PCWSTR szInstanceName );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateInstance JetCreateInstanceW
|
|
#else
|
|
#define JetCreateInstance JetCreateInstanceA
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateInstance2A JetCreateInstance2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateInstance2A(
|
|
__out JET_INSTANCE * pinstance,
|
|
__in_opt JET_PCSTR szInstanceName,
|
|
__in_opt JET_PCSTR szDisplayName,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCreateInstance2W(
|
|
__out JET_INSTANCE * pinstance,
|
|
__in_opt JET_PCWSTR szInstanceName,
|
|
__in_opt JET_PCWSTR szDisplayName,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateInstance2 JetCreateInstance2W
|
|
#else
|
|
#define JetCreateInstance2 JetCreateInstance2A
|
|
#endif
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetInstanceMiscInfo(
|
|
__in JET_INSTANCE instance,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
JET_ERR JET_API
|
|
JetTerm(
|
|
__in JET_INSTANCE instance );
|
|
JET_ERR JET_API
|
|
JetTerm2(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetStopService();
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetStopServiceInstance(
|
|
__in JET_INSTANCE instance );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
JET_ERR JET_API
|
|
JetStopBackup();
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetStopBackupInstance(
|
|
__in JET_INSTANCE instance );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetSetSystemParameterA JetSetSystemParameter
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetSetSystemParameterA(
|
|
__inout_opt JET_INSTANCE * pinstance,
|
|
__in JET_SESID sesid,
|
|
__in unsigned long paramid,
|
|
__in JET_API_PTR lParam,
|
|
__in_opt JET_PCSTR szParam );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetSetSystemParameterW(
|
|
__inout_opt JET_INSTANCE * pinstance,
|
|
__in JET_SESID sesid,
|
|
__in unsigned long paramid,
|
|
__in JET_API_PTR lParam,
|
|
__in_opt JET_PCWSTR szParam );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetSetSystemParameter JetSetSystemParameterW
|
|
#else
|
|
#define JetSetSystemParameter JetSetSystemParameterA
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetSystemParameterA JetGetSystemParameter
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetSystemParameterA(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_SESID sesid,
|
|
__in unsigned long paramid,
|
|
__inout_opt JET_API_PTR * plParam,
|
|
__out_bcount_opt( cbMax ) JET_PSTR szParam,
|
|
__in unsigned long cbMax );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetSystemParameterW(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_SESID sesid,
|
|
__in unsigned long paramid,
|
|
__inout_opt JET_API_PTR * plParam,
|
|
__out_bcount_opt( cbMax ) JET_PWSTR szParam,
|
|
__in unsigned long cbMax );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetSystemParameter JetGetSystemParameterW
|
|
#else
|
|
#define JetGetSystemParameter JetGetSystemParameterA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetEnableMultiInstanceA JetEnableMultiInstance
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetEnableMultiInstanceA(
|
|
__in_ecount_opt( csetsysparam ) JET_SETSYSPARAM_A * psetsysparam,
|
|
__in unsigned long csetsysparam,
|
|
__out_opt unsigned long * pcsetsucceed );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetEnableMultiInstanceW(
|
|
__in_ecount_opt( csetsysparam ) JET_SETSYSPARAM_W * psetsysparam,
|
|
__in unsigned long csetsysparam,
|
|
__out_opt unsigned long * pcsetsucceed );
|
|
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetEnableMultiInstance JetEnableMultiInstanceW
|
|
#else
|
|
#define JetEnableMultiInstance JetEnableMultiInstanceA
|
|
#endif
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
JET_ERR JET_API
|
|
JetGetThreadStats(
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax );
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetBeginSessionA JetBeginSession
|
|
#endif
|
|
|
|
JET_ERR JET_API JetBeginSessionA(
|
|
__in JET_INSTANCE instance,
|
|
__out JET_SESID * psesid,
|
|
__in_opt JET_PCSTR szUserName,
|
|
__in_opt JET_PCSTR szPassword );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API JetBeginSessionW(
|
|
__in JET_INSTANCE instance,
|
|
__out JET_SESID * psesid,
|
|
__in_opt JET_PCWSTR szUserName,
|
|
__in_opt JET_PCWSTR szPassword );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetBeginSession JetBeginSessionW
|
|
#else
|
|
#define JetBeginSession JetBeginSessionA
|
|
#endif
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDupSession(
|
|
__in JET_SESID sesid,
|
|
__out JET_SESID * psesid );
|
|
|
|
JET_ERR JET_API
|
|
JetEndSession(
|
|
__in JET_SESID sesid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetGetVersion(
|
|
__in JET_SESID sesid,
|
|
__out unsigned long * pwVersion );
|
|
|
|
JET_ERR JET_API
|
|
JetIdle(
|
|
__in JET_SESID sesid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateDatabaseA JetCreateDatabase
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateDatabaseA(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szFilename,
|
|
__in_opt JET_PCSTR szConnect,
|
|
__out JET_DBID * pdbid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCreateDatabaseW(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szFilename,
|
|
__in_opt JET_PCWSTR szConnect,
|
|
__out JET_DBID * pdbid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateDatabase JetCreateDatabaseW
|
|
#else
|
|
#define JetCreateDatabase JetCreateDatabaseA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateDatabase2A JetCreateDatabase2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateDatabase2A(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szFilename,
|
|
__in const unsigned long cpgDatabaseSizeMax,
|
|
__out JET_DBID * pdbid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API JetCreateDatabase2W(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szFilename,
|
|
__in const unsigned long cpgDatabaseSizeMax,
|
|
__out JET_DBID * pdbid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateDatabase2 JetCreateDatabase2W
|
|
#else
|
|
#define JetCreateDatabase2 JetCreateDatabase2A
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetAttachDatabaseA JetAttachDatabase
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetAttachDatabaseA(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szFilename,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetAttachDatabaseW(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szFilename,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetAttachDatabase JetAttachDatabaseW
|
|
#else
|
|
#define JetAttachDatabase JetAttachDatabaseA
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetAttachDatabase2A JetAttachDatabase2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetAttachDatabase2A(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szFilename,
|
|
__in const unsigned long cpgDatabaseSizeMax,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetAttachDatabase2W(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szFilename,
|
|
__in const unsigned long cpgDatabaseSizeMax,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetAttachDatabase2 JetAttachDatabase2W
|
|
#else
|
|
#define JetAttachDatabase2 JetAttachDatabase2A
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDetachDatabaseA JetDetachDatabase
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDetachDatabaseA(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szFilename );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDetachDatabaseW(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szFilename );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDetachDatabase JetDetachDatabaseW
|
|
#else
|
|
#define JetDetachDatabase JetDetachDatabaseA
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDetachDatabase2A JetDetachDatabase2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDetachDatabase2A(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szFilename,
|
|
__in JET_GRBIT grbit);
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDetachDatabase2W(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szFilename,
|
|
__in JET_GRBIT grbit);
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDetachDatabase2 JetDetachDatabase2W
|
|
#else
|
|
#define JetDetachDatabase2 JetDetachDatabase2A
|
|
#endif
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetObjectInfoA JetGetObjectInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetObjectInfoA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_OBJTYP objtyp,
|
|
__in_opt JET_PCSTR szContainerName,
|
|
__in_opt JET_PCSTR szObjectName,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetObjectInfoW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_OBJTYP objtyp,
|
|
__in_opt JET_PCWSTR szContainerName,
|
|
__in_opt JET_PCWSTR szObjectName,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetObjectInfo JetGetObjectInfoW
|
|
#else
|
|
#define JetGetObjectInfo JetGetObjectInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetTableInfoA JetGetTableInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetTableInfoA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetTableInfoW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetTableInfo JetGetTableInfoW
|
|
#else
|
|
#define JetGetTableInfo JetGetTableInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateTableA JetCreateTable
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateTableA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szTableName,
|
|
__in unsigned long lPages,
|
|
__in unsigned long lDensity,
|
|
__out JET_TABLEID * ptableid );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCreateTableW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szTableName,
|
|
__in unsigned long lPages,
|
|
__in unsigned long lDensity,
|
|
__out JET_TABLEID * ptableid );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateTable JetCreateTableW
|
|
#else
|
|
#define JetCreateTable JetCreateTableA
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateTableColumnIndexA JetCreateTableColumnIndex
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateTableColumnIndexA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__inout JET_TABLECREATE_A * ptablecreate );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCreateTableColumnIndexW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__inout JET_TABLECREATE_W * ptablecreate );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateTableColumnIndex JetCreateTableColumnIndexW
|
|
#else
|
|
#define JetCreateTableColumnIndex JetCreateTableColumnIndexA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateTableColumnIndex2A JetCreateTableColumnIndex2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateTableColumnIndex2A(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__inout JET_TABLECREATE2_A * ptablecreate );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCreateTableColumnIndex2W(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__inout JET_TABLECREATE2_W * ptablecreate );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateTableColumnIndex2 JetCreateTableColumnIndex2W
|
|
#else
|
|
#define JetCreateTableColumnIndex2 JetCreateTableColumnIndex2A
|
|
#endif
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDeleteTableA JetDeleteTable
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDeleteTableA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szTableName );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDeleteTableW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szTableName );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDeleteTable JetDeleteTableW
|
|
#else
|
|
#define JetDeleteTable JetDeleteTableA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetRenameTableA JetRenameTable
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetRenameTableA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szName,
|
|
__in JET_PCSTR szNameNew );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API JetRenameTableW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szName,
|
|
__in JET_PCWSTR szNameNew );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetRenameTable JetRenameTableW
|
|
#else
|
|
#define JetRenameTable JetRenameTableA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetTableColumnInfoA JetGetTableColumnInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetTableColumnInfoA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCSTR szColumnName,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API JetGetTableColumnInfoW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCWSTR szColumnName,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetTableColumnInfo JetGetTableColumnInfoW
|
|
#else
|
|
#define JetGetTableColumnInfo JetGetTableColumnInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetColumnInfoA JetGetColumnInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetColumnInfoA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szTableName,
|
|
__in JET_PCSTR szColumnName,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API JetGetColumnInfoW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szTableName,
|
|
__in JET_PCWSTR szColumnName,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetColumnInfo JetGetColumnInfoW
|
|
#else
|
|
#define JetGetColumnInfo JetGetColumnInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetAddColumnA JetAddColumn
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetAddColumnA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCSTR szColumnName,
|
|
__in const JET_COLUMNDEF * pcolumndef,
|
|
__in_bcount_opt( cbDefault ) const void * pvDefault,
|
|
__in unsigned long cbDefault,
|
|
__out_opt JET_COLUMNID * pcolumnid );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API JetAddColumnW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCWSTR szColumnName,
|
|
__in const JET_COLUMNDEF * pcolumndef,
|
|
__in_bcount_opt( cbDefault ) const void * pvDefault,
|
|
__in unsigned long cbDefault,
|
|
__out_opt JET_COLUMNID * pcolumnid );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetAddColumn JetAddColumnW
|
|
#else
|
|
#define JetAddColumn JetAddColumnA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDeleteColumnA JetDeleteColumn
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDeleteColumnA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCSTR szColumnName );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDeleteColumnW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCWSTR szColumnName );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDeleteColumn JetDeleteColumnW
|
|
#else
|
|
#define JetDeleteColumn JetDeleteColumnA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDeleteColumn2A JetDeleteColumn2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDeleteColumn2A(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCSTR szColumnName,
|
|
__in const JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDeleteColumn2W(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCWSTR szColumnName,
|
|
__in const JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDeleteColumn2 JetDeleteColumn2W
|
|
#else
|
|
#define JetDeleteColumn2 JetDeleteColumn2A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetRenameColumnA JetRenameColumn
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetRenameColumnA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCSTR szName,
|
|
__in JET_PCSTR szNameNew,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetRenameColumnW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCWSTR szName,
|
|
__in JET_PCWSTR szNameNew,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetRenameColumn JetRenameColumnW
|
|
#else
|
|
#define JetRenameColumn JetRenameColumnA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetSetColumnDefaultValueA JetSetColumnDefaultValue
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetSetColumnDefaultValueA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szTableName,
|
|
__in JET_PCSTR szColumnName,
|
|
__in_bcount( cbData ) const void * pvData,
|
|
__in const unsigned long cbData,
|
|
__in const JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetSetColumnDefaultValueW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szTableName,
|
|
__in JET_PCWSTR szColumnName,
|
|
__in_bcount( cbData ) const void * pvData,
|
|
__in const unsigned long cbData,
|
|
__in const JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetSetColumnDefaultValue JetSetColumnDefaultValueW
|
|
#else
|
|
#define JetSetColumnDefaultValue JetSetColumnDefaultValueA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetTableIndexInfoA JetGetTableIndexInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetTableIndexInfoA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCSTR szIndexName,
|
|
__out_bcount( cbResult ) void * pvResult,
|
|
__in unsigned long cbResult,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetTableIndexInfoW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCWSTR szIndexName,
|
|
__out_bcount( cbResult ) void * pvResult,
|
|
__in unsigned long cbResult,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetTableIndexInfo JetGetTableIndexInfoW
|
|
#else
|
|
#define JetGetTableIndexInfo JetGetTableIndexInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetIndexInfoA JetGetIndexInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetIndexInfoA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szTableName,
|
|
__in JET_PCSTR szIndexName,
|
|
__out_bcount( cbResult ) void * pvResult,
|
|
__in unsigned long cbResult,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetIndexInfoW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szTableName,
|
|
__in JET_PCWSTR szIndexName,
|
|
__out_bcount( cbResult ) void * pvResult,
|
|
__in unsigned long cbResult,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetIndexInfo JetGetIndexInfoW
|
|
#else
|
|
#define JetGetIndexInfo JetGetIndexInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateIndexA JetCreateIndex
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateIndexA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCSTR szIndexName,
|
|
__in JET_GRBIT grbit,
|
|
__in_bcount( cbKey ) const char * szKey,
|
|
__in unsigned long cbKey,
|
|
__in unsigned long lDensity );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCreateIndexW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCWSTR szIndexName,
|
|
__in JET_GRBIT grbit,
|
|
__in_bcount( cbKey ) const WCHAR * szKey,
|
|
__in unsigned long cbKey,
|
|
__in unsigned long lDensity );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateIndex JetCreateIndexW
|
|
#else
|
|
#define JetCreateIndex JetCreateIndexA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCreateIndex2A JetCreateIndex2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCreateIndex2A(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_ecount( cIndexCreate ) JET_INDEXCREATE_A * pindexcreate,
|
|
__in unsigned long cIndexCreate );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCreateIndex2W(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_ecount( cIndexCreate ) JET_INDEXCREATE_W * pindexcreate,
|
|
__in unsigned long cIndexCreate );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCreateIndex2 JetCreateIndex2W
|
|
#else
|
|
#define JetCreateIndex2 JetCreateIndex2A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDeleteIndexA JetDeleteIndex
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDeleteIndexA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCSTR szIndexName );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDeleteIndexW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_PCWSTR szIndexName );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDeleteIndex JetDeleteIndexW
|
|
#else
|
|
#define JetDeleteIndex JetDeleteIndexA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetBeginTransaction(
|
|
__in JET_SESID sesid );
|
|
|
|
JET_ERR JET_API
|
|
JetBeginTransaction2(
|
|
__in JET_SESID sesid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetCommitTransaction(
|
|
__in JET_SESID sesid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetRollback(
|
|
__in JET_SESID sesid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetDatabaseInfoA JetGetDatabaseInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API JetGetDatabaseInfoA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetDatabaseInfoW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetDatabaseInfo JetGetDatabaseInfoW
|
|
#else
|
|
#define JetGetDatabaseInfo JetGetDatabaseInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetDatabaseFileInfoA JetGetDatabaseFileInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetDatabaseFileInfoA(
|
|
__in JET_PCSTR szDatabaseName,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetDatabaseFileInfoW(
|
|
__in JET_PCWSTR szDatabaseName,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetDatabaseFileInfo JetGetDatabaseFileInfoW
|
|
#else
|
|
#define JetGetDatabaseFileInfo JetGetDatabaseFileInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetOpenDatabaseA JetOpenDatabase
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetOpenDatabaseA(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szFilename,
|
|
__in_opt JET_PCSTR szConnect,
|
|
__out JET_DBID* pdbid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetOpenDatabaseW(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szFilename,
|
|
__in_opt JET_PCWSTR szConnect,
|
|
__out JET_DBID* pdbid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetOpenDatabase JetOpenDatabaseW
|
|
#else
|
|
#define JetOpenDatabase JetOpenDatabaseA
|
|
#endif
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCloseDatabase(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetOpenTableA JetOpenTable
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetOpenTableA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szTableName,
|
|
__in_bcount_opt( cbParameters ) const void * pvParameters,
|
|
__in unsigned long cbParameters,
|
|
__in JET_GRBIT grbit,
|
|
__out JET_TABLEID * ptableid );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetOpenTableW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szTableName,
|
|
__in_bcount_opt( cbParameters ) const void * pvParameters,
|
|
__in unsigned long cbParameters,
|
|
__in JET_GRBIT grbit,
|
|
__out JET_TABLEID * ptableid );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetOpenTable JetOpenTableW
|
|
#else
|
|
#define JetOpenTable JetOpenTableA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetSetTableSequential(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetResetTableSequential(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
JET_ERR JET_API
|
|
JetCloseTable(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid );
|
|
|
|
JET_ERR JET_API
|
|
JetDelete(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid );
|
|
|
|
JET_ERR JET_API
|
|
JetUpdate(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount_part_opt( cbBookmark, *pcbActual ) void * pvBookmark,
|
|
__in unsigned long cbBookmark,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
JET_ERR JET_API
|
|
JetUpdate2(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount_part_opt( cbBookmark, *pcbActual ) void * pvBookmark,
|
|
__in unsigned long cbBookmark,
|
|
__out_opt unsigned long * pcbActual,
|
|
__in const JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
JET_ERR JET_API
|
|
JetEscrowUpdate(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_COLUMNID columnid,
|
|
__in_bcount( cbMax ) void * pv,
|
|
__in unsigned long cbMax,
|
|
__out_bcount_part_opt( cbOldMax, *pcbOldActual ) void * pvOld,
|
|
__in unsigned long cbOldMax,
|
|
__out_opt unsigned long * pcbOldActual,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetRetrieveColumn(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_COLUMNID columnid,
|
|
__out_bcount_part_opt( cbData, *pcbActual ) void * pvData,
|
|
__in unsigned long cbData,
|
|
__out_opt unsigned long * pcbActual,
|
|
__in JET_GRBIT grbit,
|
|
__inout_opt JET_RETINFO * pretinfo );
|
|
|
|
JET_ERR JET_API
|
|
JetRetrieveColumns(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__inout_ecount_opt( cretrievecolumn ) JET_RETRIEVECOLUMN * pretrievecolumn,
|
|
__in unsigned long cretrievecolumn );
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetEnumerateColumns(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in unsigned long cEnumColumnId,
|
|
__in_ecount_opt( cEnumColumnId ) JET_ENUMCOLUMNID * rgEnumColumnId,
|
|
__out unsigned long * pcEnumColumn,
|
|
__deref_out_ecount( *pcEnumColumn ) JET_ENUMCOLUMN ** prgEnumColumn,
|
|
__in JET_PFNREALLOC pfnRealloc,
|
|
__in void * pvReallocContext,
|
|
__in unsigned long cbDataMost,
|
|
__in JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
JET_ERR JET_API
|
|
JetGetRecordSize(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out JET_RECSIZE * precsize,
|
|
__in const JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
JET_ERR JET_API
|
|
JetSetColumn(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_COLUMNID columnid,
|
|
__in_bcount_opt( cbData ) const void * pvData,
|
|
__in unsigned long cbData,
|
|
__in JET_GRBIT grbit,
|
|
__in_opt JET_SETINFO * psetinfo );
|
|
|
|
JET_ERR JET_API
|
|
JetSetColumns(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_ecount_opt( csetcolumn ) JET_SETCOLUMN * psetcolumn,
|
|
__in unsigned long csetcolumn );
|
|
|
|
JET_ERR JET_API
|
|
JetPrepareUpdate(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in unsigned long prep );
|
|
|
|
JET_ERR JET_API
|
|
JetGetRecordPosition(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount( cbRecpos ) JET_RECPOS * precpos,
|
|
__in unsigned long cbRecpos );
|
|
|
|
JET_ERR JET_API
|
|
JetGotoPosition(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_RECPOS * precpos );
|
|
|
|
JET_ERR JET_API
|
|
JetGetCursorInfo(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount( cbMax ) void * pvResult,
|
|
__in unsigned long cbMax,
|
|
__in unsigned long InfoLevel );
|
|
|
|
JET_ERR JET_API
|
|
JetDupCursor(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out JET_TABLEID * ptableid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetCurrentIndexA JetGetCurrentIndex
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetCurrentIndexA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount( ccbIndexName ) JET_PSTR szIndexName,
|
|
__in unsigned long ccbIndexName );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetCurrentIndexW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount( ccbIndexName ) JET_PWSTR szIndexName,
|
|
__in unsigned long ccbIndexName );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetCurrentIndex JetGetCurrentIndexW
|
|
#else
|
|
#define JetGetCurrentIndex JetGetCurrentIndexA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetSetCurrentIndexA JetSetCurrentIndex
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetSetCurrentIndexA(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_opt JET_PCSTR szIndexName );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetSetCurrentIndexW(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_opt JET_PCWSTR szIndexName );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetSetCurrentIndex JetSetCurrentIndexW
|
|
#else
|
|
#define JetSetCurrentIndex JetSetCurrentIndexA
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetSetCurrentIndex2A JetSetCurrentIndex2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetSetCurrentIndex2A(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_opt JET_PCSTR szIndexName,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetSetCurrentIndex2W(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_opt JET_PCWSTR szIndexName,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetSetCurrentIndex2 JetSetCurrentIndex2W
|
|
#else
|
|
#define JetSetCurrentIndex2 JetSetCurrentIndex2A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetSetCurrentIndex3A JetSetCurrentIndex3
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetSetCurrentIndex3A(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_opt JET_PCSTR szIndexName,
|
|
__in JET_GRBIT grbit,
|
|
__in unsigned long itagSequence );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetSetCurrentIndex3W(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_opt JET_PCWSTR szIndexName,
|
|
__in JET_GRBIT grbit,
|
|
__in unsigned long itagSequence );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetSetCurrentIndex3 JetSetCurrentIndex3W
|
|
#else
|
|
#define JetSetCurrentIndex3 JetSetCurrentIndex3A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetSetCurrentIndex4A JetSetCurrentIndex4
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetSetCurrentIndex4A(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_opt JET_PCSTR szIndexName,
|
|
__in_opt JET_INDEXID * pindexid,
|
|
__in JET_GRBIT grbit,
|
|
__in unsigned long itagSequence );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetSetCurrentIndex4W(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_opt JET_PCWSTR szIndexName,
|
|
__in_opt JET_INDEXID * pindexid,
|
|
__in JET_GRBIT grbit,
|
|
__in unsigned long itagSequence );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetSetCurrentIndex4 JetSetCurrentIndex4W
|
|
#else
|
|
#define JetSetCurrentIndex4 JetSetCurrentIndex4A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetMove(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in long cRow,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetGetLock(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetMakeKey(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_bcount_opt( cbData ) const void * pvData,
|
|
__in unsigned long cbData,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetSeek(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetGetBookmark(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) void * pvBookmark,
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetGetSecondaryIndexBookmark(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount_part_opt( cbSecondaryKeyMax, *pcbSecondaryKeyActual ) void * pvSecondaryKey,
|
|
__in unsigned long cbSecondaryKeyMax,
|
|
__out_opt unsigned long * pcbSecondaryKeyActual,
|
|
__out_bcount_part_opt( cbPrimaryBookmarkMax, *pcbPrimaryKeyActual ) void * pvPrimaryBookmark,
|
|
__in unsigned long cbPrimaryBookmarkMax,
|
|
__out_opt unsigned long * pcbPrimaryKeyActual,
|
|
__in const JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetCompactA JetCompact
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetCompactA(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szDatabaseSrc,
|
|
__in JET_PCSTR szDatabaseDest,
|
|
__in JET_PFNSTATUS pfnStatus,
|
|
__in_opt JET_CONVERT_A * pconvert,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetCompactW(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szDatabaseSrc,
|
|
__in JET_PCWSTR szDatabaseDest,
|
|
__in JET_PFNSTATUS pfnStatus,
|
|
__in_opt JET_CONVERT_W * pconvert,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetCompact JetCompactW
|
|
#else
|
|
#define JetCompact JetCompactA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDefragmentA JetDefragment
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDefragmentA(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szTableName,
|
|
__out_opt unsigned long * pcPasses,
|
|
__out_opt unsigned long * pcSeconds,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDefragmentW(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szTableName,
|
|
__out_opt unsigned long * pcPasses,
|
|
__out_opt unsigned long * pcSeconds,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDefragment JetDefragmentW
|
|
#else
|
|
#define JetDefragment JetDefragmentA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDefragment2A JetDefragment2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDefragment2A(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCSTR szTableName,
|
|
__out_opt unsigned long * pcPasses,
|
|
__out_opt unsigned long * pcSeconds,
|
|
__in JET_CALLBACK callback,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDefragment2W(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in JET_PCWSTR szTableName,
|
|
__out_opt unsigned long * pcPasses,
|
|
__out_opt unsigned long * pcSeconds,
|
|
__in JET_CALLBACK callback,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDefragment2 JetDefragment2W
|
|
#else
|
|
#define JetDefragment2 JetDefragment2A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetDefragment3A JetDefragment3
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetDefragment3A(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szDatabaseName,
|
|
__in JET_PCSTR szTableName,
|
|
__out_opt unsigned long * pcPasses,
|
|
__out_opt unsigned long * pcSeconds,
|
|
__in JET_CALLBACK callback,
|
|
__in void * pvContext,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetDefragment3W(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szDatabaseName,
|
|
__in JET_PCWSTR szTableName,
|
|
__out_opt unsigned long * pcPasses,
|
|
__out_opt unsigned long * pcSeconds,
|
|
__in JET_CALLBACK callback,
|
|
__in void * pvContext,
|
|
__in JET_GRBIT grbit );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetDefragment3 JetDefragment3W
|
|
#else
|
|
#define JetDefragment3 JetDefragment3A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetSetDatabaseSizeA JetSetDatabaseSize
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetSetDatabaseSizeA(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCSTR szDatabaseName,
|
|
__in unsigned long cpg,
|
|
__out unsigned long * pcpgReal );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetSetDatabaseSizeW(
|
|
__in JET_SESID sesid,
|
|
__in JET_PCWSTR szDatabaseName,
|
|
__in unsigned long cpg,
|
|
__out unsigned long * pcpgReal );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetSetDatabaseSize JetSetDatabaseSizeW
|
|
#else
|
|
#define JetSetDatabaseSize JetSetDatabaseSizeA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetGrowDatabase(
|
|
__in JET_SESID sesid,
|
|
__in JET_DBID dbid,
|
|
__in unsigned long cpg,
|
|
__in unsigned long * pcpgReal );
|
|
|
|
JET_ERR JET_API
|
|
JetSetSessionContext(
|
|
__in JET_SESID sesid,
|
|
__in JET_API_PTR ulContext );
|
|
|
|
JET_ERR JET_API
|
|
JetResetSessionContext(
|
|
__in JET_SESID sesid );
|
|
|
|
JET_ERR JET_API
|
|
JetGotoBookmark(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_bcount( cbBookmark ) void * pvBookmark,
|
|
__in unsigned long cbBookmark );
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetGotoSecondaryIndexBookmark(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in_bcount( cbSecondaryKey ) void * pvSecondaryKey,
|
|
__in unsigned long cbSecondaryKey,
|
|
__in_bcount_opt( cbPrimaryBookmark ) void * pvPrimaryBookmark,
|
|
__in unsigned long cbPrimaryBookmark,
|
|
__in const JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
JET_ERR JET_API
|
|
JetIntersectIndexes(
|
|
__in JET_SESID sesid,
|
|
__in_ecount( cindexrange ) JET_INDEXRANGE * rgindexrange,
|
|
__in unsigned long cindexrange,
|
|
__inout JET_RECORDLIST * precordlist,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetComputeStats(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid );
|
|
|
|
JET_ERR JET_API
|
|
JetOpenTempTable(
|
|
__in JET_SESID sesid,
|
|
__in_ecount( ccolumn ) const JET_COLUMNDEF * prgcolumndef,
|
|
__in unsigned long ccolumn,
|
|
__in JET_GRBIT grbit,
|
|
__out JET_TABLEID * ptableid,
|
|
__out_ecount( ccolumn ) JET_COLUMNID * prgcolumnid );
|
|
|
|
JET_ERR JET_API
|
|
JetOpenTempTable2(
|
|
__in JET_SESID sesid,
|
|
__in_ecount( ccolumn ) const JET_COLUMNDEF * prgcolumndef,
|
|
__in unsigned long lcid,
|
|
__in unsigned long ccolumn,
|
|
__in JET_GRBIT grbit,
|
|
__out JET_TABLEID * ptableid,
|
|
__out_ecount( ccolumn ) JET_COLUMNID * prgcolumnid );
|
|
|
|
JET_ERR JET_API
|
|
JetOpenTempTable3(
|
|
__in JET_SESID sesid,
|
|
__in_ecount( ccolumn ) const JET_COLUMNDEF * prgcolumndef,
|
|
__in unsigned long ccolumn,
|
|
__in_opt JET_UNICODEINDEX * pidxunicode,
|
|
__in JET_GRBIT grbit,
|
|
__out JET_TABLEID * ptableid,
|
|
__out_ecount( ccolumn ) JET_COLUMNID * prgcolumnid );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
JET_ERR JET_API
|
|
JetOpenTemporaryTable(
|
|
__in JET_SESID sesid,
|
|
__in JET_OPENTEMPORARYTABLE * popentemporarytable );
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetBackupA JetBackup
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetBackupA(
|
|
__in JET_PCSTR szBackupPath,
|
|
__in JET_GRBIT grbit,
|
|
__in JET_PFNSTATUS pfnStatus );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetBackupW(
|
|
__in JET_PCWSTR szBackupPath,
|
|
__in JET_GRBIT grbit,
|
|
__in JET_PFNSTATUS pfnStatus );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetBackup JetBackupW
|
|
#else
|
|
#define JetBackup JetBackupA
|
|
#endif
|
|
#endif
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetBackupInstanceA JetBackupInstance
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetBackupInstanceA(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_PCSTR szBackupPath,
|
|
__in JET_GRBIT grbit,
|
|
__in JET_PFNSTATUS pfnStatus );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetBackupInstanceW(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_PCWSTR szBackupPath,
|
|
__in JET_GRBIT grbit,
|
|
__in JET_PFNSTATUS pfnStatus );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetBackupInstance JetBackupInstanceW
|
|
#else
|
|
#define JetBackupInstance JetBackupInstanceA
|
|
#endif
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetRestoreA JetRestore
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetRestoreA(
|
|
__in JET_PCSTR sz,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetRestoreW(
|
|
__in JET_PCWSTR sz,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetRestore JetRestoreW
|
|
#else
|
|
#define JetRestore JetRestoreA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetRestore2A JetRestore2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetRestore2A(
|
|
__in JET_PCSTR sz,
|
|
__in_opt JET_PCSTR szDest,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetRestore2W(
|
|
__in JET_PCWSTR sz,
|
|
__in_opt JET_PCWSTR szDest,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetRestore2 JetRestore2W
|
|
#else
|
|
#define JetRestore2 JetRestore2A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetRestoreInstanceA JetRestoreInstance
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetRestoreInstanceA(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_PCSTR sz,
|
|
__in_opt JET_PCSTR szDest,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetRestoreInstanceW(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_PCWSTR sz,
|
|
__in_opt JET_PCWSTR szDest,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetRestoreInstance JetRestoreInstanceW
|
|
#else
|
|
#define JetRestoreInstance JetRestoreInstanceA
|
|
#endif
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
JET_ERR JET_API
|
|
JetSetIndexRange(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableidSrc,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetIndexRecordCount(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out unsigned long * pcrec,
|
|
__in unsigned long crecMax );
|
|
|
|
JET_ERR JET_API
|
|
JetRetrieveKey(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) void * pvData,
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API JetBeginExternalBackup( JET_GRBIT grbit );
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API JetBeginExternalBackupInstance( JET_INSTANCE instance, JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetAttachInfoA JetGetAttachInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetAttachInfoA(
|
|
#if ( JET_VERSION < 0x0600 )
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv,
|
|
#else
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz,
|
|
#endif
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetAttachInfoW(
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz,
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetAttachInfo JetGetAttachInfoW
|
|
#else
|
|
#define JetGetAttachInfo JetGetAttachInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetAttachInfoInstanceA JetGetAttachInfoInstance
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetAttachInfoInstanceA(
|
|
__in JET_INSTANCE instance,
|
|
#if ( JET_VERSION < 0x0600 )
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv,
|
|
#else
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz,
|
|
#endif
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetAttachInfoInstanceW(
|
|
__in JET_INSTANCE instance,
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz,
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetAttachInfoInstance JetGetAttachInfoInstanceW
|
|
#else
|
|
#define JetGetAttachInfoInstance JetGetAttachInfoInstanceA
|
|
#endif
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetOpenFileA JetOpenFile
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetOpenFileA(
|
|
__in JET_PCSTR szFileName,
|
|
__out JET_HANDLE * phfFile,
|
|
__out unsigned long * pulFileSizeLow,
|
|
__out unsigned long * pulFileSizeHigh );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetOpenFileW(
|
|
__in JET_PCWSTR szFileName,
|
|
__out JET_HANDLE * phfFile,
|
|
__out unsigned long * pulFileSizeLow,
|
|
__out unsigned long * pulFileSizeHigh );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetOpenFile JetOpenFileW
|
|
#else
|
|
#define JetOpenFile JetOpenFileA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetOpenFileInstanceA JetOpenFileInstance
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetOpenFileInstanceA(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_PCSTR szFileName,
|
|
__out JET_HANDLE * phfFile,
|
|
__out unsigned long * pulFileSizeLow,
|
|
__out unsigned long * pulFileSizeHigh );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetOpenFileInstanceW(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_PCWSTR szFileName,
|
|
__out JET_HANDLE * phfFile,
|
|
__out unsigned long * pulFileSizeLow,
|
|
__out unsigned long * pulFileSizeHigh );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetOpenFileInstance JetOpenFileInstanceW
|
|
#else
|
|
#define JetOpenFileInstance JetOpenFileInstanceA
|
|
#endif
|
|
#endif
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
JET_ERR JET_API
|
|
JetReadFile(
|
|
__in JET_HANDLE hfFile,
|
|
__out_bcount_part( cb, *pcbActual ) void * pv,
|
|
__in unsigned long cb,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetReadFileInstance(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_HANDLE hfFile,
|
|
__out_bcount_part( cb, *pcbActual ) void * pv,
|
|
__in unsigned long cb,
|
|
__out_opt unsigned long * pcbActual );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetCloseFile(
|
|
__in JET_HANDLE hfFile );
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetCloseFileInstance(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_HANDLE hfFile );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetLogInfoA JetGetLogInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetLogInfoA(
|
|
#if ( JET_VERSION < 0x0600 )
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv,
|
|
#else
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz,
|
|
#endif
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetLogInfoW(
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz,
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetLogInfo JetGetLogInfoW
|
|
#else
|
|
#define JetGetLogInfo JetGetLogInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetLogInfoInstanceA JetGetLogInfoInstance
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetLogInfoInstanceA(
|
|
__in JET_INSTANCE instance,
|
|
#if ( JET_VERSION < 0x0600 )
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv,
|
|
#else
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz,
|
|
#endif
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetLogInfoInstanceW(
|
|
__in JET_INSTANCE instance,
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz,
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetLogInfoInstance JetGetLogInfoInstanceW
|
|
#else
|
|
#define JetGetLogInfoInstance JetGetLogInfoInstanceA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#define JET_BASE_NAME_LENGTH 3
|
|
typedef struct
|
|
{
|
|
unsigned long cbSize;
|
|
unsigned long ulGenLow;
|
|
unsigned long ulGenHigh;
|
|
char szBaseName[ JET_BASE_NAME_LENGTH + 1 ];
|
|
} JET_LOGINFO_A;
|
|
|
|
typedef struct
|
|
{
|
|
unsigned long cbSize;
|
|
unsigned long ulGenLow;
|
|
unsigned long ulGenHigh;
|
|
WCHAR szBaseName[ JET_BASE_NAME_LENGTH + 1 ];
|
|
} JET_LOGINFO_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_LOGINFO JET_LOGINFO_W
|
|
#else
|
|
#define JET_LOGINFO JET_LOGINFO_A
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetLogInfoInstance2A JetGetLogInfoInstance2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetLogInfoInstance2A(
|
|
__in JET_INSTANCE instance,
|
|
#if ( JET_VERSION < 0x0600 )
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv,
|
|
#else
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz,
|
|
#endif
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual,
|
|
__inout_opt JET_LOGINFO_A * pLogInfo );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetLogInfoInstance2W(
|
|
__in JET_INSTANCE instance,
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz,
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual,
|
|
__inout_opt JET_LOGINFO_W * pLogInfo );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetLogInfoInstance2 JetGetLogInfoInstance2W
|
|
#else
|
|
#define JetGetLogInfoInstance2 JetGetLogInfoInstance2A
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetTruncateLogInfoInstanceA JetGetTruncateLogInfoInstance
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetTruncateLogInfoInstanceA(
|
|
__in JET_INSTANCE instance,
|
|
#if ( JET_VERSION < 0x0600 )
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv,
|
|
#else
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz,
|
|
#endif
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetTruncateLogInfoInstanceW(
|
|
__in JET_INSTANCE instance,
|
|
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz,
|
|
__in unsigned long cbMax,
|
|
__out_opt unsigned long * pcbActual );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetTruncateLogInfoInstance JetGetTruncateLogInfoInstanceW
|
|
#else
|
|
#define JetGetTruncateLogInfoInstance JetGetTruncateLogInfoInstanceA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
JET_ERR JET_API JetTruncateLog( void );
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetTruncateLogInstance(
|
|
__in JET_INSTANCE instance );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
JET_ERR JET_API JetEndExternalBackup( void );
|
|
#if ( JET_VERSION >= 0x0501 )
|
|
JET_ERR JET_API
|
|
JetEndExternalBackupInstance(
|
|
__in JET_INSTANCE instance );
|
|
|
|
/* Flags for JetEndExternalBackupInstance2 */
|
|
#define JET_bitBackupEndNormal 0x0001
|
|
#define JET_bitBackupEndAbort 0x0002
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
#define JET_bitBackupTruncateDone 0x0100
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
JET_ERR JET_API
|
|
JetEndExternalBackupInstance2(
|
|
__in JET_INSTANCE instance,
|
|
__in JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetExternalRestoreA JetExternalRestore
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetExternalRestoreA(
|
|
__in JET_PSTR szCheckpointFilePath,
|
|
__in JET_PSTR szLogPath,
|
|
__in_ecount_opt( crstfilemap ) JET_RSTMAP_A * rgrstmap,
|
|
__in long crstfilemap,
|
|
__in JET_PSTR szBackupLogPath,
|
|
__in long genLow,
|
|
__in long genHigh,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetExternalRestoreW(
|
|
__in JET_PWSTR szCheckpointFilePath,
|
|
__in JET_PWSTR szLogPath,
|
|
__in_ecount_opt( crstfilemap ) JET_RSTMAP_W * rgrstmap,
|
|
__in long crstfilemap,
|
|
__in JET_PWSTR szBackupLogPath,
|
|
__in long genLow,
|
|
__in long genHigh,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetExternalRestore JetExternalRestoreW
|
|
#else
|
|
#define JetExternalRestore JetExternalRestoreA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
#if JET_VERSION >= 0x0501
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetExternalRestore2A JetExternalRestore2
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetExternalRestore2A(
|
|
__in JET_PSTR szCheckpointFilePath,
|
|
__in JET_PSTR szLogPath,
|
|
__in_ecount_opt( crstfilemap ) JET_RSTMAP_A * rgrstmap,
|
|
__in long crstfilemap,
|
|
__in JET_PSTR szBackupLogPath,
|
|
__inout JET_LOGINFO_A * pLogInfo,
|
|
__in_opt JET_PSTR szTargetInstanceName,
|
|
__in_opt JET_PSTR szTargetInstanceLogPath,
|
|
__in_opt JET_PSTR szTargetInstanceCheckpointPath,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetExternalRestore2W(
|
|
__in JET_PWSTR szCheckpointFilePath,
|
|
__in JET_PWSTR szLogPath,
|
|
__in_ecount_opt( crstfilemap ) JET_RSTMAP_W * rgrstmap,
|
|
__in long crstfilemap,
|
|
__in JET_PWSTR szBackupLogPath,
|
|
__inout JET_LOGINFO_W * pLogInfo,
|
|
__in_opt JET_PWSTR szTargetInstanceName,
|
|
__in_opt JET_PWSTR szTargetInstanceLogPath,
|
|
__in_opt JET_PWSTR szTargetInstanceCheckpointPath,
|
|
__in JET_PFNSTATUS pfn );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetExternalRestore2 JetExternalRestore2W
|
|
#else
|
|
#define JetExternalRestore2 JetExternalRestore2A
|
|
#endif
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetRegisterCallback(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_CBTYP cbtyp,
|
|
__in JET_CALLBACK pCallback,
|
|
__in void * pvContext,
|
|
__out JET_HANDLE * phCallbackId );
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetUnregisterCallback(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_CBTYP cbtyp,
|
|
__in JET_HANDLE hCallbackId );
|
|
|
|
typedef struct _JET_INSTANCE_INFO_A
|
|
{
|
|
JET_INSTANCE hInstanceId;
|
|
char * szInstanceName;
|
|
|
|
JET_API_PTR cDatabases;
|
|
char ** szDatabaseFileName;
|
|
char ** szDatabaseDisplayName;
|
|
char ** szDatabaseSLVFileName;
|
|
} JET_INSTANCE_INFO_A;
|
|
|
|
typedef struct _JET_INSTANCE_INFO_W
|
|
{
|
|
JET_INSTANCE hInstanceId;
|
|
WCHAR * szInstanceName;
|
|
|
|
JET_API_PTR cDatabases;
|
|
WCHAR ** szDatabaseFileName;
|
|
WCHAR ** szDatabaseDisplayName;
|
|
WCHAR ** szDatabaseSLVFileName;
|
|
} JET_INSTANCE_INFO_W;
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JET_INSTANCE_INFO JET_INSTANCE_INFO_W
|
|
#else
|
|
#define JET_INSTANCE_INFO JET_INSTANCE_INFO_A
|
|
#endif
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetGetInstanceInfoA JetGetInstanceInfo
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetGetInstanceInfoA(
|
|
__out unsigned long * pcInstanceInfo,
|
|
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** paInstanceInfo );
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetGetInstanceInfoW(
|
|
__out unsigned long * pcInstanceInfo,
|
|
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** paInstanceInfo );
|
|
|
|
#ifdef JET_UNICODE
|
|
#define JetGetInstanceInfo JetGetInstanceInfoW
|
|
#else
|
|
#define JetGetInstanceInfo JetGetInstanceInfoA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetFreeBuffer(
|
|
__notnull char * pbBuf );
|
|
|
|
JET_ERR JET_API
|
|
JetSetLS(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__in JET_LS ls,
|
|
__in JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetGetLS(
|
|
__in JET_SESID sesid,
|
|
__in JET_TABLEID tableid,
|
|
__out JET_LS * pls,
|
|
__in JET_GRBIT grbit );
|
|
|
|
typedef JET_API_PTR JET_OSSNAPID; /* Snapshot Session Identifier */
|
|
|
|
JET_ERR JET_API
|
|
JetOSSnapshotPrepare(
|
|
__out JET_OSSNAPID * psnapId,
|
|
__in const JET_GRBIT grbit );
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
JET_ERR JET_API
|
|
JetOSSnapshotPrepareInstance(
|
|
__in JET_OSSNAPID snapId,
|
|
__in JET_INSTANCE instance,
|
|
__in const JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0600
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetOSSnapshotFreezeA JetOSSnapshotFreeze
|
|
#endif
|
|
JET_ERR JET_API
|
|
JetOSSnapshotFreezeA(
|
|
__in const JET_OSSNAPID snapId,
|
|
__out unsigned long * pcInstanceInfo,
|
|
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** paInstanceInfo,
|
|
__in const JET_GRBIT grbit );
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
JET_ERR JET_API
|
|
JetOSSnapshotFreezeW(
|
|
__in const JET_OSSNAPID snapId,
|
|
__out unsigned long * pcInstanceInfo,
|
|
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** paInstanceInfo,
|
|
__in const JET_GRBIT grbit );
|
|
#ifdef JET_UNICODE
|
|
#define JetOSSnapshotFreeze JetOSSnapshotFreezeW
|
|
#else
|
|
#define JetOSSnapshotFreeze JetOSSnapshotFreezeA
|
|
#endif
|
|
#endif
|
|
|
|
|
|
JET_ERR JET_API
|
|
JetOSSnapshotThaw(
|
|
__in const JET_OSSNAPID snapId,
|
|
__in const JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0501
|
|
|
|
#if ( JET_VERSION >= 0x0502 )
|
|
JET_ERR JET_API
|
|
JetOSSnapshotAbort(
|
|
__in const JET_OSSNAPID snapId,
|
|
__in const JET_GRBIT grbit );
|
|
#endif // JET_VERSION >= 0x0502
|
|
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
|
|
JET_ERR JET_API
|
|
JetOSSnapshotTruncateLog(
|
|
__in const JET_OSSNAPID snapId,
|
|
__in const JET_GRBIT grbit );
|
|
|
|
JET_ERR JET_API
|
|
JetOSSnapshotTruncateLogInstance(
|
|
__in const JET_OSSNAPID snapId,
|
|
__in JET_INSTANCE instance,
|
|
__in const JET_GRBIT grbit );
|
|
|
|
#if ( JET_VERSION < 0x0600 )
|
|
#define JetOSSnapshotGetFreezeInfoA JetOSSnapshotGetFreezeInfo
|
|
#endif
|
|
JET_ERR JET_API
|
|
JetOSSnapshotGetFreezeInfoA(
|
|
__in const JET_OSSNAPID snapId,
|
|
__out unsigned long * pcInstanceInfo,
|
|
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** paInstanceInfo,
|
|
__in const JET_GRBIT grbit );
|
|
#if ( JET_VERSION >= 0x0600 )
|
|
JET_ERR JET_API
|
|
JetOSSnapshotGetFreezeInfoW(
|
|
__in const JET_OSSNAPID snapId,
|
|
__out unsigned long * pcInstanceInfo,
|
|
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** paInstanceInfo,
|
|
__in const JET_GRBIT grbit );
|
|
#ifdef JET_UNICODE
|
|
#define JetOSSnapshotGetFreezeInfo JetOSSnapshotGetFreezeInfoW
|
|
#else
|
|
#define JetOSSnapshotGetFreezeInfo JetOSSnapshotGetFreezeInfoA
|
|
#endif
|
|
#endif
|
|
|
|
JET_ERR JET_API
|
|
JetOSSnapshotEnd(
|
|
__in const JET_OSSNAPID snapId,
|
|
__in const JET_GRBIT grbit );
|
|
|
|
#endif // JET_VERSION >= 0x0600
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _JET_NOPROTOTYPES */
|
|
|
|
#include <poppack.h>
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* _JET_INCLUDED */
|
|
|
|
|