Headers diff for esent.dll between 6.1.7601.17577-Windows_7.0 and 6.3.9600.17415-Windows_8.1 versions



 esent.h (6.1.7601.17577-Windows_7.0)   esent.h (6.3.9600.17415-Windows_8.1) 
skipping to change at line 23 skipping to change at line 23
--*/ --*/
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#if !defined(_JET_INCLUDED) #if !defined(_JET_INCLUDED)
#define _JET_INCLUDED #define _JET_INCLUDED
#include <winapifamily.h>
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#include <specstrings.h> #include <specstrings.h>
// JET_VERSION is similar to WINVER. It allows the most recent header to be used // JET_VERSION is similar to WINVER. It allows the most recent header to be used
// against older targets. Supported versions are: // against older targets. Supported versions are:
// 0x0500 - Windows 2000 // 0x0500 - Windows 2000
// 0x0501 - Windows XP // 0x0501 - Windows XP
// 0x0502 - Windows Server 2003 // 0x0502 - Windows Server 2003
// 0x0600 - Windows Vista / Windows Server 2008 // 0x0600 - Windows Vista / Windows Server 2008
// 0x0601 - Windows 7 // 0x0601 - Windows 7
// 0x0602 - Windows 8
// 0x0603 - Windows 8.1
#ifndef JET_VERSION #ifndef JET_VERSION
# ifdef WINVER # ifdef WINVER
# define JET_VERSION WINVER # define JET_VERSION WINVER
# else # else
// JET_VERSION has not been specified. Assume all functions are available. // JET_VERSION has not been specified. Assume all functions are available.
# define JET_VERSION 0x0601 # define JET_VERSION 0x0603
# endif # endif
#endif #endif
#if defined(_M_AMD64) || defined(_M_IA64) #if defined(_M_AMD64) || defined(_M_IA64)
#include <pshpack8.h> #include <pshpack8.h>
#else #else
#include <pshpack4.h> #include <pshpack4.h>
#endif #endif
#pragma warning(push) #pragma warning(push)
skipping to change at line 97 skipping to change at line 101
typedef unsigned long JET_GRBIT; /* Group of Bits */ typedef unsigned long JET_GRBIT; /* Group of Bits */
typedef unsigned long JET_SNP; /* Status Notification Process */ typedef unsigned long JET_SNP; /* Status Notification Process */
typedef unsigned long JET_SNT; /* Status Notification Type */ typedef unsigned long JET_SNT; /* Status Notification Type */
typedef double JET_DATESERIAL; /* JET_coltypDateTime format */ typedef double JET_DATESERIAL; /* JET_coltypDateTime format */
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
typedef unsigned long JET_CBTYP; /* Callback Types */ typedef unsigned long JET_CBTYP; /* Callback Types */
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
typedef JET_ERR (JET_API *JET_PFNSTATUS)( typedef JET_ERR (JET_API *JET_PFNSTATUS)(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_SNP snp, _In_ JET_SNP snp,
__in JET_SNT snt, _In_ JET_SNT snt,
__in_opt void * pv ); _In_opt_ void * pv );
/* required to make RSTMAP RPC capable /* required to make RSTMAP RPC capable
/**/ /**/
#ifdef MIDL_PASS #ifdef MIDL_PASS
#define xRPC_STRING [string] #define xRPC_STRING [string]
#else #else
#define xRPC_STRING #define xRPC_STRING
#if !defined(_NATIVE_WCHAR_T_DEFINED) #if !defined(_NATIVE_WCHAR_T_DEFINED)
typedef unsigned short WCHAR; typedef unsigned short WCHAR;
#else #else
typedef wchar_t WCHAR; typedef wchar_t WCHAR;
#endif #endif
#endif #endif
typedef __nullterminated char * JET_PSTR; /* ASCII string (char *) null term typedef _Null_terminated_ char * JET_PSTR; /* ASCII string (char *) null ter
inated */ minated */
typedef __nullterminated const char * JET_PCSTR; /* const ASCII string (char typedef _Null_terminated_ const char * JET_PCSTR; /* const ASCII string (char
*) null terminated */ *) null terminated */
typedef __nullterminated WCHAR * JET_PWSTR; /* Unicode string (char *) null te typedef _Null_terminated_ WCHAR * JET_PWSTR; /* Unicode string (char *) null t
rminated */ erminated */
typedef __nullterminated const WCHAR * JET_PCWSTR; /* const Unicode string (cha typedef _Null_terminated_ const WCHAR * JET_PCWSTR; /* const Unicode string (ch
r *) null terminated */ ar *) null terminated */
typedef struct typedef struct
{ {
xRPC_STRING char *szDatabaseName; xRPC_STRING char *szDatabaseName;
xRPC_STRING char *szNewDatabaseName; xRPC_STRING char *szNewDatabaseName;
} JET_RSTMAP_A; /* restore map */ } JET_RSTMAP_A; /* restore map */
typedef struct typedef struct
{ {
xRPC_STRING WCHAR *szDatabaseName; xRPC_STRING WCHAR *szDatabaseName;
skipping to change at line 180 skipping to change at line 184
// Online defragmentation options // Online defragmentation options
#define JET_bitDefragmentBatchStart 0x00000001 #define JET_bitDefragmentBatchStart 0x00000001
#define JET_bitDefragmentBatchStop 0x00000002 #define JET_bitDefragmentBatchStop 0x00000002
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_bitDefragmentAvailSpaceTreesOnly 0x00000040 /* only defrag Av ailExt trees */ #define JET_bitDefragmentAvailSpaceTreesOnly 0x00000040 /* only defrag Av ailExt trees */
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_bitDefragmentNoPartialMerges 0x00000080 /* don't do partial merges during OLD */ #define JET_bitDefragmentNoPartialMerges 0x00000080 /* don't do partial merges during OLD */
#define JET_bitDefragmentBTree 0x00000100 / #define JET_bitDefragmentBTree 0x00000100 /
* defrag one B-Tree (testing only) */ * defrag one B-Tree */
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
/* Callback-function types */ /* Callback-function types */
#define JET_cbtypNull 0x0000000 0 #define JET_cbtypNull 0x0000000 0
#define JET_cbtypFinalize 0x0000000 1 /* a finalizable column has gone to zero */ #define JET_cbtypFinalize 0x0000000 1 /* a finalizable column has gone to zero */
#define JET_cbtypBeforeInsert 0x00000002 / * about to insert a record */ #define JET_cbtypBeforeInsert 0x00000002 / * about to insert a record */
#define JET_cbtypAfterInsert 0x00000004 / * finished inserting a record */ #define JET_cbtypAfterInsert 0x00000004 / * finished inserting a record */
#define JET_cbtypBeforeReplace 0x00000008 / * about to modify a record */ #define JET_cbtypBeforeReplace 0x00000008 / * about to modify a record */
skipping to change at line 202 skipping to change at line 207
#define JET_cbtypBeforeDelete 0x00000020 / * about to delete a record */ #define JET_cbtypBeforeDelete 0x00000020 / * about to delete a record */
#define JET_cbtypAfterDelete 0x00000040 / * finished deleting the record */ #define JET_cbtypAfterDelete 0x00000040 / * finished deleting the record */
#define JET_cbtypUserDefinedDefaultValue 0x00000080 /* calcul ating a user-defined default */ #define JET_cbtypUserDefinedDefaultValue 0x00000080 /* calcul ating a user-defined default */
#define JET_cbtypOnlineDefragCompleted 0x00000100 /* a call to JetDefragment2 has completed */ #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_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 */ #define JET_cbtypFreeTableLS 0x00000400 / * the Local Storage associated with a table must be freed */
/* Callback-function prototype */ /* Callback-function prototype */
typedef JET_ERR (JET_API *JET_CALLBACK)( typedef JET_ERR (JET_API *JET_CALLBACK)(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_CBTYP cbtyp, _In_ JET_CBTYP cbtyp,
__inout_opt void * pvArg1, _Inout_opt_ void * pvArg1,
__inout_opt void * pvArg2, _Inout_opt_ void * pvArg2,
__in_opt void * pvContext, _In_opt_ void * pvContext,
__in JET_API_PTR ulUnused ); _In_ JET_API_PTR ulUnused );
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
/* Status Notification Structures */ /* Status Notification Structures */
typedef struct /* Status Notification Progress */ typedef struct /* Status Notification Progress */
{ {
unsigned long cbStruct; /* Size of this structure */ unsigned long cbStruct; /* Size of this structure */
unsigned long cunitDone; /* Number of units of work completed */ unsigned long cunitDone; /* Number of units of work completed */
unsigned long cunitTotal; /* Total number of units of work */ unsigned long cunitTotal; /* Total number of units of work */
} JET_SNPROG; } JET_SNPROG;
skipping to change at line 301 skipping to change at line 306
typedef struct typedef struct
{ {
unsigned long cbStruct; unsigned long cbStruct;
JET_TABLEID tableid; JET_TABLEID tableid;
unsigned long cRecord; unsigned long cRecord;
JET_COLUMNID columnidPresentationOrder; JET_COLUMNID columnidPresentationOrder;
JET_COLUMNID columnidcolumnname; JET_COLUMNID columnidcolumnname;
JET_COLUMNID columnidcolumnid; JET_COLUMNID columnidcolumnid;
JET_COLUMNID columnidcoltyp; JET_COLUMNID columnidcoltyp;
JET_COLUMNID columnidCountry; JET_COLUMNID columnidCountry; // specifies the columnid for the country/region field
JET_COLUMNID columnidLangid; JET_COLUMNID columnidLangid;
JET_COLUMNID columnidCp; JET_COLUMNID columnidCp;
JET_COLUMNID columnidCollate; JET_COLUMNID columnidCollate;
JET_COLUMNID columnidcbMax; JET_COLUMNID columnidcbMax;
JET_COLUMNID columnidgrbit; JET_COLUMNID columnidgrbit;
JET_COLUMNID columnidDefault; JET_COLUMNID columnidDefault;
JET_COLUMNID columnidBaseTableName; JET_COLUMNID columnidBaseTableName;
JET_COLUMNID columnidBaseColumnName; JET_COLUMNID columnidBaseColumnName;
JET_COLUMNID columnidDefinitionName; JET_COLUMNID columnidDefinitionName;
} JET_COLUMNLIST; } JET_COLUMNLIST;
#define cColumnInfoCols 14 #define cColumnInfoCols 14
typedef struct typedef struct
{ {
unsigned long cbStruct; unsigned long cbStruct;
JET_COLUMNID columnid; JET_COLUMNID columnid;
JET_COLTYP coltyp; JET_COLTYP coltyp;
unsigned short wCountry; unsigned short wCountry; // sepcifies the country/ region for the column definition
unsigned short langid; unsigned short langid;
unsigned short cp; unsigned short cp;
unsigned short wCollate; /* Must be 0 */ unsigned short wCollate; /* Must be 0 */
unsigned long cbMax; unsigned long cbMax;
JET_GRBIT grbit; JET_GRBIT grbit;
} JET_COLUMNDEF; } JET_COLUMNDEF;
typedef struct typedef struct
{ {
unsigned long cbStruct; unsigned long cbStruct;
JET_COLUMNID columnid; JET_COLUMNID columnid;
JET_COLTYP coltyp; JET_COLTYP coltyp;
unsigned short wCountry; unsigned short wCountry; // specifies the columnid for the country/region field
unsigned short langid; unsigned short langid;
unsigned short cp; unsigned short cp;
unsigned short wFiller; /* Must be 0 */ unsigned short wFiller; /* Must be 0 */
unsigned long cbMax; unsigned long cbMax;
JET_GRBIT grbit; JET_GRBIT grbit;
char szBaseTableName[256]; char szBaseTableName[256];
char szBaseColumnName[256]; char szBaseColumnName[256];
} JET_COLUMNBASE_A; } JET_COLUMNBASE_A;
typedef struct typedef struct
{ {
unsigned long cbStruct; unsigned long cbStruct;
JET_COLUMNID columnid; JET_COLUMNID columnid;
JET_COLTYP coltyp; JET_COLTYP coltyp;
unsigned short wCountry; unsigned short wCountry; // specifies the columnid for the country/region field
unsigned short langid; unsigned short langid;
unsigned short cp; unsigned short cp;
unsigned short wFiller; /* Must be 0 */ unsigned short wFiller; /* Must be 0 */
unsigned long cbMax; unsigned long cbMax;
JET_GRBIT grbit; JET_GRBIT grbit;
WCHAR szBaseTableName[256]; WCHAR szBaseTableName[256];
WCHAR szBaseColumnName[256]; WCHAR szBaseColumnName[256];
} JET_COLUMNBASE_W; } JET_COLUMNBASE_W;
#ifdef JET_UNICODE #ifdef JET_UNICODE
skipping to change at line 378 skipping to change at line 383
unsigned long cRecord; unsigned long cRecord;
JET_COLUMNID columnidindexname; JET_COLUMNID columnidindexname;
JET_COLUMNID columnidgrbitIndex; JET_COLUMNID columnidgrbitIndex;
JET_COLUMNID columnidcKey; JET_COLUMNID columnidcKey;
JET_COLUMNID columnidcEntry; JET_COLUMNID columnidcEntry;
JET_COLUMNID columnidcPage; JET_COLUMNID columnidcPage;
JET_COLUMNID columnidcColumn; JET_COLUMNID columnidcColumn;
JET_COLUMNID columnidiColumn; JET_COLUMNID columnidiColumn;
JET_COLUMNID columnidcolumnid; JET_COLUMNID columnidcolumnid;
JET_COLUMNID columnidcoltyp; JET_COLUMNID columnidcoltyp;
JET_COLUMNID columnidCountry; JET_COLUMNID columnidCountry; // specifies the columnid for the country/region field
JET_COLUMNID columnidLangid; JET_COLUMNID columnidLangid;
JET_COLUMNID columnidCp; JET_COLUMNID columnidCp;
JET_COLUMNID columnidCollate; JET_COLUMNID columnidCollate;
JET_COLUMNID columnidgrbitColumn; JET_COLUMNID columnidgrbitColumn;
JET_COLUMNID columnidcolumnname; JET_COLUMNID columnidcolumnname;
JET_COLUMNID columnidLCMapFlags; JET_COLUMNID columnidLCMapFlags;
} JET_INDEXLIST; } JET_INDEXLIST;
#define cIndexInfoCols 15 #define cIndexInfoCols 15
skipping to change at line 477 skipping to change at line 482
#else #else
#define JET_CONDITIONALCOLUMN JET_CONDITIONALCOLUMN_A #define JET_CONDITIONALCOLUMN JET_CONDITIONALCOLUMN_A
#endif #endif
typedef struct tagJET_UNICODEINDEX typedef struct tagJET_UNICODEINDEX
{ {
unsigned long lcid; unsigned long lcid;
unsigned long dwMapFlags; unsigned long dwMapFlags;
} JET_UNICODEINDEX; } JET_UNICODEINDEX;
#if ( JET_VERSION >= 0x0602 )
typedef struct tagJET_UNICODEINDEX2
{
WCHAR *szLocaleName;
unsigned long dwMapFlags;
} JET_UNICODEINDEX2;
#endif //JET_VERSION >= 0x0602
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
typedef struct tagJET_TUPLELIMITS typedef struct tagJET_TUPLELIMITS
{ {
unsigned long chLengthMin; unsigned long chLengthMin;
unsigned long chLengthMax; unsigned long chLengthMax;
unsigned long chToIndexMax; unsigned long chToIndexMax;
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
unsigned long cchIncrement; unsigned long cchIncrement;
unsigned long ichStart; unsigned long ichStart;
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
skipping to change at line 530 skipping to change at line 543
unsigned long ulDensity; / / index density unsigned long ulDensity; / / index density
union union
{ {
unsigned long lcid; / / lcid for the index (if JET_bitIndexUnicode NOT specified) unsigned long lcid; / / lcid for the index (if JET_bitIndexUnicode NOT specified)
JET_UNICODEINDEX *pidxunicode; // pointe r to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified) JET_UNICODEINDEX *pidxunicode; // pointe r to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified)
}; };
union union
{ {
unsigned long cbVarSegMac; // maximu m length of variable length columns in index key (if JET_bitIndexTupleLimits spe cified) unsigned long cbVarSegMac; // maximu m length of variable length columns in index key (if JET_bitIndexTupleLimits not specified)
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
JET_TUPLELIMITS *ptuplelimits; // pointe r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified) JET_TUPLELIMITS *ptuplelimits; // pointe r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified)
#endif // ! JET_VERSION >= 0x0502 #endif // ! JET_VERSION >= 0x0502
}; };
JET_CONDITIONALCOLUMN_A *rgconditionalcolumn; // pointer to conditional column structure JET_CONDITIONALCOLUMN_A *rgconditionalcolumn; // pointer to conditional column structure
unsigned long cConditionalColumn; // number of conditional columns unsigned long cConditionalColumn; // number of conditional columns
JET_ERR err; // returned error code JET_ERR err; // returned error code
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
unsigned long cbKeyMost; / / size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos t specified) unsigned long cbKeyMost; / / size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos t specified)
skipping to change at line 561 skipping to change at line 574
unsigned long ulDensity; / / index density unsigned long ulDensity; / / index density
union union
{ {
unsigned long lcid; / / lcid for the index (if JET_bitIndexUnicode NOT specified) unsigned long lcid; / / lcid for the index (if JET_bitIndexUnicode NOT specified)
JET_UNICODEINDEX *pidxunicode; // pointe r to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified) JET_UNICODEINDEX *pidxunicode; // pointe r to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified)
}; };
union union
{ {
unsigned long cbVarSegMac; // maximu m length of variable length columns in index key (if JET_bitIndexTupleLimits spe cified) unsigned long cbVarSegMac; // maximu m length of variable length columns in index key (if JET_bitIndexTupleLimits not specified)
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
JET_TUPLELIMITS *ptuplelimits; // pointe r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified) JET_TUPLELIMITS *ptuplelimits; // pointe r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified)
#endif // ! JET_VERSION >= 0x0502 #endif // ! JET_VERSION >= 0x0502
}; };
JET_CONDITIONALCOLUMN_W *rgconditionalcolumn; // pointer to conditional column structure JET_CONDITIONALCOLUMN_W *rgconditionalcolumn; // pointer to conditional column structure
unsigned long cConditionalColumn; // number of conditional columns unsigned long cConditionalColumn; // number of conditional columns
JET_ERR err; // returned error code JET_ERR err; // returned error code
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
unsigned long cbKeyMost; / / size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos t specified) unsigned long cbKeyMost; / / size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos t specified)
skipping to change at line 600 skipping to change at line 613
unsigned long ulDensity; / / index density unsigned long ulDensity; / / index density
union union
{ {
unsigned long lcid; / / lcid for the index (if JET_bitIndexUnicode NOT specified) unsigned long lcid; / / lcid for the index (if JET_bitIndexUnicode NOT specified)
JET_UNICODEINDEX *pidxunicode; // pointe r to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified) JET_UNICODEINDEX *pidxunicode; // pointe r to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified)
}; };
union union
{ {
unsigned long cbVarSegMac; // maximu m length of variable length columns in index key (if JET_bitIndexTupleLimits spe cified) unsigned long cbVarSegMac; // maximu m length of variable length columns in index key (if JET_bitIndexTupleLimits not specified)
JET_TUPLELIMITS *ptuplelimits; // pointe r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified) JET_TUPLELIMITS *ptuplelimits; // pointe r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified)
}; };
JET_CONDITIONALCOLUMN_A *rgconditionalcolumn; // pointer to conditional column structure JET_CONDITIONALCOLUMN_A *rgconditionalcolumn; // pointer to conditional column structure
unsigned long cConditionalColumn; // number of conditional columns unsigned long cConditionalColumn; // number of conditional columns
JET_ERR err; // returned error code JET_ERR err; // returned error code
unsigned long cbKeyMost; / / size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos t specified) unsigned long cbKeyMost; / / size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos t specified)
JET_SPACEHINTS * pSpacehints; // space allocati on, maintenance, and usage hints JET_SPACEHINTS * pSpacehints; // space allocati on, maintenance, and usage hints
} JET_INDEXCREATE2_A; } JET_INDEXCREATE2_A;
skipping to change at line 628 skipping to change at line 641
unsigned long ulDensity; / / index density unsigned long ulDensity; / / index density
union union
{ {
unsigned long lcid; / / lcid for the index (if JET_bitIndexUnicode NOT specified) unsigned long lcid; / / lcid for the index (if JET_bitIndexUnicode NOT specified)
JET_UNICODEINDEX *pidxunicode; // pointe r to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified) JET_UNICODEINDEX *pidxunicode; // pointe r to JET_UNICODEINDEX struct (if JET_bitIndexUnicode specified)
}; };
union union
{ {
unsigned long cbVarSegMac; // maximu m length of variable length columns in index key (if JET_bitIndexTupleLimits spe cified) unsigned long cbVarSegMac; // maximu m length of variable length columns in index key (if JET_bitIndexTupleLimits not specified)
JET_TUPLELIMITS *ptuplelimits; // pointe r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified) JET_TUPLELIMITS *ptuplelimits; // pointe r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified)
}; };
JET_CONDITIONALCOLUMN_W *rgconditionalcolumn; // pointer to conditional column structure JET_CONDITIONALCOLUMN_W *rgconditionalcolumn; // pointer to conditional column structure
unsigned long cConditionalColumn; // number of conditional columns unsigned long cConditionalColumn; // number of conditional columns
JET_ERR err; // returned error code JET_ERR err; // returned error code
unsigned long cbKeyMost; / / size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos t specified) unsigned long cbKeyMost; / / size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos t specified)
JET_SPACEHINTS * pSpacehints; // space allocation, maintenance, and usage hints JET_SPACEHINTS * pSpacehints; // space allocation, maintenance, and usage hints
} JET_INDEXCREATE2_W; } JET_INDEXCREATE2_W;
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JET_INDEXCREATE2 JET_INDEXCREATE2_W #define JET_INDEXCREATE2 JET_INDEXCREATE2_W
#else #else
#define JET_INDEXCREATE2 JET_INDEXCREATE2_A #define JET_INDEXCREATE2 JET_INDEXCREATE2_A
#endif #endif
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0602 )
typedef struct tagJET_INDEXCREATE3_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
JET_UNICODEINDEX2 *pidxunicode; // pointe
r to JET_UNICODEINDEX2 struct (if JET_bitIndexUnicode specified)
union
{
unsigned long cbVarSegMac; // maximu
m length of variable length columns in index key (if JET_bitIndexTupleLimits not
specified)
JET_TUPLELIMITS *ptuplelimits; // pointe
r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified)
};
JET_CONDITIONALCOLUMN_A *rgconditionalcolumn; // pointer to conditional
column structure
unsigned long cConditionalColumn; // number
of conditional columns
JET_ERR err;
// returned error code
unsigned long cbKeyMost; /
/ size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos
t specified)
JET_SPACEHINTS * pSpacehints; // space allocati
on, maintenance, and usage hints
} JET_INDEXCREATE3_A;
typedef struct tagJET_INDEXCREATE3_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
JET_UNICODEINDEX2 *pidxunicode; // pointe
r to JET_UNICODEINDEX2 struct (if JET_bitIndexUnicode specified)
union
{
unsigned long cbVarSegMac; // maximu
m length of variable length columns in index key (if JET_bitIndexTupleLimits not
specified)
JET_TUPLELIMITS *ptuplelimits; // pointe
r to JET_TUPLELIMITS struct (if JET_bitIndexTupleLimits specified)
};
JET_CONDITIONALCOLUMN_W *rgconditionalcolumn; // pointer to conditional
column structure
unsigned long cConditionalColumn; // number
of conditional columns
JET_ERR err;
// returned error code
unsigned long cbKeyMost; /
/ size of key preserved in index, e.g. without truncation (if JET_bitIndexKeyMos
t specified)
JET_SPACEHINTS * pSpacehints; // space
allocation, maintenance, and usage hints
} JET_INDEXCREATE3_W;
#ifdef JET_UNICODE
#define JET_INDEXCREATE3 JET_INDEXCREATE3_W
#else
#define JET_INDEXCREATE3 JET_INDEXCREATE3_A
#endif
#endif // JET_VERSION >= 0x0602
// //
// Table Creation Structures // Table Creation Structures
// //
typedef struct tagJET_TABLECREATE_A typedef struct tagJET_TABLECREATE_A
{ {
unsigned long cbStruct; // size o f this structure (for future expansion) unsigned long cbStruct; // size o f this structure (for future expansion)
char *szTableName; // name o f table to create. char *szTableName; // name o f table to create.
char *szTemplateTableName; // name of table from which to inherit base DDL char *szTemplateTableName; // name of table from which to inherit base DDL
unsigned long ulPages; // initia l pages to allocate for table. unsigned long ulPages; // initia l pages to allocate for table.
skipping to change at line 785 skipping to change at line 853
} JET_TABLECREATE3_W; } JET_TABLECREATE3_W;
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JET_TABLECREATE3 JET_TABLECREATE3_W #define JET_TABLECREATE3 JET_TABLECREATE3_W
#else #else
#define JET_TABLECREATE3 JET_TABLECREATE3_A #define JET_TABLECREATE3 JET_TABLECREATE3_A
#endif #endif
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0602 )
typedef struct tagJET_TABLECREATE4_A
{
unsigned long cbStruct; // size o
f this structure (for future expansion)
char *szTableName; // name o
f table to create.
char *szTemplateTableName; // name of table
from which to inherit base DDL
unsigned long ulPages; // initia
l pages to allocate for table.
unsigned long ulDensity; // table
density.
JET_COLUMNCREATE_A *rgcolumncreate; // array of colum
n creation info
unsigned long cColumns; // number
of columns to create
JET_INDEXCREATE3_A *rgindexcreate; // array of index
creation info
unsigned long cIndexes; // number
of indexes to create
char *szCallback; // callba
ck to use for this table
JET_CBTYP cbtyp; /
/ when the callback should be called
JET_GRBIT grbit;
JET_SPACEHINTS * pSeqSpacehints; // space allocati
on, maintenance, and usage hints for default sequential index
JET_SPACEHINTS * pLVSpacehints; // space allocati
on, maintenance, and usage hints for Separated LV tree.
unsigned long cbSeparateLV; // heuristic size
to separate a intrinsic LV from the primary record
JET_TABLEID tableid; /
/ returned tableid.
unsigned long cCreated; // count
of objects created (columns+table+indexes+callbacks).
} JET_TABLECREATE4_A;
typedef struct tagJET_TABLECREATE4_W
{
unsigned long cbStruct; // size o
f this structure (for future expansion)
WCHAR *szTableName; // name o
f table to create.
WCHAR *szTemplateTableName; // name of table
from which to inherit base DDL
unsigned long ulPages; // initia
l pages to allocate for table.
unsigned long ulDensity; // table
density.
JET_COLUMNCREATE_W *rgcolumncreate; // array of colum
n creation info
unsigned long cColumns; // number
of columns to create
JET_INDEXCREATE3_W *rgindexcreate; // array of index
creation info
unsigned long cIndexes; // number
of indexes to create
WCHAR *szCallback; // callba
ck to use for this table
JET_CBTYP cbtyp; /
/ when the callback should be called
JET_GRBIT grbit;
JET_SPACEHINTS * pSeqSpacehints; // space allocati
on, maintenance, and usage hints for default sequential index
JET_SPACEHINTS * pLVSpacehints; // space allocati
on, maintenance, and usage hints for Separated LV tree.
unsigned long cbSeparateLV; // heuristic size
to separate a intrinsic LV from the primary record
JET_TABLEID tableid; /
/ returned tableid.
unsigned long cCreated; // count
of objects created (columns+table+indexes+callbacks).
} JET_TABLECREATE4_W;
#ifdef JET_UNICODE
#define JET_TABLECREATE4 JET_TABLECREATE4_W
#else
#define JET_TABLECREATE4 JET_TABLECREATE4_A
#endif
#endif // JET_VERSION >= 0x0602
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
typedef struct tagJET_OPENTEMPORARYTABLE typedef struct tagJET_OPENTEMPORARYTABLE
{ {
unsigned long cbStruct; // size o f this structure (for future expansion) unsigned long cbStruct; // size o f this structure (for future expansion)
const JET_COLUMNDEF *prgcolumndef; const JET_COLUMNDEF *prgcolumndef;
unsigned long ccolumn; unsigned long ccolumn;
JET_UNICODEINDEX *pidxunicode; JET_UNICODEINDEX *pidxunicode;
JET_GRBIT grbit; JET_GRBIT grbit;
JET_COLUMNID *prgcolumnid; JET_COLUMNID *prgcolumnid;
unsigned long cbKeyMost; unsigned long cbKeyMost;
unsigned long cbVarSegMac; unsigned long cbVarSegMac;
JET_TABLEID tableid; JET_TABLEID tableid;
} JET_OPENTEMPORARYTABLE; } JET_OPENTEMPORARYTABLE;
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0602 )
typedef struct tagJET_OPENTEMPORARYTABLE2
{
unsigned long cbStruct; // size o
f this structure (for future expansion)
const JET_COLUMNDEF *prgcolumndef;
unsigned long ccolumn;
JET_UNICODEINDEX2 *pidxunicode;
JET_GRBIT grbit;
JET_COLUMNID *prgcolumnid;
unsigned long cbKeyMost;
unsigned long cbVarSegMac;
JET_TABLEID tableid;
} JET_OPENTEMPORARYTABLE2;
#endif // JET_VERSION >= 0x0602
typedef struct typedef struct
{ {
unsigned long cbStruct; unsigned long cbStruct;
unsigned long ibLongValue; unsigned long ibLongValue;
unsigned long itagSequence; unsigned long itagSequence;
JET_COLUMNID columnidNextTagged; JET_COLUMNID columnidNextTagged;
} JET_RETINFO; } JET_RETINFO;
typedef struct typedef struct
{ {
skipping to change at line 838 skipping to change at line 973
JET_COLUMNID columnidBookmark; JET_COLUMNID columnidBookmark;
} JET_RECORDLIST; } JET_RECORDLIST;
typedef struct typedef struct
{ {
unsigned long cbStruct; unsigned long cbStruct;
JET_TABLEID tableid; JET_TABLEID tableid;
JET_GRBIT grbit; JET_GRBIT grbit;
} JET_INDEXRANGE; } JET_INDEXRANGE;
#if ( JET_VERSION >= 0x0602 )
typedef enum
{
// can be used for index (JetPrereadIndexRanges) or residual predicate (J
etSetCursorFilter)
JET_relopEquals = 0,
JET_relopPrefixEquals,
// can only be used for residual predicate (JetSetCursorFilter)
JET_relopNotEquals,
JET_relopLessThanOrEqual,
JET_relopLessThan,
JET_relopGreaterThanOrEqual,
JET_relopGreaterThan,
JET_relopBitmaskEqualsZero,
JET_relopBitmaskNotEqualsZero,
} JET_RELOP;
typedef struct
{
JET_COLUMNID columnid; // columnid of the column
JET_RELOP relop; // relational operator
void * pv; // pointer to the va
lue to use
unsigned long cb; // size of the value to use
JET_GRBIT grbit; // optional grbits
} JET_INDEX_COLUMN;
typedef struct
{
JET_INDEX_COLUMN * rgStartColumns;
unsigned long cStartColumns;
JET_INDEX_COLUMN * rgEndColumns;
unsigned long cEndColumns;
} JET_INDEX_RANGE;
#endif // JET_VERSION >= 0x0602
#include <pshpack1.h> #include <pshpack1.h>
#define JET_MAX_COMPUTERNAME_LENGTH 15 #define JET_MAX_COMPUTERNAME_LENGTH 15
typedef struct { typedef struct {
char bSeconds; // 0 - 59 char bSeconds; // 0 - 59
char bMinutes; // 0 - 59 char bMinutes; // 0 - 59
char bHours; // 0 - 23 char bHours; // 0 - 23
char bDay; // 1 - 31 char bDay; // 1 - 31
char bMonth; // 1 - 12 char bMonth; // 1 - 12
char bYear; // current y ear - 1900 char bYear; // current y ear - 1900
union union
{ {
char bFiller1; char bFiller1;
struct struct
{ {
unsigned char fTimeIsUTC:1; unsigned char fTimeIsUTC:1;
unsigned char fUnused:7; unsigned char bMillisecondsLow:7;
};
};
union
{
char bFiller2;
struct
{
unsigned char fReserved:1;
unsigned char bMillisecondsHigh:3;
unsigned char fUnused:4;
}; };
}; };
char bFiller2;
} JET_LOGTIME; } JET_LOGTIME;
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
// the JET_BKLOGTIME is an extention of JET_LOGTIME to be used // the JET_BKLOGTIME is an extention of JET_LOGTIME to be used
// in the JET_BKINFO structure. They should have the same size for // in the JET_BKINFO structure. They should have the same size for
// compatibility reasons // compatibility reasons
typedef struct { typedef struct {
char bSeconds; // 0 - 59 char bSeconds; // 0 - 59
char bMinutes; // 0 - 59 char bMinutes; // 0 - 59
char bHours; // 0 - 23 char bHours; // 0 - 23
char bDay; // 1 - 31 char bDay; // 1 - 31
char bMonth; // 1 - 12 char bMonth; // 1 - 12
char bYear; // current y ear - 1900 char bYear; // current y ear - 1900
union union
{ {
char bFiller1; char bFiller1;
struct struct
{ {
unsigned char fTimeIsUTC:1; unsigned char fTimeIsUTC:1;
unsigned char fUnused:7; unsigned char bMillisecondsLow:7;
}; };
}; };
union union
{ {
char bFiller2; char bFiller2;
struct struct
{ {
unsigned char fOSSnapshot:1; unsigned char fOSSnapshot:1;
unsigned char fReserved:7; unsigned char bMillisecondsHigh:3;
unsigned char fReserved:4;
}; };
}; };
} JET_BKLOGTIME; } JET_BKLOGTIME;
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
typedef struct typedef struct
{ {
unsigned short ib; // must be the last so th at lgpos can unsigned short ib; // must be the last so th at lgpos can
unsigned short isec; // index of disksec starting logs ec unsigned short isec; // index of disksec starting logs ec
long lGeneration; // generation of logsec long lGeneration; // generation of logsec
skipping to change at line 1204 skipping to change at line 1384
} JET_RSTINFO_W; } JET_RSTINFO_W;
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JET_RSTINFO JET_RSTINFO_W #define JET_RSTINFO JET_RSTINFO_W
#else #else
#define JET_RSTINFO JET_RSTINFO_A #define JET_RSTINFO JET_RSTINFO_A
#endif #endif
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0602 )
// JET_errcatError
// |
// |-- JET_errcatOperation
// | |-- JET_errcatFatal
// | |-- JET_errcatIO // bad IO issues, ma
y or may not be transient.
// | |-- JET_errcatResource
// | |-- JET_errcatMemory // out of memory (all varian
ts)
// | |-- JET_errcatQuota
// | |-- JET_errcatDisk // out of disk space
(all variants)
// |-- JET_errcatData
// | |-- JET_errcatCorruption
// | |-- JET_errcatInconsistent // typically caused
by user Mishandling
// | |-- JET_errcatFragmentation
// |-- JET_errcatApi
// |-- JET_errcatUsage
// |-- JET_errcatState
// A brief description of each error type
//
// Operation(al) - Errors that can usually happen any time due to uncontroll
able
// conditions. Frequently temporary, but no
t always.
//
// Recovery: Probably retry, or eventually i
nform the operator.
//
// Fatal - This sort error happens only when ESE encounters
an error condition
// so grave, that we can not continue on in
a safe (often transactional)
// way, and rather than corrupt data we thro
w errors of this category.
//
// Recovery: Restart the instance or process
. If the problem persists
// inform the operator.
//
// IO - IO errors come from the OS, and are out of ESE's
control, this sort
// of error is possibly temporary, possibly
not.
//
// Recovery: Retry. If not resolved, ask op
erator about disk issue.
//
// Resource - This is a category that indicates one of many pot
ential out-of-resource
// conditions.
//
// Memory Classic out of memory condition.
//
// Recovery: Wait a while and retry, free up
memory, or quit.
//
// Quota Certain "specialty" resources are in pools of a c
ertain size, making
// it easier to detect leaks of these resour
ces.
//
// Recovery: Bug fix, generally the applicat
ion should Assert() on these
// conditions so as to detect these issues d
uring development. However,
// in retail code, the best to hope for is t
o treat like Memory.
//
// Disk Out of disk conditions.
//
// Recovery: Can retry later in the hope mor
e space is available, or
// ask the operator to free some disk space.
// Data
//
// Corruption My hard drive ate my homework. Classic corruptio
n issues, frequently
// permanent without corrective action.
//
// Recovery: Restore from backup, perhaps th
e ese utilities repair
// operation (which only salvages what data
is left / lossy). Also
// in the case of recovery(JetInit) perhaps
recovery can be performed
// by allowing data loss.
//
// Inconsistent This is similar to Corruption in that the database a
nd/or log files
// are in a state that is inconsistent and u
nreconcilable with each
// other. Often this is caused by applicatio
n/administrator mishandling.
//
// Recovery: Restore from backup, perhaps th
e ese utilities repair
// operation (which only salvages what data
is left / lossy). Also
// in the case of recovery(JetInit) perhaps
recovery can be performed
// by allowing data loss.
//
// Fragmentation This is a class of errors where some persisted in
ternal resource ran
// out.
//
// Recovery: For database errors, offline de
fragmentation will rectify
// the problem, for the log files _first_ re
cover all attached databases
// to a clean shutdown, and then delete all
the log files and checkpoint.
//
// Api
//
// Usage Classic usage error, this means the client code d
id not pass correct
// arguments to the JET API. This error wil
l likely not go away with
// retry.
//
// Recovery: Generally speaking client code
should Assert() this class
// of errors is not returned, so issues can
be caught during development.
// In retail, the app will probably have lit
tle option but to return
// the issue up to the operator.
//
// State This is the classification for different signals
the API could return
// describe the state of the database, a cla
ssic case is JET_errRecordNotFound
// which can be returned by JetSeek() when t
he record you asked for
// was not found.
//
// Recovery: Not really relevant, depends gr
eatly on the API.
//
typedef enum
{
JET_errcatUnknown = 0, // unknown, error retrieving err cat
egory
JET_errcatError, // top level (no errors shou
ld be of this class)
JET_errcatOperation,
JET_errcatFatal,
JET_errcatIO, // bad IO issues, may or may
not be transient.
JET_errcatResource,
JET_errcatMemory, // out of memory (all varian
ts)
JET_errcatQuota,
JET_errcatDisk, // out of disk space (all va
riants)
JET_errcatData,
JET_errcatCorruption,
JET_errcatInconsistent,
JET_errcatFragmentation,
JET_errcatApi,
JET_errcatUsage,
JET_errcatState,
JET_errcatObsolete,
JET_errcatMax,
} JET_ERRCAT;
// Output structure for JetGetErrorInfoW(). Not all fields may
// be populated by all error levels.
typedef struct {
unsigned long cbStruct;
JET_ERR errValue;
// The error value for the requested info level.
JET_ERRCAT errcatMostSpecific; /
/ The most specific category of the error.
unsigned char rgCategoricalHierarchy[8]; // Hierarchy
of error categories. Position 0 is the highest level in the hierarchy, and the
rest are JET_errcatUnknown.
unsigned long lSourceLine; // T
he source file line for the requested info level.
WCHAR rgszSourceFile[64]; /
/ The source file name for the requested info level.
} JET_ERRINFOBASIC_W;
// commit-id from JetCommitTransaction2
typedef struct
{
JET_SIGNATURE signLog;
int reserved; // for packing so int64 below i
s 8-byte aligned on 32-bits despite the pshpack4 above
__int64 commitId;
} JET_COMMIT_ID;
// assert that commit-id is 8-byte aligned so managed interop works correctly
// C_ASSERT( offsetof( JET_COMMIT_ID, commitId ) % 8 == 0 );
// callback for JET_paramDurableCommitCallback
typedef JET_ERR (JET_API *JET_PFNDURABLECOMMITCALLBACK)(
_In_ JET_INSTANCE instance,
_In_ JET_COMMIT_ID *pCommitIdSeen,
_In_ JET_GRBIT grbit );
#endif // JET_VERSION >= 0x0602
/************************************************************************/ /************************************************************************/
/************************* JET CONSTANTS ************************/ /************************* JET CONSTANTS ************************/
/************************************************************************/ /************************************************************************/
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_instanceNil (~(JET_INSTANCE)0) #define JET_instanceNil (~(JET_INSTANCE)0)
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#define JET_sesidNil (~(JET_SESID)0) #define JET_sesidNil (~(JET_SESID)0)
#define JET_tableidNil (~(JET_TABLEID)0) #define JET_tableidNil (~(JET_TABLEID)0)
#define JET_bitNil ((JET_GRBIT)0) #define JET_bitNil ((JET_GRBIT)0)
skipping to change at line 1254 skipping to change at line 1587
#define JET_cbColumnLVPageOverhead 82 // ONLY for small (<=8kiB) page, otherwise, query JET_paramLVChunkSizeMost #define JET_cbColumnLVPageOverhead 82 // ONLY for small (<=8kiB) page, otherwise, query JET_paramLVChunkSizeMost
/* Max size of long-value (LongBinary or LongText) column default value * / /* Max size of long-value (LongBinary or LongText) column default value * /
#define JET_cbLVDefaultValueMost 255 #define JET_cbLVDefaultValueMost 255
/* Max size of non-long-value column data */ /* Max size of non-long-value column data */
#define JET_cbColumnMost 255 #define JET_cbColumnMost 255
/* Max size of long-value column data. */
#define JET_cbLVColumnMost 0x7FFFFFFF
/* Max size of a sort/index key */ /* Max size of a sort/index key */
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_cbKeyMostMost JET_cbKeyMost32KBytePage #define JET_cbKeyMostMost JET_cbKeyMost32KBytePage
#define JET_cbKeyMost32KBytePage JET_cbKeyMost8KBytePage #define JET_cbKeyMost32KBytePage JET_cbKeyMost8KBytePage
#define JET_cbKeyMost16KBytePage JET_cbKeyMost8KBytePage #define JET_cbKeyMost16KBytePage JET_cbKeyMost8KBytePage
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_cbKeyMost8KBytePage 2000 #define JET_cbKeyMost8KBytePage 2000
#define JET_cbKeyMost4KBytePage 1000 #define JET_cbKeyMost4KBytePage 1000
skipping to change at line 1302 skipping to change at line 1639
#define JET_EventLoggingDisable 0 #define JET_EventLoggingDisable 0
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_EventLoggingLevelMin 1 #define JET_EventLoggingLevelMin 1
#define JET_EventLoggingLevelLow 25 #define JET_EventLoggingLevelLow 25
#define JET_EventLoggingLevelMedium 50 #define JET_EventLoggingLevelMedium 50
#define JET_EventLoggingLevelHigh 75 #define JET_EventLoggingLevelHigh 75
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#define JET_EventLoggingLevelMax 100 #define JET_EventLoggingLevelMax 100
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0603 )
// Values for JET_paramEnableIndexChecking.
typedef enum {
JET_IndexCheckingOff = 0,
JET_IndexCheckingOn = 1,
JET_IndexCheckingDeferToOpenTable = 2,
JET_IndexCheckingMax = 3,
} JET_INDEXCHECKING;
#endif
// The following values are bit-fields that JET_paramIOPriority can be set to
#if ( JET_VERSION >= 0x0600 )
// Values for JET_paramIOPriority
#define JET_IOPriorityNormal 0x0 // default
#define JET_IOPriorityLow 0x1
#endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0602 )
// Values for usage with JET_paramConfiguration
//
// Can set the optimization configs one at a time.
//
#define JET_configDefault 0x0001 /
/ Resets ALL parameters to their default value
#define JET_configRemoveQuotas 0x0002 // U
nrestricts the quota enforcement (by setting to as high as possible) for any ESE
handle types where memory is not pre-allocated or used as a cache.
#define JET_configLowDiskFootprint 0x0004 // S
et appropriate parameters to optimize the engine to use a small amount of disk s
pace. Uses circular logging.
#define JET_configMediumDiskFootprint 0x0008 // Set appro
priate parameters to optimize the engine to use a medium amount of disk space.
Uses circular logging.
#define JET_configLowMemory 0x0010 /
/ Set appropriate parameters to optimize the engine to use a small amount o
f memory/working set at the cost of CPU efficiency and some disk efficiency.
#define JET_configDynamicMediumMemory 0x0020 // Set appro
priate parameters to optimize the engine to use a modest amount of memory/workin
g set at the cost of CPU efficiency, dynamically adjusting for bursts in activit
y.
#define JET_configLowPower 0x0040 /
/ Set appropriate parameters to optimize the engine to attempt to conserve
power over keeping everything the most up to date, or memory usage.
#define JET_configSSDProfileIO 0x0080 // S
et appropriate parameters to optimize the engine to be using the SSD profile IO
parameters.
#define JET_configRunSilent 0x0100 /
/ Turns off all externally visible signs of the library running (event logs
, perfmon, tracing, etc).
#define JET_configUnthrottledMemory 0x0200 // A
llows ESE to grow to most of memory because this is likely a single purpose serv
er for this machine, or wants to allow our variable memory caches to grow to use
most of memory if in use.
#define JET_configHighConcurrencyScaling 0x0400 // E
nsures ESE uses all its high concurrency scaling methods to achieve high levels
of performance on multi-CPU systems (SMP, Multi-Core, Hyper-Threading, etc) for
server scale applications, at a higher fixed memory overhead.
#endif // JET_VERSION >= 0x0602
// system paramters // system paramters
// //
// NOTE: the default values of these parameters used to be documented here. // 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 // this can no longer be done because we now support multiple sets of default
// values as set by JET_paramConfiguration // values as set by JET_paramConfiguration
// //
// location parameters // location parameters
// //
#define JET_paramSystemPath 0 / / path to check point file #define JET_paramSystemPath 0 / / path to check point file
#define JET_paramTempPath 1 / / path to the temporary database #define JET_paramTempPath 1 / / path to the temporary database
skipping to change at line 1374 skipping to change at line 1747
#define JET_paramLRUKPolicy 27 // K -ness of LRUK page eviction algorithm (1...2) #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_paramLRUKTimeout 28 // time (sec ) after which cached pages are always evictable
#define JET_paramLRUKTrxCorrInterval 29 // Not Used: time (u sec) under which page accesses by the same transaction are correlated #define JET_paramLRUKTrxCorrInterval 29 // Not Used: time (u sec) under which page accesses by the same transaction are correlated
#define JET_paramOutstandingIOMax 30 // m aximum outstanding I/Os #define JET_paramOutstandingIOMax 30 // m aximum outstanding I/Os
#define JET_paramStartFlushThreshold 31 // evictable pages at which to start a flush (proportional to CacheSizeMax) #define JET_paramStartFlushThreshold 31 // evictable pages at which to start a flush (proportional to CacheSizeMax)
#define JET_paramStopFlushThreshold 32 // e victable pages at which to stop a flush (proportional to CacheSizeMax) #define JET_paramStopFlushThreshold 32 // e victable pages at which to stop a flush (proportional to CacheSizeMax)
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_paramEnableViewCache 127 // enabl e the use of memory mapped file I/O for database files #define JET_paramEnableViewCache 127 // enabl e the use of memory mapped file I/O for database files
#define JET_paramCheckpointIOMax 135 // maxiu mum number of pending flush writes #define JET_paramCheckpointIOMax 135 // maxiu mum number of pending flush writes
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0602 )
#define JET_paramCachePriority 177 // p
er-instance property for relative cache priorities(default = 100)
#endif // JET_VERSION >= 0x0602
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
// TableClass names // TableClass names
#define JET_paramTableClass1Name 137 // name o f tableclass1 #define JET_paramTableClass1Name 137 // name o f tableclass1
#define JET_paramTableClass2Name 138 // name o f tableclass2 #define JET_paramTableClass2Name 138 // name o f tableclass2
#define JET_paramTableClass3Name 139 // name o f tableclass3 #define JET_paramTableClass3Name 139 // name o f tableclass3
#define JET_paramTableClass4Name 140 // name o f tableclass4 #define JET_paramTableClass4Name 140 // name o f tableclass4
#define JET_paramTableClass5Name 141 // name o f tableclass5 #define JET_paramTableClass5Name 141 // name o f tableclass5
#define JET_paramTableClass6Name 142 // name o f tableclass6 #define JET_paramTableClass6Name 142 // name o f tableclass6
#define JET_paramTableClass7Name 143 // name o f tableclass7 #define JET_paramTableClass7Name 143 // name o f tableclass7
#define JET_paramTableClass8Name 144 // name o f tableclass8 #define JET_paramTableClass8Name 144 // name o f tableclass8
#define JET_paramTableClass9Name 145 // name o f tableclass9 #define JET_paramTableClass9Name 145 // name o f tableclass9
#define JET_paramTableClass10Name 146 // name o f tableclass10 #define JET_paramTableClass10Name 146 // name o f tableclass10
#define JET_paramTableClass11Name 147 // name o f tableclass11 #define JET_paramTableClass11Name 147 // name o f tableclass11
#define JET_paramTableClass12Name 148 // name o f tableclass12 #define JET_paramTableClass12Name 148 // name o f tableclass12
#define JET_paramTableClass13Name 149 // name o f tableclass13 #define JET_paramTableClass13Name 149 // name o f tableclass13
#define JET_paramTableClass14Name 150 // name o f tableclass14 #define JET_paramTableClass14Name 150 // name o f tableclass14
#define JET_paramTableClass15Name 151 // name o f tableclass15 #define JET_paramTableClass15Name 151 // name o f tableclass15
#endif // JET_VERSION >= 0x0600 #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 #define JET_paramIOPriority 152 // adjust IO priority per instance, anytime. Mainly for background recovery
// Doesn't affect pendi ng IOs, just subsequent ones // Doesn't affect pendi ng IOs, just subsequent ones
#endif // JET_VERSION >= 0x0600
// debug only parameters // debug only parameters
// //
#define JET_paramRecovery 34 / / enable recovery #define JET_paramRecovery 34 / / enable recovery
#define JET_paramEnableOnlineDefrag 35 // e nable online defrag #define JET_paramEnableOnlineDefrag 35 // e nable online defrag
// Application specific parameter // Application specific parameter
// //
#define JET_paramCheckFormatWhenOpenFail 44 // JetInit m ay return JET_errDatabaseXXXformat instead of database corrupt when it is set #define JET_paramCheckFormatWhenOpenFail 44 // JetInit m ay return JET_errDatabaseXXXformat instead of database corrupt when it is set
#define JET_paramEnableTempTableVersioning 46 // Enable ve rsioning of temp tables #define JET_paramEnableTempTableVersioning 46 // Enable ve rsioning of temp tables
skipping to change at line 1422 skipping to change at line 1794
#define JET_paramEventSourceKey 49 / / Event source registration key value #define JET_paramEventSourceKey 49 / / Event source registration key value
#define JET_paramNoInformationEvent 50 // D isable logging information event #define JET_paramNoInformationEvent 50 // D isable logging information event
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_paramEventLoggingLevel 51 // S et the type of information that goes to event log #define JET_paramEventLoggingLevel 51 // S et the type of information that goes to event log
#define JET_paramDeleteOutOfRangeLogs 52 // Delete th e log files that are not matching (generation wise) during soft recovery #define JET_paramDeleteOutOfRangeLogs 52 // Delete th e 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 #define JET_paramAccessDeniedRetryPeriod 53 // Number of milliseconds to retry when about to fail with AccessDenied
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
// Index-checking parameters // Index-checking parameters
// //
// After Windows 7, it was discovered that JET_paramEnableIndexCleanup had s
ome implementation limitations, reducing its effectiveness.
// Rather than update it to work with locale names, the functionality is rem
oved altogether.
//
// Unfortunately JET_paramEnableIndexCleanup can not be ignored altogether.
JET_paramEnableIndexChecking defaults to false, so if
// JET_paramEnableIndexCleanup were to be removed entirely, then by default
there were would be no checks for NLS changes!
//
// The current behavious (when enabled) is to track the language sort versio
ns for the indices, and when the sort version for that
// particular locale changes, the engine knows which indices are now invalid
. For example, if the sort version for only "de-de" changes,
// then the "de-de" indices are invalid, but the "en-us" indices will be fin
e.
//
// Post-Windows 8:
// JET_paramEnableIndexChecking accepts JET_INDEXCHECKING (which is an enum)
. The values of '0' and '1' have the same meaning as before,
// but '2' is JET_IndexCheckingDeferToOpenTable, which means that the NLS up
-to-date-ness is NOT checked when the database is attached.
// It is deferred to JetOpenTable(), which may now fail with JET_errPrimaryI
ndexCorrupted or JET_errSecondaryIndexCorrupted (which
// are NOT actual corruptions, but instead reflect an NLS sort change).
//
// IN SUMMARY:
// New code should explicitly set both IndexChecking and IndexCleanup to the
same value.
//
//
// OLDER NOTES (up to and including Windows 7)
//
// Different versions of windows normalize unicode text in different ways. T hat means indexes built under one version of Windows may // Different versions of windows normalize unicode text in different ways. T hat means indexes built under one version of Windows may
// not work on other versions. Windows Server 2003 Beta 3 introduced GetNLSV ersion() which can be used to determine the version of unicode normalization // not work on other versions. Windows Server 2003 Beta 3 introduced GetNLSV ersion() 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 // 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 norm alization changes consist of adding new characters -- codepoints // built with (older indexes have no version information). Most unicode norm alization changes consist of adding new characters -- codepoints
// which were previously undefined are defined and normalize differently. Th us, if binary data is stored in a unicode column it will normalize // which were previously undefined are defined and normalize differently. Th us, if binary data is stored in a unicode column it will normalize
// differently as new codepoints are defined. // differently as new codepoints are defined.
// //
// As of Windows Server 2003 RC1 ESENT tracks unicode index entries that con tain undefined codepoints. These can be used to fixup an index when the // As of Windows Server 2003 RC1 ESENT tracks unicode index entries that con tain undefined codepoints. These can be used to fixup an index when the
// set of defined unicode characters changes. // set of defined unicode characters changes.
// //
skipping to change at line 1443 skipping to change at line 1837
// is stamped in the database header). // is stamped in the database header).
// //
// If JET_paramEnableIndexChecking is TRUE JetAttachDatabase() will delete i ndexes if JET_bitDbDeleteCorruptIndexes or return an error if // If JET_paramEnableIndexChecking is TRUE JetAttachDatabase() will delete i ndexes 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 // 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 there are potentially corrupt indexes.
// //
// If JET_paramEnableIndexCleanup is set, the internal fixup table will be u sed to fixup index entries. This may not fixup all index corruptions // If JET_paramEnableIndexCleanup is set, the internal fixup table will be u sed to fixup index entries. This may not fixup all index corruptions
// but will be transparent to the application. // but will be transparent to the application.
// //
#define JET_paramEnableIndexChecking 45 // Enable checking O S version for indexes #define JET_paramEnableIndexChecking 45 // Enable checking O S version for indexes (false by default).
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
#define JET_paramEnableIndexCleanup 54 // Enable cl eanup of out-of-date index entries #define JET_paramEnableIndexCleanup 54 // Enable cl eanup of out-of-date index entries (Windows 2003 through Windows 7); Does NLS ve rsion checking (Windows 2003 and later).
#endif // JET_VERSION >= 0x0502 #endif // JET_VERSION >= 0x0502
// 60 // JET_paramCacheSizeMin defined above // 60 // JET_paramCacheSizeMin defined above
// 63 // JET_paramPreferredVerPages defined above // 63 // JET_paramPreferredVerPages defined above
#define JET_paramDatabasePageSize 64 // s et database page size #define JET_paramDatabasePageSize 64 // s et database page size
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_paramDisableCallbacks 65 // t urn off callback resolution (for defrag/repair) #define JET_paramDisableCallbacks 65 // t urn off callback resolution (for defrag/repair)
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_paramDisablePerfmon 107 // d isable perfmon support for this process #define JET_paramDisablePerfmon 107 // d isable perfmon support for this process
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_paramEnablePersistedCallbacks 156 // allow the databa se engine to resolve and use callbacks persisted in a database #define JET_paramEnablePersistedCallbacks 156 // allow the databa se engine to resolve and use callbacks persisted in a database
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
// Backup performance parameters
//
#define JET_paramBackupChunkSize 66 // backup re
ad size in pages
#define JET_paramBackupOutstandingReads 67 // b
ackup maximum reads outstanding
#define JET_paramSLVProviderEnable 68 // Enable SL
V Provider
// begin_PubEsent
#define JET_paramLogFileCreateAsynch 69 // prepares next log file while logging to the current one to smooth response time #define JET_paramLogFileCreateAsynch 69 // prepares next log file while logging to the current one to smooth response time
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#define JET_paramErrorToString 70 // turns a J ET_err into a string (taken from the comment in jet.h) #define JET_paramErrorToString 70 // turns a J ET_err into a string (taken from the comment in jet.h)
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_paramZeroDatabaseDuringBackup 71 // Overwrite deleted records/LVs during backup #define JET_paramZeroDatabaseDuringBackup 71 // Overwrite deleted records/LVs during backup
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#define JET_paramUnicodeIndexDefault 72 // default L CMapString() lcid and flags to use for CreateIndex() and unique multi-values che ck #define JET_paramUnicodeIndexDefault 72 // default L CMapString() lcid and flags to use for CreateIndex() and unique multi-values che ck
// (pass JET_UNICODEINDEX structure for lPar am) // (pass pointer to JET_UNICODEINDEX structu re for plParam and sizeof(JET_UNICODE_INDEX) for cbMax)
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_paramRuntimeCallback 73 // p ointer to runtime-only callback function #define JET_paramRuntimeCallback 73 // p ointer to runtime-only callback function
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#define JET_paramCleanupMismatchedLogFiles 77 // instead o f erroring out after a successful recovery with JET_errLogFileSizeMismatchDataba sesConsistent, ESE will silently delete the old log files and checkpoint file an d continue operations #define JET_paramCleanupMismatchedLogFiles 77 // instead o f erroring out after a successful recovery with JET_errLogFileSizeMismatchDataba sesConsistent, ESE will silently delete the old log files and checkpoint file an d continue operations
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_paramRecordUpgradeDirtyLevel 78 // how aggre sively should pages with their record format converted be flushed (0-3) #define JET_paramRecordUpgradeDirtyLevel 78 // how aggre sively should pages with their record format converted be flushed (0-3)
// 81 // JET_paramGlobalMinVerPages defined above // 81 // JET_paramGlobalMinVerPages defined above
#define JET_paramOSSnapshotTimeout 82 // t imeout for the freeze period in msec #define JET_paramOSSnapshotTimeout 82 // t imeout for the freeze period in msec
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
skipping to change at line 1510 skipping to change at line 1897
#define JET_paramAlternateDatabaseRecoveryPath 113 // recovery-only - s earch for dirty-shutdown databases in specified location only #define JET_paramAlternateDatabaseRecoveryPath 113 // recovery-only - s earch for dirty-shutdown databases in specified location only
#endif // JET_VERSION >= 0x0502 #endif // JET_VERSION >= 0x0502
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_paramIndexTupleIncrement 132 // for tuple indexes , offset increment for each succesive tuple #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_paramIndexTupleStart 133 // for tuple indexes, offset to start tuple indexing
#define JET_paramKeyMost 134 // r ead only maximum settable key length before key trunctation occurs #define JET_paramKeyMost 134 // r ead only maximum settable key length before key trunctation occurs
#define JET_paramLegacyFileNames 136 // Legacy f ile name characteristics to preserve ( JET_bitESE98FileNames | JET_bitEightDotTh reeSoftCompat ) #define JET_paramLegacyFileNames 136 // Legacy f ile name characteristics to preserve ( JET_bitESE98FileNames | JET_bitEightDotTh reeSoftCompat )
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_paramWaypointLatency 153 // The laten cy (in logs) behind the tip / highest committed log to defer database page flush es. #define JET_paramWaypointLatency 153 // The laten cy (in logs) behind the tip / highest committed log to defer database page flush es.
#define JET_paramDefragmentSequentialBTrees 160 // Turn on/off autom #define JET_paramDefragmentSequentialBTrees 160 // Turn on/o
atic sequential B-tree defragmentation ff automatic sequential B-tree defragmentation
#define JET_paramDefragmentSequentialBTreesDensityCheckFrequency 161 // D #define JET_paramDefragmentSequentialBTreesDensityCheckFrequency 161 /
etermine how frequently B-tree density is checked / Determine how frequently B-tree density is checked
#define JET_paramIOThrottlingTimeQuanta 162 // Max time #define JET_paramIOThrottlingTimeQuanta 162 // M
(in MS) that the I/O throttling mechanism gives a task to run for it to be consi ax time (in MS) that the I/O throttling mechanism gives a task to run for it to
dered 'completed'. be considered 'completed'.
#define JET_paramLVChunkSizeMost 163 // Max LV ch #define JET_paramLVChunkSizeMost 163 // M
uck size supported wrt the chosen page size (R/O) ax LV chuck size supported wrt the chosen page size (R/O)
#define JET_paramMaxCoalesceReadSize 164 // Max number of byt #define JET_paramMaxCoalesceReadSize 164 // Max numbe
es that can be grouped for a coalesced read operation. r of bytes that can be grouped for a coalesced read operation.
#define JET_paramMaxCoalesceWriteSize 165 // Max number of byt #define JET_paramMaxCoalesceWriteSize 165 // Max numbe
es that can be grouped for a coalesced write operation. r of bytes that can be grouped for a coalesced write operation.
#define JET_paramMaxCoalesceReadGapSize 166 // Max number of byt #define JET_paramMaxCoalesceReadGapSize 166 // M
es that can be gapped for a coalesced read IO operation. ax number of bytes that can be gapped for a coalesced read IO operation.
#define JET_paramMaxCoalesceWriteGapSize 167 // Max number of #define JET_paramMaxCoalesceWriteGapSize 167 // Max numbe
bytes that can be gapped for a coalesced write IO operation. r of bytes that can be gapped for a coalesced write IO operation.
#define JET_paramEnableDBScanInRecovery 169 // D
o checksumming of the database during recovery.
#define JET_paramDbScanThrottle 170 /
/ throttle (mSec).
#define JET_paramDbScanIntervalMinSec 171 // Min inter
nal to repeat checksumming (Sec).
#define JET_paramDbScanIntervalMaxSec 172 // Max inter
nal checksumming must finish (Sec).
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0602 )
#define JET_paramMaxTransactionSize 178 // Percentag
e of version store that can be used by oldest transaction before JET_errVersionS
toreOutOfMemory (default = 100).
#define JET_paramPrereadIOMax 179 // M
aximum number of I/O operations dispatched for a given purpose.
#define JET_paramEnableDBScanSerialization 180 // Database
Maintenance serialization is enabled for databases sharing the same disk.
#define JET_paramHungIOThreshold 181 // T
he threshold for what is considered a hung IO that should be acted upon.
#define JET_paramHungIOActions 182 // A
set of actions to be taken on IOs that appear hung.
#define JET_paramMinDataForXpress 183 // S
mallest amount of data that should be compressed with xpress compression.
#endif // JET_VERSION >= 0x0602
#if ( JET_VERSION >= 0x0603 )
#define JET_paramEnableShrinkDatabase 184 // Release space bac
k to the OS when deleting data. This may require an OS feature of Sparse Files,
and is subject to change.
#endif // JET_VERSION >= 0x0603
#if ( JET_VERSION >= 0x0602 )
// System parameter 185 is reserved.
#define JET_paramProcessFriendlyName 186 // Friendly name for
this instance of the process (e.g. performance counter global instance name, ev
ent logs).
#define JET_paramDurableCommitCallback 187 // callback for when
log is flushed
#endif // JET_VERSION >= 0x0602
#if ( JET_VERSION >= 0x0603 )
#define JET_paramEnableSqm 188 // E
nable SQM logging (Software Quality Metrics)
#endif // JET_VERSION >= 0x0603
#define JET_paramMaxValueInvalid 189 // This is n
ot a valid parameter. It can change from release to release!
// session paramters
//
#define JET_sesparamBase 4096
//
#define JET_sesparamCommitDefault ( JET_sesparamBase + 1 )
// default grbit for JetCommitTransaction
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
/* Flags for JET_paramLegacyFileNames */ /* Flags for JET_paramLegacyFileNames */
#define JET_bitESE98FileNames 0x00000001 // Preserve the .log and .chk extension for compatibility reasons (i.e. Exchange) #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) #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 #endif // JET_VERSION >= 0x0600
/* Flags for JET_paramHungIOActions */
#define JET_bitHungIOEvent 0x0000000
1 // Log event when an IO appears to be hung for over the IO threshold.
#if ( JET_VERSION >= 0x0603 )
// Values for JET_paramEnableShrinkDatabase.
#define JET_bitShrinkDatabaseOff 0x0
#define JET_bitShrinkDatabaseOn 0x1 /
/ Uses the file system's Sparse Files feature to release space in the middle of
a file.
#define JET_bitShrinkDatabaseRealtime 0x2 // Attempts to re
claim space back to the file system after freeing significant amounts of data (w
hen space is marked as Available to the Root space tree).
// DEPRECATED:
#define JET_bitShrinkDatabaseTrim 0x1 // Deprec
ated value for JET_bitShrinkDatabaseOn; Will be removed!
#endif // JET_VERSION >= 0x0603
/* Flags for JetInit2, JetInit3 */ /* Flags for JetInit2, JetInit3 */
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
// IGNORE_MISSING_ATTACH, ignoring hanging asserts for missing databases during recovery // IGNORE_MISSING_ATTACH, ignoring hanging asserts for missing databases during recovery
#define JET_bitReplayIgnoreMissingDB 0x00000004 // ignore mi ssing databases #define JET_bitReplayIgnoreMissingDB 0x00000004 // Ignore mi ssing databases during recovery. This is a very dangerous option and may irrevoc ably produce an inconsistent database if improperly used. Normal ESE usage does not typically require this dangerous option.
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_bitRecoveryWithoutUndo 0x00000008 // p erform recovery, but halt at the Undo phase #define JET_bitRecoveryWithoutUndo 0x00000008 // p erform recovery, but halt at the Undo phase
#define JET_bitTruncateLogsAfterRecovery 0x00000010 // on succes sful soft recovery, truncate log files #define JET_bitTruncateLogsAfterRecovery 0x00000010 // on succes sful soft recovery, truncate log files
#define JET_bitReplayMissingMapEntryDB 0x00000020 /* missing database ma p entry default to same location */ #define JET_bitReplayMissingMapEntryDB 0x00000020 /* missing database ma p entry default to same location */
#define JET_bitLogStreamMustExist 0x00000040 // t ransaction logs must exist in the logfile directory (ie. cannot auto-start a new log stream) #define JET_bitLogStreamMustExist 0x00000040 // t ransaction logs must exist in the logfile directory (ie. cannot auto-start a new log stream)
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_bitReplayIgnoreLostLogs 0x00000080 / / ignore logs lost from the end of the log stream #define JET_bitReplayIgnoreLostLogs 0x00000080 / / ignore logs lost from the end of the log stream
#if ( JET_VERSION >= 0x0602 )
#define JET_bitKeepDbAttachedAtEndOfRecovery 0x00001000 // this allows db to
remain attached at the end of recovery (for faster transition to running state)
#endif // JET_VERSION >= 0x0602
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
/* Flags for JetTerm2 */ /* Flags for JetTerm2 */
#define JET_bitTermComplete 0x00000001 #define JET_bitTermComplete 0x00000001
#define JET_bitTermAbrupt 0x00000002 #define JET_bitTermAbrupt 0x00000002
#define JET_bitTermStopBackup 0x00000004 #define JET_bitTermStopBackup 0x00000004
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_bitTermDirty 0x00000008 #define JET_bitTermDirty 0x00000008
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
// end_pubEsent
#if ( JET_VERSION >= 0x0602 )
#define JET_bitTermShrink 0x00000010
#endif // JET_VERSION >= 0x0602
// begin_PubEsent
/* Flags for JetIdle */ /* Flags for JetIdle */
#define JET_bitIdleFlushBuffers 0x00000001 #define JET_bitIdleFlushBuffers 0x00000001
#define JET_bitIdleCompact 0x00000002 #define JET_bitIdleCompact 0x00000002
#define JET_bitIdleStatus 0x00000004 #define JET_bitIdleStatus 0x00000004
/* Flags for JetEndSession */ /* Flags for JetEndSession */
/* Flags for JetAttach/OpenDatabase */ /* Flags for JetAttachDatabase/JetOpenDatabase */
#define JET_bitDbReadOnly 0x00000001 #define JET_bitDbReadOnly 0x00000001
#define JET_bitDbExclusive 0x00000002 /* multiple op ens allowed */ #define JET_bitDbExclusive 0x00000002 /* multiple op ens allowed */
#define JET_bitDbDeleteCorruptIndexes 0x00000010 /* delete indexes possibly cor rupted by NT version upgrade */ #define JET_bitDbDeleteCorruptIndexes 0x00000010 /* delete indexes possibly cor rupted by NT version upgrade */
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
#define JET_bitDbDeleteUnicodeIndexes 0x00000400 /* delete all indexes with uni code columns */ #define JET_bitDbDeleteUnicodeIndexes 0x00000400 /* delete all indexes with uni code columns */
#endif // JET_VERSION >= 0x0502 #endif // JET_VERSION >= 0x0502
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_bitDbUpgrade 0x00000200 /* */ #define JET_bitDbUpgrade 0x00000200 /* */
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0601 )
#define JET_bitDbEnableBackgroundMaintenance 0x00000800 /* the database e
ngine will initiate automatic background database maintenance */
#endif
#if ( JET_VERSION >= 0x0602 )
#define JET_bitDbPurgeCacheOnAttach 0x00001000 /* used to ensure any
kept alive cache is purged for this DB before attach */
#endif
/* Flags for JetDetachDatabase2 */ /* Flags for JetDetachDatabase2 */
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_bitForceDetach 0x00000001 #define JET_bitForceDetach 0x00000001
#define JET_bitForceCloseAndDetach (0x00000002 | JET_bitForc eDetach) #define JET_bitForceCloseAndDetach (0x00000002 | JET_bitForc eDetach)
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
/* Flags for JetCreateDatabase */ /* Flags for JetCreateDatabase */
skipping to change at line 1742 skipping to change at line 2194
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
#define JET_bitIndexTupleLimits 0x00002000 // cbVarS egMac field of JET_INDEXCREATE actually points to a JET_TUPLELIMITS struct to al low custom tuple index limits (implies JET_bitIndexTuples) #define JET_bitIndexTupleLimits 0x00002000 // cbVarS egMac field of JET_INDEXCREATE actually points to a JET_TUPLELIMITS struct to al low custom tuple index limits (implies JET_bitIndexTuples)
#endif // JET_VERSION >= 0x0502 #endif // JET_VERSION >= 0x0502
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_bitIndexCrossProduct 0x00004000 // index over mul tiple multi-valued columns has full cross product #define JET_bitIndexCrossProduct 0x00004000 // index over mul tiple multi-valued columns has full cross product
#define JET_bitIndexKeyMost 0x00008000 // custom index key size set instead of default of 255 bytes #define JET_bitIndexKeyMost 0x00008000 // custom index key size set instead of default of 255 bytes
#define JET_bitIndexDisallowTruncation 0x00010000 // fail update rather tha n truncate index keys #define JET_bitIndexDisallowTruncation 0x00010000 // fail update rather tha n truncate index keys
#define JET_bitIndexNestedTable 0x00020000 // index over multiple multi-valued columns but only with values of same itagSequence #define JET_bitIndexNestedTable 0x00020000 // index over multiple multi-valued columns but only with values of same itagSequence
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0602 )
#define JET_bitIndexDotNetGuid 0x00040000 // index over GUID co
lumn according to .Net GUID sort order
#endif // JET_VERSION >= 0x602
/* Flags for index key definition */ /* Flags for index key definition */
#define JET_bitKeyAscending 0x00000000 #define JET_bitKeyAscending 0x00000000
#define JET_bitKeyDescending 0x00000001 #define JET_bitKeyDescending 0x00000001
/* Flags for JetOpenTable */ /* Flags for JetOpenTable */
#define JET_bitTableDenyWrite 0x00000001 #define JET_bitTableDenyWrite 0x00000001
#define JET_bitTableDenyRead 0x00000002 #define JET_bitTableDenyRead 0x00000002
#define JET_bitTableReadOnly 0x00000004 #define JET_bitTableReadOnly 0x00000004
#define JET_bitTableUpdatable 0x00000008 #define JET_bitTableUpdatable 0x00000008
#define JET_bitTablePermitDDL 0x00000010 /* override tabl e flagged as FixedDDL (must be used with DenyRead) */ #define JET_bitTablePermitDDL 0x00000010 /* override tabl e flagged as FixedDDL (must be used with DenyRead) */
#define JET_bitTableNoCache 0x00000020 /* don't cac #define JET_bitTableNoCache 0x00000020 /* d
he the pages for this table */ on't cache the pages for this table */
#define JET_bitTablePreread 0x00000040 /* assume th #define JET_bitTablePreread 0x00000040 /* a
e table is probably not in the buffer cache */ ssume the table is probably not in the buffer cache */
#define JET_bitTableOpportuneRead 0x00000080 /* attempt to opportunely #define JET_bitTableOpportuneRead 0x00000080 /* attempt t
read physically adjacent leaf pages using larger physical IOs */ o opportunely read physically adjacent leaf pages using larger physical IOs */
#define JET_bitTableSequential 0x00008000 /* assume the table will be scanned sequentially */ #define JET_bitTableSequential 0x00008000 /* assume the table will be scanned sequentially */
#define JET_bitTableClassMask 0x000F0000 /* table stats class mas k */ #define JET_bitTableClassMask 0x000F0000 /* table stats class mas k */
#define JET_bitTableClassNone 0x00000000 /* table belongs to no stats class (default) */ #define JET_bitTableClassNone 0x00000000 /* table belongs to no stats class (default) */
#define JET_bitTableClass1 0x00010000 /* table belongs to stats class 1 */ #define JET_bitTableClass1 0x00010000 /* table belongs to stats class 1 */
#define JET_bitTableClass2 0x00020000 /* table belongs to stats class 2 */ #define JET_bitTableClass2 0x00020000 /* table belongs to stats class 2 */
#define JET_bitTableClass3 0x00030000 /* table belongs to stats class 3 */ #define JET_bitTableClass3 0x00030000 /* table belongs to stats class 3 */
#define JET_bitTableClass4 0x00040000 /* table belongs to stats class 4 */ #define JET_bitTableClass4 0x00040000 /* table belongs to stats class 4 */
#define JET_bitTableClass5 0x00050000 /* table belongs to stats class 5 */ #define JET_bitTableClass5 0x00050000 /* table belongs to stats class 5 */
#define JET_bitTableClass6 0x00060000 /* table belongs to stats class 6 */ #define JET_bitTableClass6 0x00060000 /* table belongs to stats class 6 */
skipping to change at line 1787 skipping to change at line 2242
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_bitLSReset 0x00000001 /* reset LS value */ #define JET_bitLSReset 0x00000001 /* reset LS value */
#define JET_bitLSCursor 0x00000002 /* s et/retrieve LS of table cursor */ #define JET_bitLSCursor 0x00000002 /* s et/retrieve LS of table cursor */
#define JET_bitLSTable 0x00000004 /* set/retri eve LS of table */ #define JET_bitLSTable 0x00000004 /* set/retri eve LS of table */
#define JET_LSNil (~(JET_LS)0) #define JET_LSNil (~(JET_LS)0)
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
/* Flags for JetSetTableSequential */ /* Flags for JetSetTableSequential and JetPrereadIndexRanges */
#define JET_bitPrereadForward 0x00000001 /* Hint that the seq uential traversal will be in the forward direction */ #define JET_bitPrereadForward 0x00000001 /* Hint that the seq uential traversal will be in the forward direction */
#define JET_bitPrereadBackward 0x00000002 /* Hint that the seq uential traversal will be in the backward direction */ #define JET_bitPrereadBackward 0x00000002 /* Hint that the seq uential traversal will be in the backward direction */
#if ( JET_VERSION >= 0x0602 )
#define JET_bitPrereadFirstPage 0x00000004 /* Only firs
t page of long values should be preread */
#define JET_bitPrereadNormalizedKey 0x00000008 /* Normalized key/bo
okmark provided instead of column value */
#endif // JET_VERSION >= 0x0602
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
/* Flags for JetOpenTempTable */ /* Flags for JetOpenTempTable */
#define JET_bitTTIndexed 0x00000001 /* Allow seek */ #define JET_bitTTIndexed 0x00000001 /* Allow seek */
#define JET_bitTTUnique 0x00000002 /* Remove duplica tes */ #define JET_bitTTUnique 0x00000002 /* Remove duplica tes */
#define JET_bitTTUpdatable 0x00000004 /* Allow updates */ #define JET_bitTTUpdatable 0x00000004 /* Allow updates */
#define JET_bitTTScrollable 0x00000008 /* Allow backward s scrolling */ #define JET_bitTTScrollable 0x00000008 /* Allow backward s scrolling */
#define JET_bitTTSortNullsHigh 0x00000010 /* NULL sorts after data for all columns in the index */ #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 (al lows for duplicate detection) */ #define JET_bitTTForceMaterialization 0x00000020 /* Forces temp. table to be materialized into a btree (al lows for duplicate detection) */
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_bitTTErrorOnDuplicateInsertion JET_bitTTForceMaterialization / * Error always returned when duplicate is inserted (instead of dupe being silent ly removed) */ #define JET_bitTTErrorOnDuplicateInsertion JET_bitTTForceMaterialization / * Error always returned when duplicate is inserted (instead of dupe being silent ly removed) */
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
#define JET_bitTTForwardOnly 0x00000040 /* Prevents temp. table f rom being materialized into a btree (and enables duplicate keys) */ #define JET_bitTTForwardOnly 0x00000040 /* Prevents temp. table f rom being materialized into a btree (and enables duplicate keys) */
#endif // JET_VERSION >= 0x0502 #endif // JET_VERSION >= 0x0502
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_bitTTIntrinsicLVsOnly 0x00000080 // permit only intri nsic LV's (so materialisation is not required simply because a TT has an LV colu mn) #define JET_bitTTIntrinsicLVsOnly 0x00000080 // permit only intri nsic LV's (so materialisation is not required simply because a TT has an LV colu mn)
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0602 )
#define JET_bitTTDotNetGuid 0x00000100 // sort all
JET_coltypGUID columns according to .Net Guid sort order
#endif // JET_VERSION >= 0x0601
/* Flags for JetSetColumn */ /* Flags for JetSetColumn */
#define JET_bitSetAppendLV 0x00000001 #define JET_bitSetAppendLV 0x00000001
#define JET_bitSetOverwriteLV 0x00000004 /* overwrite J ET_coltypLong* byte range */ #define JET_bitSetOverwriteLV 0x00000004 /* overwrite J ET_coltypLong* byte range */
#define JET_bitSetSizeLV 0x00000008 /* set JET_coltypLong* size */ #define JET_bitSetSizeLV 0x00000008 /* set JET_coltypLong* size */
#define JET_bitSetZeroLength 0x00000020 #define JET_bitSetZeroLength 0x00000020
#define JET_bitSetSeparateLV 0x00000040 /* force LV se paration */ #define JET_bitSetSeparateLV 0x00000040 /* force LV se paration */
#define JET_bitSetUniqueMultiValues 0x00000080 /* prevent dup licate multi-values */ #define JET_bitSetUniqueMultiValues 0x00000080 /* prevent dup licate multi-values */
#define JET_bitSetUniqueNormalizedMultiValues 0x00000100 /* prevent duplicate m ulti-values, normalizing all data before performing comparisons */ #define JET_bitSetUniqueNormalizedMultiValues 0x00000100 /* prevent duplicate m ulti-values, normalizing all data before performing comparisons */
skipping to change at line 1892 skipping to change at line 2354
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
/* Options for JetPrepareUpdate */ /* Options for JetPrepareUpdate */
#define JET_prepInsert 0 #define JET_prepInsert 0
#define JET_prepReplace 2 #define JET_prepReplace 2
#define JET_prepCancel 3 #define JET_prepCancel 3
#define JET_prepReplaceNoLock 4 #define JET_prepReplaceNoLock 4
#define JET_prepInsertCopy 5 #define JET_prepInsertCopy 5
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_prepInsertCopyDeleteOriginal 7 // used for updating a record in the primary key; avoids the delete/insert process */ #define JET_prepInsertCopyDeleteOriginal 7 // used for updating a record in the primary key; avoids the delete/insert process and updates autoi nc */
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0603 )
#define JET_prepInsertCopyReplaceOriginal 9 // used for updating
a record in the primary key; avoids the delete/insert process and keeps autoinc
*/
#endif // JET_VERSION >= 0x0603
#if ( JET_VERSION >= 0x0603 )
// Values for JET_paramEnableSqm
#define JET_sqmDisable 0 // E
xplicitly disable SQM
#define JET_sqmEnable 1 // E
xplicitly enable SQM
#define JET_sqmFromCEIP 2 /
/ Enables SQM based on Customer Experience Improvement Program opt-in
#endif // JET_VERSION >= 0x0603
// Flags for JetUpdate // Flags for JetUpdate
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
#define JET_bitUpdateCheckESE97Compatibility 0x00000001 // check whe ther record fits if represented in ESE97 database format #define JET_bitUpdateCheckESE97Compatibility 0x00000001 // check whe ther record fits if represented in ESE97 database format
#endif // JET_VERSION >= 0x0502 #endif // JET_VERSION >= 0x0502
/* Flags for JetEscrowUpdate */ /* Flags for JetEscrowUpdate */
#define JET_bitEscrowNoRollback 0x0001 #define JET_bitEscrowNoRollback 0x0001
/* Flags for JetRetrieveColumn */ /* Flags for JetRetrieveColumn */
skipping to change at line 1917 skipping to change at line 2389
#define JET_bitRetrieveFromPrimaryBookmark 0x00000004 #define JET_bitRetrieveFromPrimaryBookmark 0x00000004
#define JET_bitRetrieveTag 0x00000008 #define JET_bitRetrieveTag 0x00000008
#define JET_bitRetrieveNull 0x00000010 / * for columnid 0 only */ #define JET_bitRetrieveNull 0x00000010 / * for columnid 0 only */
#define JET_bitRetrieveIgnoreDefault 0x00000020 /* for colum nid 0 only */ #define JET_bitRetrieveIgnoreDefault 0x00000020 /* for colum nid 0 only */
#define JET_bitRetrieveLongId 0x00000040 #define JET_bitRetrieveLongId 0x00000040
#define JET_bitRetrieveLongValueRefCount 0x00000080 /* for testing u se only */ #define JET_bitRetrieveLongValueRefCount 0x00000080 /* for testing u se only */
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_bitRetrieveTuple 0x00000800 /* retrieve tu ple fragment from index */ #define JET_bitRetrieveTuple 0x00000800 /* retrieve tu ple fragment from index */
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0602 )
/* Flags for JET_INDEX_COLUMN */
#define JET_bitZeroLength 0x00000001
#endif
/* Retrieve column parameter structure for JetRetrieveColumns */ /* Retrieve column parameter structure for JetRetrieveColumns */
typedef struct { typedef struct {
JET_COLUMNID columnid; JET_COLUMNID columnid;
void *pvData; void *pvData;
unsigned long cbData; unsigned long cbData;
unsigned long cbActual; unsigned long cbActual;
JET_GRBIT grbit; JET_GRBIT grbit;
unsigned long ibLongValue; unsigned long ibLongValue;
unsigned long itagSequence; unsigned long itagSequence;
skipping to change at line 1980 skipping to change at line 2457
struct { /* err == JET_wrnColumnSingleValue */ struct { /* err == JET_wrnColumnSingleValue */
unsigned long cbData; unsigned long cbData;
void* pvData; void* pvData;
}; };
}; };
} JET_ENUMCOLUMN; } JET_ENUMCOLUMN;
/* Realloc callback for JetEnumerateColumns */ /* Realloc callback for JetEnumerateColumns */
typedef void* (JET_API *JET_PFNREALLOC)( typedef void* (JET_API *JET_PFNREALLOC)(
__in_opt void * pvContext, _In_opt_ void * pvContext,
__in_opt void * pv, _In_opt_ void * pv,
__in unsigned long cb ); _In_ unsigned long cb );
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
/* Flags for JetGetRecordSize */ /* Flags for JetGetRecordSize */
#define JET_bitRecordSizeInCopyBuffer 0x00000001 // u se record in copy buffer #define JET_bitRecordSizeInCopyBuffer 0x00000001 // u se record in copy buffer
#define JET_bitRecordSizeRunningTotal 0x00000002 // i ncrement totals in output buffer instead of setting them #define JET_bitRecordSizeRunningTotal 0x00000002 // i ncrement 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) #define JET_bitRecordSizeLocal 0x00000004 / / ignore Long Values (and other data otherwise not in the same page as the record)
skipping to change at line 2063 skipping to change at line 2540
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_bitExplicitPrepare 0x00000008 /* bit 3: all ins taces prepared by default (0) or no instance prepared by default (1) */ #define JET_bitExplicitPrepare 0x00000008 /* bit 3: all ins taces prepared by default (0) or no instance prepared by default (1) */
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
/* Flags for JetOSSnapshotTruncateLog & JetOSSnapshotTruncateLogInstance */ /* Flags for JetOSSnapshotTruncateLog & JetOSSnapshotTruncateLogInstance */
#define JET_bitAllDatabasesSnapshot 0x00000001 /* bit 0: there a re detached dbs in the instance (i.e. can't truncate logs) */ #define JET_bitAllDatabasesSnapshot 0x00000001 /* bit 0: there a re detached dbs in the instance (i.e. can't truncate logs) */
/* Flags for JetOSSnapshotEnd */ /* Flags for JetOSSnapshotEnd */
#define JET_bitAbortSnapshot 0x00000001 /* snapshot process f ailed */ #define JET_bitAbortSnapshot 0x00000001 /* snapshot process f ailed */
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
/* Info parameter for JetGetDatabaseInfo and JetGetDatabaseFileInfo */ /* Info parameter for JetGetDatabaseInfo and JetGetDatabaseFileInfo */
#define JET_DbInfoFilename 0 #define JET_DbInfoFilename 0
#define JET_DbInfoConnect 1 #define JET_DbInfoConnect 1
#define JET_DbInfoCountry 2 #define JET_DbInfoCountry 2 // retrieves the def ault country/region
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_DbInfoLCID 3 #define JET_DbInfoLCID 3
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#define JET_DbInfoLangid 3 // OBSOLETE: use JET_DbInfoLCID instead #define JET_DbInfoLangid 3 // OBSOLETE: use JET_DbInfoLCID instead
#define JET_DbInfoCp 4 #define JET_DbInfoCp 4
#define JET_DbInfoCollate 5 #define JET_DbInfoCollate 5
#define JET_DbInfoOptions 6 #define JET_DbInfoOptions 6
#define JET_DbInfoTransactions 7 #define JET_DbInfoTransactions 7
#define JET_DbInfoVersion 8 #define JET_DbInfoVersion 8
#define JET_DbInfoIsam 9 #define JET_DbInfoIsam 9
skipping to change at line 2090 skipping to change at line 2566
#define JET_DbInfoSpaceOwned 11 #define JET_DbInfoSpaceOwned 11
#define JET_DbInfoSpaceAvailable 12 #define JET_DbInfoSpaceAvailable 12
#define JET_DbInfoUpgrade 13 #define JET_DbInfoUpgrade 13
#define JET_DbInfoMisc 14 #define JET_DbInfoMisc 14
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_DbInfoDBInUse 15 #define JET_DbInfoDBInUse 15
#define JET_DbInfoPageSize 17 #define JET_DbInfoPageSize 17
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_DbInfoFileType 19 #define JET_DbInfoFileType 19
#if ( JET_VERSION >= 0x603 )
#define JET_DbInfoFilesizeOnDisk 21
#endif
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
/* Dbstates from JetGetDatabaseFileInfo */ /* Dbstates from JetGetDatabaseFileInfo */
#define JET_dbstateJustCreated 1 #define JET_dbstateJustCreated 1
#define JET_dbstateDirtyShutdown 2 #define JET_dbstateDirtyShutdown 2
#define JET_dbstateCleanShutdown 3 #define JET_dbstateCleanShutdown 3
#define JET_dbstateBeingConverted 4 #define JET_dbstateBeingConverted 4
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
skipping to change at line 2131 skipping to change at line 2610
#define JET_coltypLong 4 /* 4-byte integer, signed */ #define JET_coltypLong 4 /* 4-byte integer, signed */
#define JET_coltypCurrency 5 /* 8 byte integer, signed */ #define JET_coltypCurrency 5 /* 8 byte integer, signed */
#define JET_coltypIEEESingle 6 /* 4-byte IEEE single precision * / #define JET_coltypIEEESingle 6 /* 4-byte IEEE single precision * /
#define JET_coltypIEEEDouble 7 /* 8-byte IEEE double precision * / #define JET_coltypIEEEDouble 7 /* 8-byte IEEE double precision * /
#define JET_coltypDateTime 8 /* Integral date, fractio nal time */ #define JET_coltypDateTime 8 /* Integral date, fractio nal time */
#define JET_coltypBinary 9 /* Binary data, < 255 byt es */ #define JET_coltypBinary 9 /* Binary data, < 255 byt es */
#define JET_coltypText 10 /* ANSI text, case insens itive, < 255 bytes */ #define JET_coltypText 10 /* ANSI text, case insens itive, < 255 bytes */
#define JET_coltypLongBinary 11 /* Binary data, long value */ #define JET_coltypLongBinary 11 /* Binary data, long value */
#define JET_coltypLongText 12 /* ANSI text, long value */ #define JET_coltypLongText 12 /* ANSI text, long value */
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_coltypSLV 13 /* SLV's */ #define JET_coltypSLV 13 /* SLV's. Obsolete. */
#define JET_coltypUnsignedLong 14 /* 4-byte unsigned integer */ #define JET_coltypUnsignedLong 14 /* 4-byte unsigned integer */
#define JET_coltypLongLong 15 /* 8-byte signed integer */ #define JET_coltypLongLong 15 /* 8-byte signed integer */
#define JET_coltypGUID 16 /* 16-byte globally uniqu e identifier */ #define JET_coltypGUID 16 /* 16-byte globally uniqu e identifier */
#define JET_coltypUnsignedShort 17 /* 2-byte unsigned intege r */ #define JET_coltypUnsignedShort 17 /* 2-byte unsigned intege r */
#define JET_coltypMax 18 /* the number of column t ypes */ #define JET_coltypMax 18 /* the number of column t ypes */
/ * used for validity tests and */ / * used for validity tests and */
/ * array declarations. */ / * array declarations. */
#elif ( JET_VERSION >= 0x0501 ) #elif ( JET_VERSION >= 0x0501 )
#define JET_coltypSLV 13 /* SLV's */ #define JET_coltypSLV 13 /* SLV's. Obsolete. */
#define JET_coltypMax 14 /* the number of column t ypes */ #define JET_coltypMax 14 /* the number of column t ypes */
/ * used for validity tests and */ / * used for validity tests and */
/ * array declarations. */ / * array declarations. */
#else // !JET_VERSION >= 0x0501 #else // !JET_VERSION >= 0x0501
#define JET_coltypMax 13 /* the number of column t ypes */ #define JET_coltypMax 13 /* the number of column t ypes */
/ * used for validity tests and */ / * used for validity tests and */
/ * array declarations. */ / * array declarations. */
#endif // !JET_VERSION >= 0x0501 #endif // !JET_VERSION >= 0x0501
/* Info levels for JetGetObjectInfo */ /* Info levels for JetGetObjectInfo */
skipping to change at line 2198 skipping to change at line 2677
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#define JET_IdxInfoLangid 6U // OBSOLETE: use JET_IdxInfoLCID instead #define JET_IdxInfoLangid 6U // OBSOLETE: use JET_IdxInfoLCID instead
#define JET_IdxInfoCount 7U #define JET_IdxInfoCount 7U
#define JET_IdxInfoVarSegMac 8U #define JET_IdxInfoVarSegMac 8U
#define JET_IdxInfoIndexId 9U #define JET_IdxInfoIndexId 9U
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#define JET_IdxInfoKeyMost 10U #define JET_IdxInfoKeyMost 10U
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#define JET_IdxInfoCreateIndex 11U // return a JET_INDE XCREATE structure suitable for use by JetCreateIndex2() #define JET_IdxInfoCreateIndex 11U // return a JET_INDE XCREATE structure suitable for use by JetCreateIndex2()
#define JET_IdxInfoCreateIndex2 12U // return a JET_INDEXCREATE2 structure suitable for use by JetCreateIndex2() #define JET_IdxInfoCreateIndex2 12U // return a JET_INDEXCREATE2 structure suitable for use by JetCreateIndex3()
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0602 )
#define JET_IdxInfoCreateIndex3 13U // return a
JET_INDEXCREATE3 structure suitable for use by JetCreateIndex4()
#define JET_IdxInfoLocaleName 14U // Returns the local
e name, which can be a wide string of up to LOCALE_NAME_MAX_LENGTH (including nu
ll).
#endif // JET_VERSION >= 0x0602
/* Info levels for JetGetColumnInfo and JetGetTableColumnInfo */ /* Info levels for JetGetColumnInfo and JetGetTableColumnInfo */
#define JET_ColInfo 0U #define JET_ColInfo 0U
#define JET_ColInfoList 1U #define JET_ColInfoList 1U
#define JET_ColInfoSysTabCursor 3U #define JET_ColInfoSysTabCursor 3U
#define JET_ColInfoBase 4U #define JET_ColInfoBase 4U
#define JET_ColInfoListCompact 5U // INTERNAL USE ONLY #define JET_ColInfoListCompact 5U // INTERNAL USE ONLY
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_ColInfoByColid 6U #define JET_ColInfoByColid 6U
skipping to change at line 2257 skipping to change at line 2740
#define JET_snpRestore 8 #define JET_snpRestore 8
#define JET_snpBackup 9 #define JET_snpBackup 9
#define JET_snpUpgrade 10 #define JET_snpUpgrade 10
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#define JET_snpScrub 11 #define JET_snpScrub 11
#define JET_snpUpgradeRecordFormat 12 #define JET_snpUpgradeRecordFormat 12
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
/* Status Notification Types */ /* Status Notification Types */
// Generic Status Notification Types
#define JET_sntBegin 5 /* callback for beginning of oper ation */ #define JET_sntBegin 5 /* callback for beginning of oper ation */
#define JET_sntRequirements 7 /* callback for returning operati on requirements */ #define JET_sntRequirements 7 /* callback for returning operati on requirements */
#define JET_sntProgress 0 /* callback for progress */ #define JET_sntProgress 0 /* callback for progress */
#define JET_sntComplete 6 /* callback for completion of ope ration */ #define JET_sntComplete 6 /* callback for completion of ope ration */
#define JET_sntFail 3 /* callback for failure d uring progress */ #define JET_sntFail 3 /* callback for failure d uring progress */
/* Exception action */ /* Exception action */
#define JET_ExceptionMsgBox 0x0001 /* Display message box on exception */ #define JET_ExceptionMsgBox 0x0001 /* Display message box on exception */
#define JET_ExceptionNone 0x0002 /* Do nothing on exceptio ns */ #define JET_ExceptionNone 0x0002 /* Do nothing on exceptio ns */
#define JET_ExceptionFailFast 0x0004 /* Use the Windows RaiseFailFastE xception API to force a crash */
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
// Online defragmentation options // Online defragmentation options
#define JET_OnlineDefragDisable 0x0000 // d isable online defrag #define JET_OnlineDefragDisable 0x0000 // d isable online defrag
#define JET_OnlineDefragAllOBSOLETE 0x0001 // enable on line defrag for everything (must be 1 for backward compatibility) #define JET_OnlineDefragAllOBSOLETE 0x0001 // enable on line defrag for everything (must be 1 for backward compatibility)
#define JET_OnlineDefragDatabases 0x0002 // enable on line defrag of databases #define JET_OnlineDefragDatabases 0x0002 // enable on line defrag of databases
#define JET_OnlineDefragSpaceTrees 0x0004 // enable on line defrag of space trees #define JET_OnlineDefragSpaceTrees 0x0004 // enable on line defrag of space trees
#define JET_OnlineDefragAll 0xffff // e nable online defrag for everything #define JET_OnlineDefragAll 0xffff // e nable online defrag for everything
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0602 )
// Info levels for JetGetErrorInfo:
#define JET_ErrorInfoSpecificErr 1U // I
nfo about the specific error passed in pvContext.
// grbits for JetGetErrorInfoW:
// None yet.
// grbits for JetResizeDatabase:
#define JET_bitResizeDatabaseOnlyGrow 0x00000001 /
/ Only grow the database. If the resize call would shrink the database, do nothi
ng.
#endif // JET_VERSION >= 0x0602
#if ( JET_VERSION >= 0x0603 )
#define JET_bitResizeDatabaseOnlyShrink 0x0000000
2 // Only shrink the database, but keeping an empty extent at the end. If t
he resize call would grow the database, do nothing. The file may end up smaller
than requested.
#endif // JET_VERSION >= 0x0603
#if ( JET_VERSION >= 0x0602 )
#define JET_bitStopServiceAll 0x0000000
0 // Stops all ESE services for the specified instance.
#define JET_bitStopServiceBackgroundUserTasks 0x00000002 // S
tops restartable client specificed background maintenance tasks (B+ Tree Defrag
for example).
#define JET_bitStopServiceQuiesceCaches 0x0000000
4 // Quiesces all dirty caches to disk. Asynchronous. Cancellable.
// Warning: This bit can only be used to resume StopServiceBackgroundUserTasks a
nd JET_bitStopServiceQuiesceCaches, if you
// previously called with JET_bitStopServiceAll, attempting to use JET_bitStopSe
rviceResume will fail.
#define JET_bitStopServiceResume 0x8000000
0 // Resumes previously issued StopService operations, i.e. "restarts
service". Can be combined with above grbits to Resume specific services, or wit
h JET_bitStopServiceAll to Resume all previously stopped services.
#endif // JET_VERSION >= 0x0602
/**********************************************************************/ /**********************************************************************/
/*********************** ERROR CODES **************************/ /*********************** ERROR CODES **************************/
/**********************************************************************/ /**********************************************************************/
/* The Error codes are not versioned with WINVER. */ /* The Error codes are not versioned with WINVER. */
/* SUCCESS */ /* SUCCESS */
#define JET_errSuccess 0 /* Successf ul Operation */ #define JET_errSuccess 0 /* Successf ul Operation */
/* ERRORS */ /* ERRORS */
#define JET_wrnNyi -1 /* Function Not Yet Implemented */ #define JET_wrnNyi -1 /* Function Not Yet Implemented */
/* SYSTEM errors /* SYSTEM errors
/**/ /**/
#define JET_errRfsFailure -100 /* Resource Failure Simulator failure */ #define JET_errRfsFailure -100 /* Resource Failure Simulator failure */
#define JET_errRfsNotArmed -101 /* Resource Failure Simulator not initialized */ #define JET_errRfsNotArmed -101 /* Resource Failure Simulator not initialized */
#define JET_errFileClose -102 /* Could no t close file */ #define JET_errFileClose -102 /* Could no t close file */
#define JET_errOutOfThreads -103 /* Could no t start thread */ #define JET_errOutOfThreads -103 /* Could no t start thread */
#define JET_errTooManyIO -105 /* System b usy due to too many IOs */ #define JET_errTooManyIO -105 /* System b usy due to too many IOs */
#define JET_errTaskDropped -106 /* A reques ted async task could not be executed */ #define JET_errTaskDropped -106 /* A reques ted async task could not be executed */
#define JET_errInternalError -107 /* Fatal internal e rror */ #define JET_errInternalError -107 /* Fatal internal e rror */
// BUFFER MANAGER errors // BUFFER MANAGER errors
// //
#define JET_errDatabaseBufferDependenciesCorrupted -255 /* Buffer depende ncies improperly set. Recovery failure */ #define JET_errDatabaseBufferDependenciesCorrupted -255 /* Buffer depende ncies improperly set. Recovery failure */
/* DIRECTORY MANAGER errors /* DIRECTORY MANAGER errors
/**/ /**/
#define JET_wrnRemainingVersions 321 /* The version stor e is still active */ #define JET_wrnRemainingVersions 321 /* The version stor e is still active */
skipping to change at line 2323 skipping to change at line 2836
#define JET_errBadBookmark -328 /* Bookmark has no corresponding address in database */ #define JET_errBadBookmark -328 /* Bookmark has no corresponding address in database */
#define JET_errNTSystemCallFailed -334 // A call to the op erating system failed #define JET_errNTSystemCallFailed -334 // A call to the op erating system failed
#define JET_errBadParentPageLink -338 // Database corrupted #define JET_errBadParentPageLink -338 // Database corrupted
#define JET_errSPAvailExtCacheOutOfSync -340 // AvailExt cache d oesn't match btree #define JET_errSPAvailExtCacheOutOfSync -340 // AvailExt cache d oesn't match btree
#define JET_errSPAvailExtCorrupted -341 // AvailExt space t ree is corrupt #define JET_errSPAvailExtCorrupted -341 // AvailExt space t ree is corrupt
#define JET_errSPAvailExtCacheOutOfMemory -342 // Out of memory allocating an AvailExt cache node #define JET_errSPAvailExtCacheOutOfMemory -342 // Out of memory allocating an AvailExt cache node
#define JET_errSPOwnExtCorrupted -343 // OwnExt space tre e is corrupt #define JET_errSPOwnExtCorrupted -343 // OwnExt space tre e is corrupt
#define JET_errDbTimeCorrupted -344 // Dbtime on curren t page is greater than global database dbtime #define JET_errDbTimeCorrupted -344 // Dbtime on curren t page is greater than global database dbtime
#define JET_wrnUniqueKey 345 // seek on non-unique index yielded a unique key #define JET_wrnUniqueKey 345 // seek on non-unique index yielded a unique key
#define JET_errKeyTruncated -346 // key trun cated on index that disallows key truncation #define JET_errKeyTruncated -346 // key trun cated on index that disallows key truncation
#define JET_errDatabaseLeakInSpace -348 // Some database pa
ges have become unreachable even from the avail tree, only an offline defragment
ation can return the lost space.
#define JET_errBadEmptyPage -351 // Database
corrupted. Searching an unexpectedly empty page.
/* RECORD MANAGER errors /* RECORD MANAGER errors
/**/ /**/
#define JET_wrnSeparateLongValue 406 /* Column is a sepa rated long-value */ #define JET_wrnSeparateLongValue 406 /* Column is a sepa rated long-value */
#define JET_wrnRecordFoundGreater JET_wrnSeekNotEqual #define JET_wrnRecordFoundGreater JET_wrnSeekNotEqual
#define JET_wrnRecordFoundLess JET_wrnSeekNotEqual #define JET_wrnRecordFoundLess JET_wrnSeekNotEqual
#define JET_errColumnIllegalNull JET_errNullInvalid #define JET_errColumnIllegalNull JET_errNullInvalid
#define JET_errKeyTooBig -408 /* Key is t oo large */ #define JET_errKeyTooBig -408 /* Key is t oo large */
#define JET_errSeparatedLongValue -421 /* Operation not sup
ported on separated long-value */
#define JET_errMustBeSeparateLongValue -423 /* Can only preread long va
lue columns that can be separate, e.g. not size constrained so that they are fix
ed or variable columns */
#define JET_errInvalidPreread -424 /* Cannot preread l
ong values when current index secondary */
/* LOGGING/RECOVERY errors /* LOGGING/RECOVERY errors
/**/ /**/
#define JET_errInvalidLoggedOperation -500 /* Logged operation cannot be redone */ #define JET_errInvalidLoggedOperation -500 /* Logged operation cannot be redone */
#define JET_errLogFileCorrupt -501 /* Log file is corr upt */ #define JET_errLogFileCorrupt -501 /* Log file is corr upt */
#define JET_errNoBackupDirectory -503 /* No backup direct ory given */ #define JET_errNoBackupDirectory -503 /* No backup direct ory given */
#define JET_errBackupDirectoryNotEmpty -504 /* The backup direc tory is not emtpy */ #define JET_errBackupDirectoryNotEmpty -504 /* The backup direc tory is not emtpy */
#define JET_errBackupInProgress -505 /* Backup is active already */ #define JET_errBackupInProgress -505 /* Backup is active already */
#define JET_errRestoreInProgress -506 /* Restore in progr ess */ #define JET_errRestoreInProgress -506 /* Restore in progr ess */
#define JET_errMissingPreviousLogFile -509 /* Missing the log file for check point */ #define JET_errMissingPreviousLogFile -509 /* Missing the log file for check point */
#define JET_errLogWriteFail -510 /* Failure writing to log file */ #define JET_errLogWriteFail -510 /* Failure writing to log file */
#define JET_errLogDisabledDueToRecoveryFailure -511 /* Try to log something afte r recovery faild */ #define JET_errLogDisabledDueToRecoveryFailure -511 /* Try to log something afte r recovery faild */
#define JET_errCannotLogDuringRecoveryRedo -512 /* Try to log something d uring recovery redo */ #define JET_errCannotLogDuringRecoveryRedo -512 /* Try to log som ething during recovery redo */
#define JET_errLogGenerationMismatch -513 /* Name of logfile does not match internal generation number */ #define JET_errLogGenerationMismatch -513 /* Name of logfile does not match internal generation number */
#define JET_errBadLogVersion -514 /* Version of log f ile is not compatible with Jet version */ #define JET_errBadLogVersion -514 /* Version of log f ile is not compatible with Jet version */
#define JET_errInvalidLogSequence -515 /* Timestamp in nex t log does not match expected */ #define JET_errInvalidLogSequence -515 /* Timestamp in nex t log does not match expected */
#define JET_errLoggingDisabled -516 /* Log is n ot active */ #define JET_errLoggingDisabled -516 /* Log is n ot active */
#define JET_errLogBufferTooSmall -517 /* Log buffer is to o small for recovery */ #define JET_errLogBufferTooSmall -517 /* Log buffer is to o small for recovery */
#define JET_errLogSequenceEnd -519 /* Maximum log file number exceeded */ #define JET_errLogSequenceEnd -519 /* Maximum log file number exceeded */
#define JET_errNoBackup -520 /* No backup in progress */ #define JET_errNoBackup -520 /* No backup in progress */
#define JET_errInvalidBackupSequence -521 /* Backup call out of seque nce */ #define JET_errInvalidBackupSequence -521 /* Backup call out of seque nce */
#define JET_errBackupNotAllowedYet -523 /* Cannot do backup now */ #define JET_errBackupNotAllowedYet -523 /* Cannot do backup now */
#define JET_errDeleteBackupFileFail -524 /* Could not delete backup file */ #define JET_errDeleteBackupFileFail -524 /* Could not delete backup file */
skipping to change at line 2366 skipping to change at line 2884
#define JET_errRecoveredWithErrors -527 /* Restored with er rors */ #define JET_errRecoveredWithErrors -527 /* Restored with er rors */
#define JET_errMissingLogFile -528 /* Current log file missing */ #define JET_errMissingLogFile -528 /* Current log file missing */
#define JET_errLogDiskFull -529 /* Log disk full */ #define JET_errLogDiskFull -529 /* Log disk full */
#define JET_errBadLogSignature -530 /* Bad signature fo r a log file */ #define JET_errBadLogSignature -530 /* Bad signature fo r a log file */
#define JET_errBadDbSignature -531 /* Bad signature fo r a db file */ #define JET_errBadDbSignature -531 /* Bad signature fo r a db file */
#define JET_errBadCheckpointSignature -532 /* Bad signature for a chec kpoint file */ #define JET_errBadCheckpointSignature -532 /* Bad signature for a chec kpoint file */
#define JET_errCheckpointCorrupt -533 /* Checkpoint file not found or corrupt */ #define JET_errCheckpointCorrupt -533 /* Checkpoint file not found or corrupt */
#define JET_errMissingPatchPage -534 /* Patch fi le page not found during recovery */ #define JET_errMissingPatchPage -534 /* Patch fi le page not found during recovery */
#define JET_errBadPatchPage -535 /* Patch fi le page is not valid */ #define JET_errBadPatchPage -535 /* Patch fi le page is not valid */
#define JET_errRedoAbruptEnded -536 /* Redo abruptly en ded due to sudden failure in reading logs from log file */ #define JET_errRedoAbruptEnded -536 /* Redo abruptly en ded 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 res tore detected that patch file is missing from backup set */ #define JET_errPatchFileMissing -538 /* Hard res tore 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_errDatabaseLogSetMismatch -539 /* Database does not belong with the current set of log files */
#define JET_errDatabaseStreamingFileMismatch -540 /* Database and streaming fi le do not match each other */ #define JET_errDatabaseStreamingFileMismatch -540 /* Database and streaming fi le do not match each other */
#define JET_errLogFileSizeMismatch -541 /* actual log file size does not match JET_paramLogFileSize */ #define JET_errLogFileSizeMismatch -541 /* actual log file size does not match JET_paramLogFileSize */
#define JET_errCheckpointFileNotFound -542 /* Could not locate checkpo int file */ #define JET_errCheckpointFileNotFound -542 /* Could not locate checkpo int file */
#define JET_errRequiredLogFilesMissing -543 /* The required log files f or recovery is missing. */ #define JET_errRequiredLogFilesMissing -543 /* The required log files f or recovery is missing. */
#define JET_errSoftRecoveryOnBackupDatabase -544 /* Soft recovery is intende d on a backup database. Restore should be used instead */ #define JET_errSoftRecoveryOnBackupDatabase -544 /* Soft recovery is intende d on a backup database. Restore should be used instead */
#define JET_errLogFileSizeMismatchDatabasesConsistent -545 /* databases have b een recovered, but the log file size used during recovery does not match JET_par amLogFileSize */ #define JET_errLogFileSizeMismatchDatabasesConsistent -545 /* databases have b een recovered, but the log file size used during recovery does not match JET_par amLogFileSize */
#define JET_errLogSectorSizeMismatch -546 /* the log file sector size does not match the current volume's sector size */ #define JET_errLogSectorSizeMismatch -546 /* the log file sector size does not match the current volume's sector size */
#define JET_errLogSectorSizeMismatchDatabasesConsistent -547 /* database s have been recovered, but the log file sector size (used during recovery) does not match the current volume's sector size */ #define JET_errLogSectorSizeMismatchDatabasesConsistent -547 /* database s have been recovered, but the log file sector size (used during recovery) does not match the current volume's sector size */
skipping to change at line 2392 skipping to change at line 2909
#define JET_errDatabaseInconsistent JET_errDatabaseDirtyShutd own /* OBSOLETE */ #define JET_errDatabaseInconsistent JET_errDatabaseDirtyShutd own /* OBSOLETE */
#define JET_errConsistentTimeMismatch -551 /* Database last consistent time unmatched */ #define JET_errConsistentTimeMismatch -551 /* Database last consistent time unmatched */
#define JET_errDatabasePatchFileMismatch -552 /* Patch file is not genera ted from this backup */ #define JET_errDatabasePatchFileMismatch -552 /* Patch file is not genera ted from this backup */
#define JET_errEndingRestoreLogTooLow -553 /* The starting log number too low for the restore */ #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_errStartingRestoreLogTooHigh -554 /* The starting log number too high for the restore */
#define JET_errGivenLogFileHasBadSignature -555 /* Restore log file has bad signature */ #define JET_errGivenLogFileHasBadSignature -555 /* Restore log file has bad signature */
#define JET_errGivenLogFileIsNotContiguous -556 /* Restore log file is not contiguous */ #define JET_errGivenLogFileIsNotContiguous -556 /* Restore log file is not contiguous */
#define JET_errMissingRestoreLogFiles -557 /* Some restore log files a re missing */ #define JET_errMissingRestoreLogFiles -557 /* Some restore log files a re missing */
#define JET_wrnExistingLogFileHasBadSignature 558 /* Existing log file has bad signature */ #define JET_wrnExistingLogFileHasBadSignature 558 /* Existing log file has bad signature */
#define JET_wrnExistingLogFileIsNotContiguous 559 /* Existing log file is not contiguous */ #define JET_wrnExistingLogFileIsNotContiguous 559 /* Existing log file is not contiguous */
#define JET_errMissingFullBackup -560 /* The database mis s a previous full backup befor incremental backup */ #define JET_errMissingFullBackup -560 /* The database mis sed a previous full backup before incremental backup */
#define JET_errBadBackupDatabaseSize -561 /* The backup database size is not in 4k */ #define JET_errBadBackupDatabaseSize -561 /* The backup database size is not in 4k */
#define JET_errDatabaseAlreadyUpgraded -562 /* Attempted to upgrade a d atabase that is already current */ #define JET_errDatabaseAlreadyUpgraded -562 /* Attempted to upgrade a d atabase that is already current */
#define JET_errDatabaseIncompleteUpgrade -563 /* Attempted to use a datab ase which was only partially converted to the current format -- must restore fro m backup */ #define JET_errDatabaseIncompleteUpgrade -563 /* Attempted to use a datab ase which was only partially converted to the current format -- must restore fro m backup */
#define JET_wrnSkipThisRecord 564 /* INTERNAL ERROR * / #define JET_wrnSkipThisRecord 564 /* INTERNAL ERROR * /
#define JET_errMissingCurrentLogFiles -565 /* Some current log files a re missing for continuous restore */ #define JET_errMissingCurrentLogFiles -565 /* Some current log files a re missing for continuous restore */
#define JET_errDbTimeTooOld -566 /* dbtime on page smaller than dbtimeBefore in record */ #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_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_errMissingFileToBackup -569 /* Some log or patch files are missing during backup */
skipping to change at line 2423 skipping to change at line 2940
#define JET_errRecoveredWithoutUndo -579 /* Soft r ecovery successfully replayed all operations, but the Undo phase of recovery was skipped */ #define JET_errRecoveredWithoutUndo -579 /* Soft r ecovery successfully replayed all operations, but the Undo phase of recovery was skipped */
#define JET_errDatabasesNotFromSameSnapshot -580 /* Databa ses to be restored are not from the same shadow copy backup */ #define JET_errDatabasesNotFromSameSnapshot -580 /* Databa ses to be restored are not from the same shadow copy backup */
#define JET_errSoftRecoveryOnSnapshot -581 /* Soft r ecovery on a database from a shadow copy backup set */ #define JET_errSoftRecoveryOnSnapshot -581 /* Soft r ecovery on a database from a shadow copy backup set */
#define JET_errCommittedLogFilesMissing -582 /* One or more logs that were committed to this database, are missing. These log files a re required to maintain durable ACID semantics, but not required to maintain con sistency if the JET_bitReplayIgnoreLostLogs bit is specified during recovery. */ #define JET_errCommittedLogFilesMissing -582 /* One or more logs that were committed to this database, are missing. These log files a re required to maintain durable ACID semantics, but not required to maintain con sistency if the JET_bitReplayIgnoreLostLogs bit is specified during recovery. */
#define JET_errSectorSizeNotSupported -583 /* The ph ysical sector size reported by the disk subsystem, is unsupported by ESE for a s pecific file type. */ #define JET_errSectorSizeNotSupported -583 /* The ph ysical sector size reported by the disk subsystem, is unsupported by ESE for a s pecific file type. */
#define JET_errRecoveredWithoutUndoDatabasesConsistent -584 /* Soft recovery successfully replayed all operations and intended to skip the Undo phase of reco very, but the Undo phase was not required */ #define JET_errRecoveredWithoutUndoDatabasesConsistent -584 /* Soft recovery successfully replayed all operations and intended to skip the Undo phase of reco very, but the Undo phase was not required */
#define JET_wrnCommittedLogFilesLost 585 /* One or more logs that were committed to this database, were not recovered. The databa se is still clean/consistent, as though the lost log's transactions were committ ed lazily (and lost). */ #define JET_wrnCommittedLogFilesLost 585 /* One or more logs that were committed to this database, were not recovered. The databa se is still clean/consistent, as though the lost log's transactions were committ ed lazily (and lost). */
#define JET_errCommittedLogFileCorrupt -586 /* One or more lo gs were found to be corrupt during recovery. These log files are required to ma intain durable ACID semantics, but not required to maintain consistency if the J ET_bitIgnoreLostLogs bit and JET_paramDeleteOutOfRangeLogs is specified during r ecovery. */ #define JET_errCommittedLogFileCorrupt -586 /* One or more lo gs were found to be corrupt during recovery. These log files are required to ma intain durable ACID semantics, but not required to maintain consistency if the J ET_bitIgnoreLostLogs bit and JET_paramDeleteOutOfRangeLogs is specified during r ecovery. */
#define JET_wrnCommittedLogFilesRemoved 587 / * One or more logs that were committed to this database, were no recovered. The database is still clean/consistent, as though the corrupted log's transactions were committed lazily (and lost). */ #define JET_wrnCommittedLogFilesRemoved 587 / * One or more logs that were committed to this database, were no recovered. The database is still clean/consistent, as though the corrupted log's transactions were committed lazily (and lost). */
#define JET_wrnFinishWithUndo 588 / * Signal used by clients to indicate JetInit() finished with undo */
#define JET_wrnDatabaseRepaired 595 / * Database corruption has been repaired */ #define JET_wrnDatabaseRepaired 595 / * Database corruption has been repaired */
#define JET_errUnicodeTranslationBufferTooSmall -601 /* Unicode transl ation buffer too small */ #define JET_errUnicodeTranslationBufferTooSmall -601 /* Unicode transl ation buffer too small */
#define JET_errUnicodeTranslationFail -602 /* Unicode normal ization failed */ #define JET_errUnicodeTranslationFail -602 /* Unicode normal ization failed */
#define JET_errUnicodeNormalizationNotSupported -603 /* OS does not pr ovide support for Unicode normalisation (and no normalisation callback was speci fied) */ #define JET_errUnicodeNormalizationNotSupported -603 /* OS does not pr ovide support for Unicode normalisation (and no normalisation callback was speci fied) */
#define JET_errUnicodeLanguageValidationFailure -604 /* Can not valida te the language */
#define JET_errExistingLogFileHasBadSignature -610 /* Existing log file has bad signature */ #define JET_errExistingLogFileHasBadSignature -610 /* Existing log file has bad signature */
#define JET_errExistingLogFileIsNotContiguous -611 /* Existing log file is n ot contiguous */ #define JET_errExistingLogFileIsNotContiguous -611 /* Existing log file is n ot contiguous */
#define JET_errLogReadVerifyFailure -612 /* Checksum error i n log file during backup */ #define JET_errLogReadVerifyFailure -612 /* Checksum error i n log file during backup */
#define JET_errSLVReadVerifyFailure -613 /* Checksum error i n SLV file during backup */
#define JET_errCheckpointDepthTooDeep -614 // too many outstand ing generations between checkpoint and current generation #define JET_errCheckpointDepthTooDeep -614 // too many outstand ing generations between checkpoint and current generation
#define JET_errRestoreOfNonBackupDatabase -615 // hard recovery att empted on a database that wasn't a backup database #define JET_errRestoreOfNonBackupDatabase -615 // hard recovery att empted on a database that wasn't a backup database
#define JET_errLogFileNotCopied -616 // l og truncation attempted but not all required logs were copied #define JET_errLogFileNotCopied -616 // l og truncation attempted but not all required logs were copied
#define JET_errInvalidGrbit -900 /* Invalid parameter */ #define JET_errInvalidGrbit -900 /* Invalid flags parameter */
#define JET_errTermInProgress -1000 /* Termination in p rogress */ #define JET_errTermInProgress -1000 /* Termination in p rogress */
#define JET_errFeatureNotAvailable -1001 /* API not supporte d */ #define JET_errFeatureNotAvailable -1001 /* API not supporte d */
#define JET_errInvalidName -1002 /* Invalid name */ #define JET_errInvalidName -1002 /* Invalid name */
#define JET_errInvalidParameter -1003 /* Invalid API para meter */ #define JET_errInvalidParameter -1003 /* Invalid API para meter */
#define JET_wrnColumnNull 1004 /* Column i s NULL-valued */ #define JET_wrnColumnNull 1004 /* Column i s NULL-valued */
#define JET_wrnBufferTruncated 1006 /* Buffer too small for data */ #define JET_wrnBufferTruncated 1006 /* Buffer too small for data */
#define JET_wrnDatabaseAttached 1007 /* Database is alre ady attached */ #define JET_wrnDatabaseAttached 1007 /* Database is alre ady attached */
#define JET_errDatabaseFileReadOnly -1008 /* Tried to attach a read-only database file for read/write operations */ #define JET_errDatabaseFileReadOnly -1008 /* Tried to attach a read-only database file for read/write operations */
#define JET_wrnSortOverflow 1009 /* Sort doe s not fit in memory */ #define JET_wrnSortOverflow 1009 /* Sort doe s not fit in memory */
skipping to change at line 2489 skipping to change at line 3007
#define JET_errInvalidFilename -1044 /* Filename is inva lid */ #define JET_errInvalidFilename -1044 /* Filename is inva lid */
#define JET_errInvalidBookmark -1045 /* Invalid bookmark */ #define JET_errInvalidBookmark -1045 /* Invalid bookmark */
#define JET_errColumnInUse -1046 /* Column u sed in an index */ #define JET_errColumnInUse -1046 /* Column u sed in an index */
#define JET_errInvalidBufferSize -1047 /* Data buffer does n't match column size */ #define JET_errInvalidBufferSize -1047 /* Data buffer does n't match column size */
#define JET_errColumnNotUpdatable -1048 /* Cannot set colum n value */ #define JET_errColumnNotUpdatable -1048 /* Cannot set colum n value */
#define JET_errIndexInUse -1051 /* Index is in use */ #define JET_errIndexInUse -1051 /* Index is in use */
#define JET_errLinkNotSupported -1052 /* Link support una vailable */ #define JET_errLinkNotSupported -1052 /* Link support una vailable */
#define JET_errNullKeyDisallowed -1053 /* Null keys are di sallowed on index */ #define JET_errNullKeyDisallowed -1053 /* Null keys are di sallowed on index */
#define JET_errNotInTransaction -1054 /* Operation must b e within a transaction */ #define JET_errNotInTransaction -1054 /* Operation must b e within a transaction */
#define JET_wrnNoErrorInfo 1055 /* No exten ded error information */ #define JET_wrnNoErrorInfo 1055 /* No exten ded error information */
#define JET_errMustRollback -1057 /* Transact ion must rollback because failure of unversioned update */
#define JET_wrnNoIdleActivity 1058 /* No idle activity occured */ #define JET_wrnNoIdleActivity 1058 /* No idle activity occured */
#define JET_errTooManyActiveUsers -1059 /* Too many active database users */ #define JET_errTooManyActiveUsers -1059 /* Too many active database users */
#define JET_errInvalidCountry -1061 /* Invalid or unkno wn country code */ #define JET_errInvalidCountry -1061 /* Invalid or unkno wn country/region code */
#define JET_errInvalidLanguageId -1062 /* Invalid or unkno wn language id */ #define JET_errInvalidLanguageId -1062 /* Invalid or unkno wn language id */
#define JET_errInvalidCodePage -1063 /* Invalid or unkno wn code page */ #define JET_errInvalidCodePage -1063 /* Invalid or unkno wn code page */
#define JET_errInvalidLCMapStringFlags -1064 /* Invalid flags for LCMapS tring() */ #define JET_errInvalidLCMapStringFlags -1064 /* Invalid flags for LCMapS tring() */
#define JET_errVersionStoreEntryTooBig -1065 /* Attempted to create a ve rsion store entry (RCE) larger than a version bucket */ #define JET_errVersionStoreEntryTooBig -1065 /* Attempted to create a ve rsion 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_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_wrnNoWriteLock 1067 /* No write lock at transaction level 0 */
#define JET_wrnColumnSetNull 1068 /* Column set to NU LL-value */ #define JET_wrnColumnSetNull 1068 /* Column set to NU LL-value */
#define JET_errVersionStoreOutOfMemory -1069 /* Version store out of mem ory (cleanup already attempted) */ #define JET_errVersionStoreOutOfMemory -1069 /* Version store out of mem ory (cleanup already attempted) */
#define JET_errCannotIndex -1071 /* Cannot i ndex escrow column or SLV column */ #define JET_errCannotIndex -1071 /* Cannot i ndex escrow column */
#define JET_errRecordNotDeleted -1072 /* Record h as not been deleted */ #define JET_errRecordNotDeleted -1072 /* Record h as not been deleted */
#define JET_errTooManyMempoolEntries -1073 /* Too many mempool entries requested */ #define JET_errTooManyMempoolEntries -1073 /* Too many mempool entries requested */
#define JET_errOutOfObjectIDs -1074 /* Out of btree Obj ectIDs (perform offline defrag to reclaim freed/unused ObjectIds) */ #define JET_errOutOfObjectIDs -1074 /* Out of btree Obj ectIDs (perform offline defrag to reclaim freed/unused ObjectIds) */
#define JET_errOutOfLongValueIDs -1075 /* Long-value ID co unter has reached maximum value. (perform offline defrag to reclaim free/unused LongValueIDs) */ #define JET_errOutOfLongValueIDs -1075 /* Long-value ID co unter has reached maximum value. (perform offline defrag to reclaim free/unused LongValueIDs) */
#define JET_errOutOfAutoincrementValues -1076 /* Auto-increment c ounter has reached maximum value (offline defrag WILL NOT be able to reclaim fre e/unused Auto-increment values). */ #define JET_errOutOfAutoincrementValues -1076 /* Auto-increment c ounter has reached maximum value (offline defrag WILL NOT be able to reclaim fre e/unused Auto-increment values). */
#define JET_errOutOfDbtimeValues -1077 /* Dbtime counter h as reached maximum value (perform offline defrag to reclaim free/unused Dbtime v alues) */ #define JET_errOutOfDbtimeValues -1077 /* Dbtime counter h as reached maximum value (perform offline defrag to reclaim free/unused Dbtime v alues) */
#define JET_errOutOfSequentialIndexValues -1078 /* Sequential index counter has reached maximum value (perform offline defrag to reclaim free/unused Sequen tialIndex values) */ #define JET_errOutOfSequentialIndexValues -1078 /* Sequential index counter has reached maximum value (perform offline defrag to reclaim free/unused Sequen tialIndex values) */
#define JET_errRunningInOneInstanceMode -1080 /* Multi-instance c all with single-instance mode enabled */ #define JET_errRunningInOneInstanceMode -1080 /* Multi-instance c all with single-instance mode enabled */
#define JET_errRunningInMultiInstanceMode -1081 /* Single-instance call wit h multi-instance mode enabled */ #define JET_errRunningInMultiInstanceMode -1081 /* Single-instance call wit h multi-instance mode enabled */
skipping to change at line 2538 skipping to change at line 3057
#define JET_errRollbackRequired -1109 /* Must rol lback current transaction -- cannot commit or begin a new one */ #define JET_errRollbackRequired -1109 /* Must rol lback current transaction -- cannot commit or begin a new one */
#define JET_errTransReadOnly -1110 /* Read-only transa ction tried to modify the database */ #define JET_errTransReadOnly -1110 /* Read-only transa ction tried to modify the database */
#define JET_errSessionWriteConflict -1111 /* Attempt to repla ce the same record by two diffrerent cursors in the same session */ #define JET_errSessionWriteConflict -1111 /* Attempt to repla ce 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 previ ous version of Jet */ #define JET_errRecordTooBigForBackwardCompatibility - 1112 /* record would be too big if represented in a database format from a previ ous version of Jet */
#define JET_errCannotMaterializeForwardOnlySort -1113 /* The temp table could not be created due to parameters that confl ict with JET_bitTTForwardOnly */ #define JET_errCannotMaterializeForwardOnlySort -1113 /* The temp table could not be created due to parameters that confl ict with JET_bitTTForwardOnly */
#define JET_errSesidTableIdMismatch -1114 /* This session han dle can't be used with this table id */ #define JET_errSesidTableIdMismatch -1114 /* This session han dle can't be used with this table id */
#define JET_errInvalidInstance -1115 /* Invalid instance handle */ #define JET_errInvalidInstance -1115 /* Invalid instance handle */
#define JET_errDirtyShutdown -1116 /* The instance was shutdown successfully but all the attached databases were left in a dirty state by request via JET_bitTermDirty */ #define JET_errDirtyShutdown -1116 /* The instance was shutdown successfully but all the attached databases were left in a dirty state by request via JET_bitTermDirty */
// unused -1117
#define JET_errReadPgnoVerifyFailure -1118 /* The database page read f
rom disk had the wrong page number. */
#define JET_errReadLostFlushVerifyFailure -1119 /* The database page read f
rom disk had a previous write not represented on the page. */
#define JET_errFileSystemCorruption -1121 /* File sys
tem operation failed with an error indicating the file system is corrupt. */
#define JET_wrnShrinkNotPossible 1122 /* Database
file could not be shrunk because there is not enough internal free space availab
le or there is unmovable data present. */
#define JET_errRecoveryVerifyFailure -1123 /* One or more data
base pages read from disk during recovery do not match the expected state. */
#define JET_errFilteredMoveNotSupported -1124 /* Attempte
d to provide a filter to JetSetCursorFilter() in an unsupported scenario. */
#define JET_errDatabaseDuplicate -1201 /* Database already exists */ #define JET_errDatabaseDuplicate -1201 /* Database already exists */
#define JET_errDatabaseInUse -1202 /* Database in use */ #define JET_errDatabaseInUse -1202 /* Database in use */
#define JET_errDatabaseNotFound -1203 /* No such database */ #define JET_errDatabaseNotFound -1203 /* No such database */
#define JET_errDatabaseInvalidName -1204 /* Invalid database name */ #define JET_errDatabaseInvalidName -1204 /* Invalid database name */
#define JET_errDatabaseInvalidPages -1205 /* Invalid number o f pages */ #define JET_errDatabaseInvalidPages -1205 /* Invalid number o f pages */
#define JET_errDatabaseCorrupted -1206 /* Non database fil e or corrupted db */ #define JET_errDatabaseCorrupted -1206 /* Non database fil e or corrupted db */
#define JET_errDatabaseLocked -1207 /* Database exclusi vely locked */ #define JET_errDatabaseLocked -1207 /* Database exclusi vely locked */
#define JET_errCannotDisableVersioning -1208 /* Cannot disable versionin g for this database */ #define JET_errCannotDisableVersioning -1208 /* Cannot disable versionin g for this database */
#define JET_errInvalidDatabaseVersion -1209 /* Database engine is incom patible with database */ #define JET_errInvalidDatabaseVersion -1209 /* Database engine is incom patible with database */
skipping to change at line 2609 skipping to change at line 3136
#define JET_errIndexCantBuild -1401 /* Index build fail ed */ #define JET_errIndexCantBuild -1401 /* Index build fail ed */
#define JET_errIndexHasPrimary -1402 /* Primary index al ready defined */ #define JET_errIndexHasPrimary -1402 /* Primary index al ready defined */
#define JET_errIndexDuplicate -1403 /* Index is already defined */ #define JET_errIndexDuplicate -1403 /* Index is already defined */
#define JET_errIndexNotFound -1404 /* No such index */ #define JET_errIndexNotFound -1404 /* No such index */
#define JET_errIndexMustStay -1405 /* Cannot delete cl ustered index */ #define JET_errIndexMustStay -1405 /* Cannot delete cl ustered index */
#define JET_errIndexInvalidDef -1406 /* Illegal index de finition */ #define JET_errIndexInvalidDef -1406 /* Illegal index de finition */
#define JET_errInvalidCreateIndex -1409 /* Invalid create i ndex description */ #define JET_errInvalidCreateIndex -1409 /* Invalid create i ndex description */
#define JET_errTooManyOpenIndexes -1410 /* Out of index des cription blocks */ #define JET_errTooManyOpenIndexes -1410 /* Out of index des cription blocks */
#define JET_errMultiValuedIndexViolation -1411 /* Non-unique inter-record index keys generated for a multivalued index */ #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_errIndexBuildCorrupted -1412 /* Failed to build a secondary index that properly reflects primary index */
#define JET_errPrimaryIndexCorrupted -1413 /* Primary index is corrupt #define JET_errPrimaryIndexCorrupted -1413 /* Primary index is corrupt
. The database must be defragmented */ . The database must be defragmented or the table deleted. */
#define JET_errSecondaryIndexCorrupted -1414 /* Secondary index is corru #define JET_errSecondaryIndexCorrupted -1414 /* Secondary index is corru
pt. The database must be defragmented */ pt. The database must be defragmented or the affected index must be deleted. If
the corrupt index is over Unicode text, a likely cause a sort-order change. */
#define JET_wrnCorruptIndexDeleted 1415 /* Out of date inde x removed */ #define JET_wrnCorruptIndexDeleted 1415 /* Out of date inde x removed */
#define JET_errInvalidIndexId -1416 /* Illegal index id */ #define JET_errInvalidIndexId -1416 /* Illegal index id */
#define JET_wrnPrimaryIndexOutOfDate 1417 /* The Primary index is cre
ated with an incompatible OS sort version. The table can not be safely modified.
*/
#define JET_wrnSecondaryIndexOutOfDate 1418 /* One or more Secondary in
dex is created with an incompatible OS sort version. Any index over Unicode text
should be deleted. */
#define JET_errIndexTuplesSecondaryIndexOnly -1430 // tuple ind ex can only be on a secondary index #define JET_errIndexTuplesSecondaryIndexOnly -1430 // tuple ind ex can only be on a secondary index
#define JET_errIndexTuplesTooManyColumns -1431 // t uple index may only have eleven columns in the index #define JET_errIndexTuplesTooManyColumns -1431 // t uple index may only have eleven columns in the index
#define JET_errIndexTuplesOneColumnOnly JET_errIn dexTuplesTooManyColumns /* OBSOLETE */ #define JET_errIndexTuplesOneColumnOnly JET_errIn dexTuplesTooManyColumns /* OBSOLETE */
#define JET_errIndexTuplesNonUniqueOnly -1432 / / tuple index must be a non-unique index #define JET_errIndexTuplesNonUniqueOnly -1432 / / tuple index must be a non-unique index
#define JET_errIndexTuplesTextBinaryColumnsOnly -1433 // t uple index must be on a text/binary column #define JET_errIndexTuplesTextBinaryColumnsOnly -1433 // t uple index must be on a text/binary column
#define JET_errIndexTuplesTextColumnsOnly JET_errIndexTuple sTextBinaryColumnsOnly /* OBSOLETE */ #define JET_errIndexTuplesTextColumnsOnly JET_errIndexTuple sTextBinaryColumnsOnly /* OBSOLETE */
#define JET_errIndexTuplesVarSegMacNotAllowed -1434 // tuple ind ex does not allow setting cbVarSegMac #define JET_errIndexTuplesVarSegMacNotAllowed -1434 // tuple ind ex does not allow setting cbVarSegMac
#define JET_errIndexTuplesInvalidLimits -1435 / / invalid min/max tuple length or max characters to index specified #define JET_errIndexTuplesInvalidLimits -1435 / / invalid min/max tuple length or max characters to index specified
#define JET_errIndexTuplesCannotRetrieveFromIndex -1436 // cannot ca ll RetrieveColumn() with RetrieveFromIndex on a tuple index #define JET_errIndexTuplesCannotRetrieveFromIndex -1436 // cannot ca ll RetrieveColumn() with RetrieveFromIndex on a tuple index
skipping to change at line 2678 skipping to change at line 3207
#define JET_errRecordPrimaryChanged -1604 /* Primary key may not change */ #define JET_errRecordPrimaryChanged -1604 /* Primary key may not change */
#define JET_errKeyDuplicate -1605 /* Illegal duplicate key */ #define JET_errKeyDuplicate -1605 /* Illegal duplicate key */
#define JET_errAlreadyPrepared -1607 /* Attempted to upd ate record when record update was already in progress */ #define JET_errAlreadyPrepared -1607 /* Attempted to upd ate record when record update was already in progress */
#define JET_errKeyNotMade -1608 /* No call to JetMakeKey */ #define JET_errKeyNotMade -1608 /* No call to JetMakeKey */
#define JET_errUpdateNotPrepared -1609 /* No call to JetPr epareUpdate */ #define JET_errUpdateNotPrepared -1609 /* No call to JetPr epareUpdate */
#define JET_wrnDataHasChanged 1610 /* Data has changed */ #define JET_wrnDataHasChanged 1610 /* Data has changed */
#define JET_errDataHasChanged -1611 /* Data has changed , operation aborted */ #define JET_errDataHasChanged -1611 /* Data has changed , operation aborted */
#define JET_wrnKeyChanged 1618 /* Moved to new key */ #define JET_wrnKeyChanged 1618 /* Moved to new key */
#define JET_errLanguageNotSupported -1619 /* Windows installa tion does not support language */ #define JET_errLanguageNotSupported -1619 /* Windows installa tion does not support language */
#define JET_errDecompressionFailed -1620 /* Internal error: data could not be decompressed */ #define JET_errDecompressionFailed -1620 /* Internal error: data could not be decompressed */
#define JET_errUpdateMustVersion -1621 /* No version updat es only for uncommitted tables */
/* Sort Table errors /* Sort Table errors
/**/ /**/
#define JET_errTooManySorts -1701 /* Too many sort processes */ #define JET_errTooManySorts -1701 /* Too many sort processes */
#define JET_errInvalidOnSort -1702 /* Invalid operatio n on Sort */ #define JET_errInvalidOnSort -1702 /* Invalid operatio n on Sort */
/* Other errors /* Other errors
/**/ /**/
#define JET_errTempFileOpenError -1803 /* Temp file could not be opened */ #define JET_errTempFileOpenError -1803 /* Temp file could not be opened */
#define JET_errTooManyAttachedDatabases -1805 /* Too many open databases */ #define JET_errTooManyAttachedDatabases -1805 /* Too many open databases */
skipping to change at line 2706 skipping to change at line 3236
#define JET_errInvalidOperation -1906 /* Invalid operatio n */ #define JET_errInvalidOperation -1906 /* Invalid operatio n */
#define JET_errAccessDenied -1907 /* Access d enied */ #define JET_errAccessDenied -1907 /* Access d enied */
#define JET_wrnIdleFull 1908 /* Idle registry full */ #define JET_wrnIdleFull 1908 /* Idle registry full */
#define JET_errTooManySplits -1909 /* Infinite split * / #define JET_errTooManySplits -1909 /* Infinite split * /
#define JET_errSessionSharingViolation -1910 /* Multiple threads are usi ng the same session */ #define JET_errSessionSharingViolation -1910 /* Multiple threads are usi ng the same session */
#define JET_errEntryPointNotFound -1911 /* An entry point i n a DLL we require could not be found */ #define JET_errEntryPointNotFound -1911 /* An entry point i n a DLL we require could not be found */
#define JET_errSessionContextAlreadySet -1912 /* Specified sessio n already has a session context set */ #define JET_errSessionContextAlreadySet -1912 /* Specified sessio n already has a session context set */
#define JET_errSessionContextNotSetByThisThread -1913 /* Tried to reset s ession context, but current thread did not orignally set the session context */ #define JET_errSessionContextNotSetByThisThread -1913 /* Tried to reset s ession context, but current thread did not orignally set the session context */
#define JET_errSessionInUse -1914 /* Tried to terminate session in use */ #define JET_errSessionInUse -1914 /* Tried to terminate session in use */
#define JET_errRecordFormatConversionFailed -1915 /* Internal error during dy namic record format conversion */ #define JET_errRecordFormatConversionFailed -1915 /* Internal error during dy namic record format conversion */
#define JET_errOneDatabasePerSession -1916 /* Just one open user datab ase per session is allowed (JET_paramOneDatabasePerSession) */ #define JET_errOneDatabasePerSession -1916 /* Just one open user datab ase per session is allowed (JET_paramOneDatabasePerSession) */
#define JET_errRollbackError -1917 /* error during rol lback */ #define JET_errRollbackError -1917 /* error during rol lback */
#define JET_wrnDefragAlreadyRunning 2000 /* Online defrag al ready running on specified database */ #define JET_wrnDefragAlreadyRunning 2000 /* Online defrag al ready running on specified database */
#define JET_wrnDefragNotRunning 2001 /* Online d efrag not running on specified database */ #define JET_wrnDefragNotRunning 2001 /* Online d efrag not running on specified database */
#define JET_errDatabaseAlreadyRunningMaintenance -2004 /* The operation did not complete successfully because the database is already running maintenance on spe cified database */
#define JET_wrnCallbackNotRegistered 2100 /* Unregistered a non-existant callback function */ #define JET_wrnCallbackNotRegistered 2100 /* Unregistered a non-existant callback function */
#define JET_errCallbackFailed -2101 /* A callback faile d */ #define JET_errCallbackFailed -2101 /* A callback faile d */
#define JET_errCallbackNotResolved -2102 /* A callback funct ion could not be found */ #define JET_errCallbackNotResolved -2102 /* A callback funct ion could not be found */
#define JET_errSpaceHintsInvalid -2103 /* An element of th e JET space hints structure was not correct or actionable. */ #define JET_errSpaceHintsInvalid -2103 /* An element of th e JET space hints structure was not correct or actionable. */
#define JET_errOSSnapshotInvalidSequence -2401 /* OS Shadow copy API used in an invalid sequence */ #define JET_errOSSnapshotInvalidSequence -2401 /* OS Shadow copy API used in an invalid sequence */
#define JET_errOSSnapshotTimeOut -2402 /* OS Shadow copy e nded with time-out */ #define JET_errOSSnapshotTimeOut -2402 /* OS Shadow copy e nded with time-out */
#define JET_errOSSnapshotNotAllowed -2403 /* OS Shadow copy n ot allowed (backup or recovery in progress) */ #define JET_errOSSnapshotNotAllowed -2403 /* OS Shadow copy n ot allowed (backup or recovery in progress) */
skipping to change at line 2751 skipping to change at line 3281
/**********************************************************************/ /**********************************************************************/
/*********************** PROTOTYPES **************************/ /*********************** PROTOTYPES **************************/
/**********************************************************************/ /**********************************************************************/
#if !defined(_JET_NOPROTOTYPES) #if !defined(_JET_NOPROTOTYPES)
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetInit( JetInit(
__inout_opt JET_INSTANCE * pinstance ); _Inout_opt_ JET_INSTANCE * pinstance );
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
JET_ERR JET_API JET_ERR JET_API
JetInit2( JetInit2(
__inout_opt JET_INSTANCE * pinstance, _Inout_opt_ JET_INSTANCE * pinstance,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetInit3A JetInit3 #define JetInit3A JetInit3
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetInit3A( JetInit3A(
__inout_opt JET_INSTANCE * pinstance, _Inout_opt_ JET_INSTANCE * pinstance,
__in_opt JET_RSTINFO_A * prstInfo, _In_opt_ JET_RSTINFO_A * prstInfo,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetInit3W( JetInit3W(
__inout_opt JET_INSTANCE * pinstance, _Inout_opt_ JET_INSTANCE * pinstance,
__in_opt JET_RSTINFO_W * prstInfo, _In_opt_ JET_RSTINFO_W * prstInfo,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetInit3 JetInit3W #define JetInit3 JetInit3W
#else #else
#define JetInit3 JetInit3A #define JetInit3 JetInit3A
#endif #endif
#endif #endif
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateInstanceA JetCreateInstance #define JetCreateInstanceA JetCreateInstance
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateInstanceA( JetCreateInstanceA(
__out JET_INSTANCE * pinstance, _Out_ JET_INSTANCE * pinstance,
__in_opt JET_PCSTR szInstanceName ); _In_opt_ JET_PCSTR szInstanceName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateInstanceW( JetCreateInstanceW(
__out JET_INSTANCE * pinstance, _Out_ JET_INSTANCE * pinstance,
__in_opt JET_PCWSTR szInstanceName ); _In_opt_ JET_PCWSTR szInstanceName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateInstance JetCreateInstanceW #define JetCreateInstance JetCreateInstanceW
#else #else
#define JetCreateInstance JetCreateInstanceA #define JetCreateInstance JetCreateInstanceA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateInstance2A JetCreateInstance2 #define JetCreateInstance2A JetCreateInstance2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateInstance2A( JetCreateInstance2A(
__out JET_INSTANCE * pinstance, _Out_ JET_INSTANCE * pinstance,
__in_opt JET_PCSTR szInstanceName, _In_opt_ JET_PCSTR szInstanceName,
__in_opt JET_PCSTR szDisplayName, _In_opt_ JET_PCSTR szDisplayName,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetCreateInstance2W( JetCreateInstance2W(
__out JET_INSTANCE * pinstance, _Out_ JET_INSTANCE * pinstance,
__in_opt JET_PCWSTR szInstanceName, _In_opt_ JET_PCWSTR szInstanceName,
__in_opt JET_PCWSTR szDisplayName, _In_opt_ JET_PCWSTR szDisplayName,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateInstance2 JetCreateInstance2W #define JetCreateInstance2 JetCreateInstance2W
#else #else
#define JetCreateInstance2 JetCreateInstance2A #define JetCreateInstance2 JetCreateInstance2A
#endif #endif
#endif #endif
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetInstanceMiscInfo( JetGetInstanceMiscInfo(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetTerm( JetTerm(
__in JET_INSTANCE instance ); _In_ JET_INSTANCE instance );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetTerm2( JetTerm2(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetStopService(); JetStopService();
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetStopServiceInstance( JetStopServiceInstance(
__in JET_INSTANCE instance ); _In_ JET_INSTANCE instance );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0602 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API
JetStopServiceInstance2(
_In_ JET_INSTANCE instance,
_In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0602
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetStopBackup(); JetStopBackup();
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetStopBackupInstance( JetStopBackupInstance(
__in JET_INSTANCE instance ); _In_ JET_INSTANCE instance );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetSetSystemParameterA JetSetSystemParameter #define JetSetSystemParameterA JetSetSystemParameter
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetSystemParameterA( JetSetSystemParameterA(
__inout_opt JET_INSTANCE * pinstance, _Inout_opt_ JET_INSTANCE * pinstance,
__in JET_SESID sesid, _In_opt_ JET_SESID sesid,
__in unsigned long paramid, _In_ unsigned long paramid,
__in JET_API_PTR lParam, _In_opt_ JET_API_PTR lParam,
__in_opt JET_PCSTR szParam ); _In_opt_ JET_PCSTR szParam );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetSetSystemParameterW( JetSetSystemParameterW(
__inout_opt JET_INSTANCE * pinstance, _Inout_opt_ JET_INSTANCE * pinstance,
__in JET_SESID sesid, _In_opt_ JET_SESID sesid,
__in unsigned long paramid, _In_ unsigned long paramid,
__in JET_API_PTR lParam, _In_opt_ JET_API_PTR lParam,
__in_opt JET_PCWSTR szParam ); _In_opt_ JET_PCWSTR szParam );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetSetSystemParameter JetSetSystemParameterW #define JetSetSystemParameter JetSetSystemParameterW
#else #else
#define JetSetSystemParameter JetSetSystemParameterA #define JetSetSystemParameter JetSetSystemParameterA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetSystemParameterA JetGetSystemParameter #define JetGetSystemParameterA JetGetSystemParameter
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetSystemParameterA( JetGetSystemParameterA(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_SESID sesid, _In_opt_ JET_SESID sesid,
__in unsigned long paramid, _In_ unsigned long paramid,
__inout_opt JET_API_PTR * plParam, _Out_opt_ JET_API_PTR * plParam,
__out_bcount_opt( cbMax ) JET_PSTR szParam, _Out_writes_bytes_opt_( cbMax ) JET_PSTR szParam,
__in unsigned long cbMax ); _In_ unsigned long cbMax );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetSystemParameterW( JetGetSystemParameterW(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_SESID sesid, _In_opt_ JET_SESID sesid,
__in unsigned long paramid, _In_ unsigned long paramid,
__inout_opt JET_API_PTR * plParam, _Out_opt_ JET_API_PTR * plParam,
__out_bcount_opt( cbMax ) JET_PWSTR szParam, _Out_writes_bytes_opt_( cbMax ) JET_PWSTR szParam,
__in unsigned long cbMax ); _In_ unsigned long cbMax );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetSystemParameter JetGetSystemParameterW #define JetGetSystemParameter JetGetSystemParameterW
#else #else
#define JetGetSystemParameter JetGetSystemParameterA #define JetGetSystemParameter JetGetSystemParameterA
#endif #endif
#endif #endif
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetEnableMultiInstanceA JetEnableMultiInstance #define JetEnableMultiInstanceA JetEnableMultiInstance
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetEnableMultiInstanceA( JetEnableMultiInstanceA(
__in_ecount_opt( csetsysparam ) JET_SETSYSPARAM_A * psetsysparam, _In_reads_opt_( csetsysparam ) JET_SETSYSPARAM_A * psetsysparam,
__in unsigned long _In_ unsigned long
csetsysparam, csetsysparam,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcsetsucceed ); pcsetsucceed );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetEnableMultiInstanceW( JetEnableMultiInstanceW(
__in_ecount_opt( csetsysparam ) JET_SETSYSPARAM_W * psetsysparam, _In_reads_opt_( csetsysparam ) JET_SETSYSPARAM_W * psetsysparam,
__in unsigned long _In_ unsigned long
csetsysparam, csetsysparam,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcsetsucceed ); pcsetsucceed );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetEnableMultiInstance JetEnableMultiInstanceW #define JetEnableMultiInstance JetEnableMultiInstanceW
#else #else
#define JetEnableMultiInstance JetEnableMultiInstanceA #define JetEnableMultiInstance JetEnableMultiInstanceA
#endif #endif
#endif #endif
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetThreadStats( JetGetThreadStats(
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax ); _In_ unsigned long cbMax );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetBeginSessionA JetBeginSession #define JetBeginSessionA JetBeginSession
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JetBeginSessionA( JET_ERR JET_API JetBeginSessionA(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__out JET_SESID * psesid, _Out_ JET_SESID * psesid,
__in_opt JET_PCSTR szUserName, _In_opt_ JET_PCSTR szUserName,
__in_opt JET_PCSTR szPassword ); _In_opt_ JET_PCSTR szPassword );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JetBeginSessionW( JET_ERR JET_API JetBeginSessionW(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__out JET_SESID * psesid, _Out_ JET_SESID * psesid,
__in_opt JET_PCWSTR szUserName, _In_opt_ JET_PCWSTR szUserName,
__in_opt JET_PCWSTR szPassword ); _In_opt_ JET_PCWSTR szPassword );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetBeginSession JetBeginSessionW #define JetBeginSession JetBeginSessionW
#else #else
#define JetBeginSession JetBeginSessionA #define JetBeginSession JetBeginSessionA
#endif #endif
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDupSession( JetDupSession(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__out JET_SESID * psesid ); _Out_ JET_SESID * psesid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetEndSession( JetEndSession(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetVersion( JetGetVersion(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__out unsigned long * pwVersion ); _Out_ unsigned long * pwVersion );
JET_ERR JET_API JET_ERR JET_API
JetIdle( JetIdle(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateDatabaseA JetCreateDatabase #define JetCreateDatabaseA JetCreateDatabase
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateDatabaseA( JetCreateDatabaseA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szFilename, _In_ JET_PCSTR szFilename,
__in_opt JET_PCSTR szConnect, _In_opt_ JET_PCSTR szConnect,
__out JET_DBID * pdbid, _Out_ JET_DBID * pdbid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateDatabaseW( JetCreateDatabaseW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szFilename, _In_ JET_PCWSTR szFilename,
__in_opt JET_PCWSTR szConnect, _In_opt_ JET_PCWSTR szConnect,
__out JET_DBID * pdbid, _Out_ JET_DBID * pdbid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateDatabase JetCreateDatabaseW #define JetCreateDatabase JetCreateDatabaseW
#else #else
#define JetCreateDatabase JetCreateDatabaseA #define JetCreateDatabase JetCreateDatabaseA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateDatabase2A JetCreateDatabase2 #define JetCreateDatabase2A JetCreateDatabase2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateDatabase2A( JetCreateDatabase2A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szFilename, _In_ JET_PCSTR szFilename,
__in const unsigned long cpgDatabaseSizeMax, _In_ const unsigned long cpgDatabaseSizeMax,
__out JET_DBID * pdbid, _Out_ JET_DBID * pdbid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JetCreateDatabase2W( JET_ERR JET_API JetCreateDatabase2W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szFilename, _In_ JET_PCWSTR szFilename,
__in const unsigned long cpgDatabaseSizeMax, _In_ const unsigned long cpgDatabaseSizeMax,
__out JET_DBID * pdbid, _Out_ JET_DBID * pdbid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateDatabase2 JetCreateDatabase2W #define JetCreateDatabase2 JetCreateDatabase2W
#else #else
#define JetCreateDatabase2 JetCreateDatabase2A #define JetCreateDatabase2 JetCreateDatabase2A
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetAttachDatabaseA JetAttachDatabase #define JetAttachDatabaseA JetAttachDatabase
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetAttachDatabaseA( JetAttachDatabaseA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szFilename, _In_ JET_PCSTR szFilename,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetAttachDatabaseW( JetAttachDatabaseW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szFilename, _In_ JET_PCWSTR szFilename,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetAttachDatabase JetAttachDatabaseW #define JetAttachDatabase JetAttachDatabaseW
#else #else
#define JetAttachDatabase JetAttachDatabaseA #define JetAttachDatabase JetAttachDatabaseA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetAttachDatabase2A JetAttachDatabase2 #define JetAttachDatabase2A JetAttachDatabase2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetAttachDatabase2A( JetAttachDatabase2A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szFilename, _In_ JET_PCSTR szFilename,
__in const unsigned long cpgDatabaseSizeMax, _In_ const unsigned long cpgDatabaseSizeMax,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetAttachDatabase2W( JetAttachDatabase2W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szFilename, _In_ JET_PCWSTR szFilename,
__in const unsigned long cpgDatabaseSizeMax, _In_ const unsigned long cpgDatabaseSizeMax,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetAttachDatabase2 JetAttachDatabase2W #define JetAttachDatabase2 JetAttachDatabase2W
#else #else
#define JetAttachDatabase2 JetAttachDatabase2A #define JetAttachDatabase2 JetAttachDatabase2A
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDetachDatabaseA JetDetachDatabase #define JetDetachDatabaseA JetDetachDatabase
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDetachDatabaseA( JetDetachDatabaseA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szFilename ); _In_opt_ JET_PCSTR szFilename );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDetachDatabaseW( JetDetachDatabaseW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szFilename ); _In_opt_ JET_PCWSTR szFilename );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDetachDatabase JetDetachDatabaseW #define JetDetachDatabase JetDetachDatabaseW
#else #else
#define JetDetachDatabase JetDetachDatabaseA #define JetDetachDatabase JetDetachDatabaseA
#endif #endif
#endif #endif
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDetachDatabase2A JetDetachDatabase2 #define JetDetachDatabase2A JetDetachDatabase2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDetachDatabase2A( JetDetachDatabase2A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szFilename, _In_opt_ JET_PCSTR szFilename,
__in JET_GRBIT grbit); _In_ JET_GRBIT grbit);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetDetachDatabase2W( JetDetachDatabase2W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szFilename, _In_opt_ JET_PCWSTR szFilename,
__in JET_GRBIT grbit); _In_ JET_GRBIT grbit);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDetachDatabase2 JetDetachDatabase2W #define JetDetachDatabase2 JetDetachDatabase2W
#else #else
#define JetDetachDatabase2 JetDetachDatabase2A #define JetDetachDatabase2 JetDetachDatabase2A
#endif #endif
#endif #endif
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetObjectInfoA JetGetObjectInfo #define JetGetObjectInfoA JetGetObjectInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetObjectInfoA( JetGetObjectInfoA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_OBJTYP objtyp, _In_ JET_OBJTYP objtyp,
__in_opt JET_PCSTR szContainerName, _In_opt_ JET_PCSTR szContainerName,
__in_opt JET_PCSTR szObjectName, _In_opt_ JET_PCSTR szObjectName,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetObjectInfoW( JetGetObjectInfoW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_OBJTYP objtyp, _In_ JET_OBJTYP objtyp,
__in_opt JET_PCWSTR szContainerName, _In_opt_ JET_PCWSTR szContainerName,
__in_opt JET_PCWSTR szObjectName, _In_opt_ JET_PCWSTR szObjectName,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetObjectInfo JetGetObjectInfoW #define JetGetObjectInfo JetGetObjectInfoW
#else #else
#define JetGetObjectInfo JetGetObjectInfoA #define JetGetObjectInfo JetGetObjectInfoA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetTableInfoA JetGetTableInfo #define JetGetTableInfoA JetGetTableInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetTableInfoA( JetGetTableInfoA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetTableInfoW( JetGetTableInfoW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetTableInfo JetGetTableInfoW #define JetGetTableInfo JetGetTableInfoW
#else #else
#define JetGetTableInfo JetGetTableInfoA #define JetGetTableInfo JetGetTableInfoA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateTableA JetCreateTable #define JetCreateTableA JetCreateTable
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateTableA( JetCreateTableA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCSTR szTableName, _In_ JET_PCSTR szTableName,
__in unsigned long lPages, _In_ unsigned long lPages,
__in unsigned long lDensity, _In_ unsigned long lDensity,
__out JET_TABLEID * ptableid ); _Out_ JET_TABLEID * ptableid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateTableW( JetCreateTableW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCWSTR szTableName, _In_ JET_PCWSTR szTableName,
__in unsigned long lPages, _In_ unsigned long lPages,
__in unsigned long lDensity, _In_ unsigned long lDensity,
__out JET_TABLEID * ptableid ); _Out_ JET_TABLEID * ptableid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateTable JetCreateTableW #define JetCreateTable JetCreateTableW
#else #else
#define JetCreateTable JetCreateTableA #define JetCreateTable JetCreateTableA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateTableColumnIndexA JetCreateTableColumnIndex #define JetCreateTableColumnIndexA JetCreateTableColumnIndex
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateTableColumnIndexA( JetCreateTableColumnIndexA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__inout JET_TABLECREATE_A * ptablecreate ); _Inout_ JET_TABLECREATE_A * ptablecreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateTableColumnIndexW( JetCreateTableColumnIndexW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__inout JET_TABLECREATE_W * ptablecreate ); _Inout_ JET_TABLECREATE_W * ptablecreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateTableColumnIndex JetCreateTableColumnIndexW #define JetCreateTableColumnIndex JetCreateTableColumnIndexW
#else #else
#define JetCreateTableColumnIndex JetCreateTableColumnIndexA #define JetCreateTableColumnIndex JetCreateTableColumnIndexA
#endif #endif
#endif #endif
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateTableColumnIndex2A JetCreateTableColumnIndex2 #define JetCreateTableColumnIndex2A JetCreateTableColumnIndex2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateTableColumnIndex2A( JetCreateTableColumnIndex2A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__inout JET_TABLECREATE2_A * ptablecreate ); _Inout_ JET_TABLECREATE2_A * ptablecreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateTableColumnIndex2W( JetCreateTableColumnIndex2W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__inout JET_TABLECREATE2_W * ptablecreate ); _Inout_ JET_TABLECREATE2_W * ptablecreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateTableColumnIndex2 JetCreateTableColumnIndex2W #define JetCreateTableColumnIndex2 JetCreateTableColumnIndex2W
#else #else
#define JetCreateTableColumnIndex2 JetCreateTableColumnIndex2A #define JetCreateTableColumnIndex2 JetCreateTableColumnIndex2A
#endif #endif
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateTableColumnIndex3A( JetCreateTableColumnIndex3A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__inout JET_TABLECREATE3_A * ptablecreate ); _Inout_ JET_TABLECREATE3_A * ptablecreate );
JET_ERR JET_API JET_ERR JET_API
JetCreateTableColumnIndex3W( JetCreateTableColumnIndex3W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__inout JET_TABLECREATE3_W * ptablecreate ); _Inout_ JET_TABLECREATE3_W * ptablecreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateTableColumnIndex3 JetCreateTableColumnIndex3W #define JetCreateTableColumnIndex3 JetCreateTableColumnIndex3W
#else #else
#define JetCreateTableColumnIndex3 JetCreateTableColumnIndex3A #define JetCreateTableColumnIndex3 JetCreateTableColumnIndex3A
#endif #endif
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0602 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API
JetCreateTableColumnIndex4A(
_In_ JET_SESID sesid,
_In_ JET_DBID dbid,
_Inout_ JET_TABLECREATE4_A * ptablecreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API
JetCreateTableColumnIndex4W(
_In_ JET_SESID sesid,
_In_ JET_DBID dbid,
_Inout_ JET_TABLECREATE4_W * ptablecreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE
#define JetCreateTableColumnIndex4 JetCreateTableColumnIndex4W
#else
#define JetCreateTableColumnIndex4 JetCreateTableColumnIndex4A
#endif
#endif // JET_VERSION >= 0x0602
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDeleteTableA JetDeleteTable #define JetDeleteTableA JetDeleteTable
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDeleteTableA( JetDeleteTableA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCSTR szTableName ); _In_ JET_PCSTR szTableName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetDeleteTableW( JetDeleteTableW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCWSTR szTableName ); _In_ JET_PCWSTR szTableName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDeleteTable JetDeleteTableW #define JetDeleteTable JetDeleteTableW
#else #else
#define JetDeleteTable JetDeleteTableA #define JetDeleteTable JetDeleteTableA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetRenameTableA JetRenameTable #define JetRenameTableA JetRenameTable
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetRenameTableA( JetRenameTableA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCSTR szName, _In_ JET_PCSTR szName,
__in JET_PCSTR szNameNew ); _In_ JET_PCSTR szNameNew );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JetRenameTableW( JET_ERR JET_API JetRenameTableW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCWSTR szName, _In_ JET_PCWSTR szName,
__in JET_PCWSTR szNameNew ); _In_ JET_PCWSTR szNameNew );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetRenameTable JetRenameTableW #define JetRenameTable JetRenameTableW
#else #else
#define JetRenameTable JetRenameTableA #define JetRenameTable JetRenameTableA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetTableColumnInfoA JetGetTableColumnInfo #define JetGetTableColumnInfoA JetGetTableColumnInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetTableColumnInfoA( JetGetTableColumnInfoA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCSTR szColumnName, _In_opt_ JET_PCSTR szColumnName,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JetGetTableColumnInfoW( JET_ERR JET_API JetGetTableColumnInfoW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCWSTR szColumnName, _In_opt_ JET_PCWSTR szColumnName,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetTableColumnInfo JetGetTableColumnInfoW #define JetGetTableColumnInfo JetGetTableColumnInfoW
#else #else
#define JetGetTableColumnInfo JetGetTableColumnInfoA #define JetGetTableColumnInfo JetGetTableColumnInfoA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetColumnInfoA JetGetColumnInfo #define JetGetColumnInfoA JetGetColumnInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetColumnInfoA( JetGetColumnInfoA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCSTR szTableName, _In_ JET_PCSTR szTableName,
__in JET_PCSTR szColumnName, _In_opt_ JET_PCSTR pColumnNameOrId,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JetGetColumnInfoW( JET_ERR JET_API JetGetColumnInfoW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCWSTR szTableName, _In_ JET_PCWSTR szTableName,
__in JET_PCWSTR szColumnName, _In_opt_ JET_PCWSTR pwColumnNameOrId,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetColumnInfo JetGetColumnInfoW #define JetGetColumnInfo JetGetColumnInfoW
#else #else
#define JetGetColumnInfo JetGetColumnInfoA #define JetGetColumnInfo JetGetColumnInfoA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetAddColumnA JetAddColumn #define JetAddColumnA JetAddColumn
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetAddColumnA( JetAddColumnA(
__in JET_SESID s _In_ JET_SESID s
esid, esid,
__in JET_TABLEID t _In_ JET_TABLEID t
ableid, ableid,
__in JET_PCSTR s _In_ JET_PCSTR s
zColumnName, zColumnName,
__in const JET_COLUMNDEF * pcolumnde _In_ const JET_COLUMNDEF * pcolumnde
f, f,
__in_bcount_opt( cbDefault ) const void * pvDefault, _In_reads_bytes_opt_( cbDefault ) const void * pvDefault,
__in unsigned long c _In_ unsigned long c
bDefault, bDefault,
__out_opt JET_COLUMNID * pcolumnid _Out_opt_ JET_COLUMNID * pcolumnid
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JetAddColumnW( JET_ERR JET_API JetAddColumnW(
__in JET_SESID s _In_ JET_SESID s
esid, esid,
__in JET_TABLEID t _In_ JET_TABLEID t
ableid, ableid,
__in JET_PCWSTR s _In_ JET_PCWSTR s
zColumnName, zColumnName,
__in const JET_COLUMNDEF * pcolumnde _In_ const JET_COLUMNDEF * pcolumnde
f, f,
__in_bcount_opt( cbDefault ) const void * pvDefault, _In_reads_bytes_opt_( cbDefault ) const void * pvDefault,
__in unsigned long c _In_ unsigned long c
bDefault, bDefault,
__out_opt JET_COLUMNID * pcolumnid _Out_opt_ JET_COLUMNID * pcolumnid
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetAddColumn JetAddColumnW #define JetAddColumn JetAddColumnW
#else #else
#define JetAddColumn JetAddColumnA #define JetAddColumn JetAddColumnA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDeleteColumnA JetDeleteColumn #define JetDeleteColumnA JetDeleteColumn
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDeleteColumnA( JetDeleteColumnA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCSTR szColumnName ); _In_ JET_PCSTR szColumnName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDeleteColumnW( JetDeleteColumnW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCWSTR szColumnName ); _In_ JET_PCWSTR szColumnName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDeleteColumn JetDeleteColumnW #define JetDeleteColumn JetDeleteColumnW
#else #else
#define JetDeleteColumn JetDeleteColumnA #define JetDeleteColumn JetDeleteColumnA
#endif #endif
#endif #endif
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDeleteColumn2A JetDeleteColumn2 #define JetDeleteColumn2A JetDeleteColumn2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDeleteColumn2A( JetDeleteColumn2A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCSTR szColumnName, _In_ JET_PCSTR szColumnName,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetDeleteColumn2W( JetDeleteColumn2W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCWSTR szColumnName, _In_ JET_PCWSTR szColumnName,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDeleteColumn2 JetDeleteColumn2W #define JetDeleteColumn2 JetDeleteColumn2W
#else #else
#define JetDeleteColumn2 JetDeleteColumn2A #define JetDeleteColumn2 JetDeleteColumn2A
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetRenameColumnA JetRenameColumn #define JetRenameColumnA JetRenameColumn
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetRenameColumnA( JetRenameColumnA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCSTR szName, _In_ JET_PCSTR szName,
__in JET_PCSTR szNameNew, _In_ JET_PCSTR szNameNew,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetRenameColumnW( JetRenameColumnW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCWSTR szName, _In_ JET_PCWSTR szName,
__in JET_PCWSTR szNameNew, _In_ JET_PCWSTR szNameNew,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetRenameColumn JetRenameColumnW #define JetRenameColumn JetRenameColumnW
#else #else
#define JetRenameColumn JetRenameColumnA #define JetRenameColumn JetRenameColumnA
#endif #endif
#endif #endif
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetSetColumnDefaultValueA JetSetColumnDefaultValue #define JetSetColumnDefaultValueA JetSetColumnDefaultValue
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetColumnDefaultValueA( JetSetColumnDefaultValueA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCSTR szTableName, _In_ JET_PCSTR szTableName,
__in JET_PCSTR szColumnName, _In_ JET_PCSTR szColumnName,
__in_bcount( cbData ) const void * pvData, _In_reads_bytes_( cbData ) const void * pvData,
__in const unsigned long cbData, _In_ const unsigned long cbData,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetColumnDefaultValueW( JetSetColumnDefaultValueW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCWSTR szTableName, _In_ JET_PCWSTR szTableName,
__in JET_PCWSTR szColumnName, _In_ JET_PCWSTR szColumnName,
__in_bcount( cbData ) const void * pvData, _In_reads_bytes_( cbData ) const void * pvData,
__in const unsigned long cbData, _In_ const unsigned long cbData,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetSetColumnDefaultValue JetSetColumnDefaultValueW #define JetSetColumnDefaultValue JetSetColumnDefaultValueW
#else #else
#define JetSetColumnDefaultValue JetSetColumnDefaultValueA #define JetSetColumnDefaultValue JetSetColumnDefaultValueA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetTableIndexInfoA JetGetTableIndexInfo #define JetGetTableIndexInfoA JetGetTableIndexInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetTableIndexInfoA( JetGetTableIndexInfoA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCSTR szIndexName, _In_opt_ JET_PCSTR szIndexName,
__out_bcount( cbResult ) void * pvResult, _Out_writes_bytes_( cbResult ) void * pvResult,
__in unsigned long cbResult, _In_ unsigned long cbResult,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetTableIndexInfoW( JetGetTableIndexInfoW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCWSTR szIndexName, _In_opt_ JET_PCWSTR szIndexName,
__out_bcount( cbResult ) void * pvResult, _Out_writes_bytes_( cbResult ) void * pvResult,
__in unsigned long cbResult, _In_ unsigned long cbResult,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetTableIndexInfo JetGetTableIndexInfoW #define JetGetTableIndexInfo JetGetTableIndexInfoW
#else #else
#define JetGetTableIndexInfo JetGetTableIndexInfoA #define JetGetTableIndexInfo JetGetTableIndexInfoA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetIndexInfoA JetGetIndexInfo #define JetGetIndexInfoA JetGetIndexInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetIndexInfoA( JetGetIndexInfoA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCSTR szTableName, _In_ JET_PCSTR szTableName,
__in JET_PCSTR szIndexName, _In_opt_ JET_PCSTR szIndexName,
__out_bcount( cbResult ) void * pvResult, _Out_writes_bytes_( cbResult ) void * pvResult,
__in unsigned long cbResult, _In_ unsigned long cbResult,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetIndexInfoW( JetGetIndexInfoW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCWSTR szTableName, _In_ JET_PCWSTR szTableName,
__in JET_PCWSTR szIndexName, _In_opt_ JET_PCWSTR szIndexName,
__out_bcount( cbResult ) void * pvResult, _Out_writes_bytes_( cbResult ) void * pvResult,
__in unsigned long cbResult, _In_ unsigned long cbResult,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetIndexInfo JetGetIndexInfoW #define JetGetIndexInfo JetGetIndexInfoW
#else #else
#define JetGetIndexInfo JetGetIndexInfoA #define JetGetIndexInfo JetGetIndexInfoA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateIndexA JetCreateIndex #define JetCreateIndexA JetCreateIndex
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateIndexA( JetCreateIndexA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCSTR szIndexName, _In_ JET_PCSTR szIndexName,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in_bcount( cbKey ) const char * szKey, _In_reads_bytes_( cbKey ) const char * szKey,
__in unsigned long cbKey, _In_ unsigned long cbKey,
__in unsigned long lDensity ); _In_ unsigned long lDensity );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateIndexW( JetCreateIndexW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCWSTR szIndexName, _In_ JET_PCWSTR szIndexName,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in_bcount( cbKey ) const WCHAR * szKey, _In_reads_bytes_( cbKey ) const WCHAR * szKey,
__in unsigned long cbKey, _In_ unsigned long cbKey,
__in unsigned long lDensity ); _In_ unsigned long lDensity );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateIndex JetCreateIndexW #define JetCreateIndex JetCreateIndexW
#else #else
#define JetCreateIndex JetCreateIndexA #define JetCreateIndex JetCreateIndexA
#endif #endif
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCreateIndex2A JetCreateIndex2 #define JetCreateIndex2A JetCreateIndex2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateIndex2A( JetCreateIndex2A(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in_ecount( cIndexCreate ) JET_INDEXCREATE_A * pindexcreate, _In_reads_( cIndexCreate ) JET_INDEXCREATE_A * pindexcreate,
__in unsigned long c _In_ unsigned long c
IndexCreate ); IndexCreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateIndex2W( JetCreateIndex2W(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in_ecount( cIndexCreate ) JET_INDEXCREATE_W * pindexcreate, _In_reads_( cIndexCreate ) JET_INDEXCREATE_W * pindexcreate,
__in unsigned long c _In_ unsigned long c
IndexCreate ); IndexCreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateIndex2 JetCreateIndex2W #define JetCreateIndex2 JetCreateIndex2W
#else #else
#define JetCreateIndex2 JetCreateIndex2A #define JetCreateIndex2 JetCreateIndex2A
#endif #endif
#endif #endif
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCreateIndex3A( JetCreateIndex3A(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in_ecount( cIndexCreate ) JET_INDEXCREATE2_A *pindexcreate, _In_reads_( cIndexCreate ) JET_INDEXCREATE2_A *pindexcreate,
__in unsigned long c _In_ unsigned long c
IndexCreate ); IndexCreate );
JET_ERR JET_API JET_ERR JET_API
JetCreateIndex3W( JetCreateIndex3W(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in_ecount( cIndexCreate ) JET_INDEXCREATE2_W *pindexcreate, _In_reads_( cIndexCreate ) JET_INDEXCREATE2_W *pindexcreate,
__in unsigned long c _In_ unsigned long c
IndexCreate ); IndexCreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCreateIndex3 JetCreateIndex3W #define JetCreateIndex3 JetCreateIndex3W
#else #else
#define JetCreateIndex3 JetCreateIndex3A #define JetCreateIndex3 JetCreateIndex3A
#endif #endif
#endif #endif
#if ( JET_VERSION >= 0x0602 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API
JetCreateIndex4A(
_In_ JET_SESID
sesid,
_In_ JET_TABLEID
tableid,
_In_reads_( cIndexCreate ) JET_INDEXCREATE3_A *pindexcreate,
_In_ unsigned long c
IndexCreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API
JetCreateIndex4W(
_In_ JET_SESID
sesid,
_In_ JET_TABLEID
tableid,
_In_reads_( cIndexCreate ) JET_INDEXCREATE3_W *pindexcreate,
_In_ unsigned long c
IndexCreate );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE
#define JetCreateIndex4 JetCreateIndex4W
#else
#define JetCreateIndex4 JetCreateIndex4A
#endif
#endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDeleteIndexA JetDeleteIndex #define JetDeleteIndexA JetDeleteIndex
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDeleteIndexA( JetDeleteIndexA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCSTR szIndexName ); _In_ JET_PCSTR szIndexName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetDeleteIndexW( JetDeleteIndexW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_PCWSTR szIndexName ); _In_ JET_PCWSTR szIndexName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDeleteIndex JetDeleteIndexW #define JetDeleteIndex JetDeleteIndexW
#else #else
#define JetDeleteIndex JetDeleteIndexA #define JetDeleteIndex JetDeleteIndexA
#endif #endif
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetBeginTransaction( JetBeginTransaction(
__in JET_SESID sesid ); _In_ JET_SESID sesid );
JET_ERR JET_API JET_ERR JET_API
JetBeginTransaction2( JetBeginTransaction2(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0602 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API
JetBeginTransaction3(
_In_ JET_SESID sesid,
_In_ __int64 trxid,
_In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0602
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetCommitTransaction( JetCommitTransaction(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#if ( JET_VERSION >= 0x0602 )
JET_ERR JET_API
JetCommitTransaction2(
_In_ JET_SESID sesid,
_In_ JET_GRBIT grbit,
_In_ unsigned long cmsecDurableCommit,
_Out_opt_ JET_COMMIT_ID * pCommitId );
#endif // JET_VERSION >= 0x0602
JET_ERR JET_API JET_ERR JET_API
JetRollback( JetRollback(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetDatabaseInfoA JetGetDatabaseInfo #define JetGetDatabaseInfoA JetGetDatabaseInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JetGetDatabaseInfoA( JET_ERR JET_API JetGetDatabaseInfoA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetDatabaseInfoW( JetGetDatabaseInfoW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetDatabaseInfo JetGetDatabaseInfoW #define JetGetDatabaseInfo JetGetDatabaseInfoW
#else #else
#define JetGetDatabaseInfo JetGetDatabaseInfoA #define JetGetDatabaseInfo JetGetDatabaseInfoA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetDatabaseFileInfoA JetGetDatabaseFileInfo #define JetGetDatabaseFileInfoA JetGetDatabaseFileInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetDatabaseFileInfoA( JetGetDatabaseFileInfoA(
__in JET_PCSTR szDatabaseName, _In_ JET_PCSTR szDatabaseName,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetDatabaseFileInfoW( JetGetDatabaseFileInfoW(
__in JET_PCWSTR szDatabaseName, _In_ JET_PCWSTR szDatabaseName,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetDatabaseFileInfo JetGetDatabaseFileInfoW #define JetGetDatabaseFileInfo JetGetDatabaseFileInfoW
#else #else
#define JetGetDatabaseFileInfo JetGetDatabaseFileInfoA #define JetGetDatabaseFileInfo JetGetDatabaseFileInfoA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetOpenDatabaseA JetOpenDatabase #define JetOpenDatabaseA JetOpenDatabase
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOpenDatabaseA( JetOpenDatabaseA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szFilename, _In_ JET_PCSTR szFilename,
__in_opt JET_PCSTR szConnect, _In_opt_ JET_PCSTR szConnect,
__out JET_DBID* pdbid, _Out_ JET_DBID* pdbid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetOpenDatabaseW( JetOpenDatabaseW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szFilename, _In_ JET_PCWSTR szFilename,
__in_opt JET_PCWSTR szConnect, _In_opt_ JET_PCWSTR szConnect,
__out JET_DBID* pdbid, _Out_ JET_DBID* pdbid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetOpenDatabase JetOpenDatabaseW #define JetOpenDatabase JetOpenDatabaseW
#else #else
#define JetOpenDatabase JetOpenDatabaseA #define JetOpenDatabase JetOpenDatabaseA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetCloseDatabase( JetCloseDatabase(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetOpenTableA JetOpenTable #define JetOpenTableA JetOpenTable
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOpenTableA( JetOpenTableA(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_DBID _In_ JET_DBID
dbid, dbid,
__in JET_PCSTR _In_ JET_PCSTR
szTableName, szTableName,
__in_bcount_opt( cbParameters ) const void * pvParameters, _In_reads_bytes_opt_( cbParameters ) const void * pvParameters,
__in unsigned long _In_ unsigned long
cbParameters, cbParameters,
__in JET_GRBIT _In_ JET_GRBIT
grbit, grbit,
__out JET_TABLEID * _Out_ JET_TABLEID *
ptableid ); ptableid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetOpenTableW( JetOpenTableW(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_DBID _In_ JET_DBID
dbid, dbid,
__in JET_PCWSTR _In_ JET_PCWSTR
szTableName, szTableName,
__in_bcount_opt( cbParameters ) const void * pvParameters, _In_reads_bytes_opt_( cbParameters ) const void * pvParameters,
__in unsigned long _In_ unsigned long
cbParameters, cbParameters,
__in JET_GRBIT _In_ JET_GRBIT
grbit, grbit,
__out JET_TABLEID * _Out_ JET_TABLEID *
ptableid ); ptableid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetOpenTable JetOpenTableW #define JetOpenTable JetOpenTableW
#else #else
#define JetOpenTable JetOpenTableA #define JetOpenTable JetOpenTableA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetSetTableSequential( JetSetTableSequential(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
JET_ERR JET_API JET_ERR JET_API
JetResetTableSequential( JetResetTableSequential(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetCloseTable( JetCloseTable(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid ); _In_ JET_TABLEID tableid );
JET_ERR JET_API JET_ERR JET_API
JetDelete( JetDelete(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid ); _In_ JET_TABLEID tableid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetUpdate( JetUpdate(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__out_bcount_part_opt( cbBookmark, *pcbActual ) void * pvBookmark, _Out_writes_bytes_to_opt_( cbBookmark, *pcbActual ) void * pvBookmar
__in unsigned long k,
cbBookmark, _In_ unsigned long
__out_opt unsigned long * cbBookmark,
pcbActual ); _Out_opt_ unsigned long *
pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetUpdate2( JetUpdate2(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__out_bcount_part_opt( cbBookmark, *pcbActual ) void * pvBookmark, _Out_writes_bytes_to_opt_( cbBookmark, *pcbActual ) void * pvBookmar
__in unsigned long k,
cbBookmark, _In_ unsigned long
__out_opt unsigned long * cbBookmark,
pcbActual, _Out_opt_ unsigned long *
__in const JET_GRBIT pcbActual,
grbit ); _In_ const JET_GRBIT
grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0502 #endif // JET_VERSION >= 0x0502
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetEscrowUpdate( JetEscrowUpdate(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in JET_COLUMNID _In_ JET_COLUMNID
columnid, columnid,
__in_bcount( cbMax ) void * _In_reads_bytes_( cbMax ) void *
pv, pv,
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_bcount_part_opt( cbOldMax, *pcbOldActual ) void * pvOld, _Out_writes_bytes_to_opt_( cbOldMax, *pcbOldActual ) void * pvOld,
__in unsigned long _In_ unsigned long
cbOldMax, cbOldMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbOldActual, pcbOldActual,
__in JET_GRBIT _In_ JET_GRBIT
grbit ); grbit );
JET_ERR JET_API JET_ERR JET_API
JetRetrieveColumn( JetRetrieveColumn(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in JET_COLUMNID _In_ JET_COLUMNID
columnid, columnid,
__out_bcount_part_opt( cbData, *pcbActual ) void * pvData, _Out_writes_bytes_to_opt_( cbData, *pcbActual ) void * pvData,
__in unsigned long _In_ unsigned long
cbData, cbData,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual, pcbActual,
__in JET_GRBIT _In_ JET_GRBIT
grbit, grbit,
__inout_opt JET_RETINFO * _Inout_opt_ JET_RETINFO *
pretinfo ); pretinfo );
JET_ERR JET_API JET_ERR JET_API
JetRetrieveColumns( JetRetrieveColumns(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__inout_ecount_opt( cretrievecolumn ) JET_RETRIEVECOLUMN * pretrieve _Inout_updates_opt_( cretrievecolumn ) JET_RETRIEVECOLUMN * pretrieve
column, column,
__in unsigned long _In_ unsigned long
cretrievecolumn ); cretrievecolumn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetEnumerateColumns( JetEnumerateColumns(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in unsigned long _In_ unsigned long
cEnumColumnId, cEnumColumnId,
__in_ecount_opt( cEnumColumnId ) JET_ENUMCOLUMNID * rgEnumCol _In_reads_opt_( cEnumColumnId ) JET_ENUMCOLUMNID * rgEnumCol
umnId, umnId,
__out unsigned long * _Out_ unsigned long *
pcEnumColumn, pcEnumColumn,
__deref_out_ecount( *pcEnumColumn ) JET_ENUMCOLUMN ** prgEnumColumn, _Outptr_result_buffer_( *pcEnumColumn ) JET_ENUMCOLUMN ** prgEnumCo
__in JET_PFNREALLOC lumn,
pfnRealloc, _In_ JET_PFNREALLOC
__in void * pfnRealloc,
pvReallocContext, _In_opt_ void *
__in unsigned long pvReallocContext,
cbDataMost, _In_ unsigned long
__in JET_GRBIT cbDataMost,
grbit ); _In_ JET_GRBIT
grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
JET_ERR JET_API JET_ERR JET_API
JetGetRecordSize( JetGetRecordSize(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out JET_RECSIZE * precsize, _Out_ JET_RECSIZE * precsize,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetRecordSize2( JetGetRecordSize2(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out JET_RECSIZE2 * precsize, _Out_ JET_RECSIZE2 * precsize,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetSetColumn( JetSetColumn(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_COLUMNID columnid, _In_ JET_COLUMNID columnid,
__in_bcount_opt( cbData ) const void * pvData, _In_reads_bytes_opt_( cbData ) const void * pvData,
__in unsigned long cbData, _In_ unsigned long cbData,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in_opt JET_SETINFO * psetinfo ); _In_opt_ JET_SETINFO * psetinfo );
JET_ERR JET_API JET_ERR JET_API
JetSetColumns( JetSetColumns(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in_ecount_opt( csetcolumn ) JET_SETCOLUMN * psetcolumn, _In_reads_opt_( csetcolumn ) JET_SETCOLUMN * psetcolumn,
__in unsigned long _In_ unsigned long
csetcolumn ); csetcolumn );
JET_ERR JET_API JET_ERR JET_API
JetPrepareUpdate( JetPrepareUpdate(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in unsigned long prep ); _In_ unsigned long prep );
JET_ERR JET_API JET_ERR JET_API
JetGetRecordPosition( JetGetRecordPosition(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out_bcount( cbRecpos ) JET_RECPOS * precpos, _Out_writes_bytes_( cbRecpos ) JET_RECPOS * precpos,
__in unsigned long cbRecpos _In_ unsigned long cbRecpos
); );
JET_ERR JET_API JET_ERR JET_API
JetGotoPosition( JetGotoPosition(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_RECPOS * precpos ); _In_ JET_RECPOS * precpos );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetCursorInfo( JetGetCursorInfo(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out_bcount( cbMax ) void * pvResult, _Out_writes_bytes_( cbMax ) void * pvResult,
__in unsigned long cbMax, _In_ unsigned long cbMax,
__in unsigned long InfoLevel ); _In_ unsigned long InfoLevel );
JET_ERR JET_API JET_ERR JET_API
JetDupCursor( JetDupCursor(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out JET_TABLEID * ptableid, _Out_ JET_TABLEID * ptableid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetCurrentIndexA JetGetCurrentIndex #define JetGetCurrentIndexA JetGetCurrentIndex
#endif #endif
JET_ERR JET_API JET_ERR JET_API
JetGetCurrentIndexA( JetGetCurrentIndexA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out_bcount( ccbIndexName ) JET_PSTR szIndexName, _Out_writes_bytes_( cbIndexName ) JET_PSTR szIndexName,
__in unsigned long ccbIndexN _In_ unsigned long cbIndexNa
ame ); me );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetCurrentIndexW( JetGetCurrentIndexW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out_bcount( ccbIndexName ) JET_PWSTR szIndexName, _Out_writes_bytes_( cbIndexName ) JET_PWSTR szIndexName,
__in unsigned long ccbIndexN _In_ unsigned long cbIndexNa
ame ); me );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetCurrentIndex JetGetCurrentIndexW #define JetGetCurrentIndex JetGetCurrentIndexW
#else #else
#define JetGetCurrentIndex JetGetCurrentIndexA #define JetGetCurrentIndex JetGetCurrentIndexA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetSetCurrentIndexA JetSetCurrentIndex #define JetSetCurrentIndexA JetSetCurrentIndex
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetCurrentIndexA( JetSetCurrentIndexA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_opt JET_PCSTR szIndexName ); _In_opt_ JET_PCSTR szIndexName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetCurrentIndexW( JetSetCurrentIndexW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_opt JET_PCWSTR szIndexName ); _In_opt_ JET_PCWSTR szIndexName );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetSetCurrentIndex JetSetCurrentIndexW #define JetSetCurrentIndex JetSetCurrentIndexW
#else #else
#define JetSetCurrentIndex JetSetCurrentIndexA #define JetSetCurrentIndex JetSetCurrentIndexA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetSetCurrentIndex2A JetSetCurrentIndex2 #define JetSetCurrentIndex2A JetSetCurrentIndex2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetCurrentIndex2A( JetSetCurrentIndex2A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_opt JET_PCSTR szIndexName, _In_opt_ JET_PCSTR szIndexName,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetCurrentIndex2W( JetSetCurrentIndex2W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_opt JET_PCWSTR szIndexName, _In_opt_ JET_PCWSTR szIndexName,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetSetCurrentIndex2 JetSetCurrentIndex2W #define JetSetCurrentIndex2 JetSetCurrentIndex2W
#else #else
#define JetSetCurrentIndex2 JetSetCurrentIndex2A #define JetSetCurrentIndex2 JetSetCurrentIndex2A
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetSetCurrentIndex3A JetSetCurrentIndex3 #define JetSetCurrentIndex3A JetSetCurrentIndex3
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetCurrentIndex3A( JetSetCurrentIndex3A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_opt JET_PCSTR szIndexName, _In_opt_ JET_PCSTR szIndexName,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in unsigned long itagSequence ); _In_ unsigned long itagSequence );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetCurrentIndex3W( JetSetCurrentIndex3W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_opt JET_PCWSTR szIndexName, _In_opt_ JET_PCWSTR szIndexName,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in unsigned long itagSequence ); _In_ unsigned long itagSequence );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetSetCurrentIndex3 JetSetCurrentIndex3W #define JetSetCurrentIndex3 JetSetCurrentIndex3W
#else #else
#define JetSetCurrentIndex3 JetSetCurrentIndex3A #define JetSetCurrentIndex3 JetSetCurrentIndex3A
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetSetCurrentIndex4A JetSetCurrentIndex4 #define JetSetCurrentIndex4A JetSetCurrentIndex4
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetCurrentIndex4A( JetSetCurrentIndex4A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_opt JET_PCSTR szIndexName, _In_opt_ JET_PCSTR szIndexName,
__in_opt JET_INDEXID * pindexid, _In_opt_ JET_INDEXID * pindexid,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in unsigned long itagSequence ); _In_ unsigned long itagSequence );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetSetCurrentIndex4W( JetSetCurrentIndex4W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_opt JET_PCWSTR szIndexName, _In_opt_ JET_PCWSTR szIndexName,
__in_opt JET_INDEXID * pindexid, _In_opt_ JET_INDEXID * pindexid,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in unsigned long itagSequence ); _In_ unsigned long itagSequence );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetSetCurrentIndex4 JetSetCurrentIndex4W #define JetSetCurrentIndex4 JetSetCurrentIndex4W
#else #else
#define JetSetCurrentIndex4 JetSetCurrentIndex4A #define JetSetCurrentIndex4 JetSetCurrentIndex4A
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetMove( JetMove(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in long cRow, _In_ long cRow,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#if ( JET_VERSION >= 0x0602 )
JET_ERR JET_API
JetSetCursorFilter(
_In_ JET_SESID sesid,
_In_ JET_TABLEID tableid,
_In_reads_( cColumnFilters ) JET_INDEX_COLUMN *rgColumnFilters,
_In_ unsigned long cColumnFilters,
_In_ JET_GRBIT grbit );
#endif // JET_VERSION >= 0x0602
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetLock( JetGetLock(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetMakeKey( JetMakeKey(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_bcount_opt( cbData ) const void * pvData, _In_reads_bytes_opt_( cbData ) const void * pvData,
__in unsigned long cbData, _In_ unsigned long cbData,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
JET_ERR JET_API JET_ERR JET_API
JetSeek( JetSeek(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetPrereadKeys( JetPrereadKeys(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__in_ecount(ckeys) const void ** r _In_reads_(ckeys) const void ** rgpvKeys,
gpvKeys, _In_reads_(ckeys) const unsigned long * rgcbKeys,
__in_ecount(ckeys) const unsigned long * rgcbKeys, _In_ long
__in long ckeys,
ckeys, _Out_opt_ long *
__out_opt long * pckeysPreread,
pckeysPreread, _In_ JET_GRBIT
__in JET_GRBIT grbit );
grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if ( JET_VERSION >= 0x0602 )
JET_ERR JET_API
JetPrereadIndexRanges(
_In_ JET_SESID
sesid,
_In_ JET_TABLEID
tableid,
_In_reads_(cIndexRanges) const JET_INDEX_RANGE * const rgIndexRa
nges,
_In_ const unsigned long
cIndexRanges,
_Out_opt_ unsigned long * const
pcRangesPreread,
_In_reads_(ccolumnidPreread) const JET_COLUMNID * const rgcolumni
dPreread,
_In_ const unsigned long
ccolumnidPreread,
_In_ JET_GRBIT
grbit ); // JET_bitPrereadForward, JET_bitPreread
Backward
#endif // JET_VERSION >= 0x0602
JET_ERR JET_API JET_ERR JET_API
JetGetBookmark( JetGetBookmark(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__out_bcount_part_opt( cbMax, *pcbActual ) void * pvBookmark, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) void * pvBookmark,
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual ); pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGetSecondaryIndexBookmark( JetGetSecondaryIndexBookmark(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__out_bcount_part_opt( cbSecondaryKeyMax, *pcbSecondaryKeyActual ) void * _Out_writes_bytes_to_opt_( cbSecondaryKeyMax, *pcbSecondaryKeyActual ) vo
pvSecondaryKey, id * pvSecondaryKey,
__in unsigned long _In_ unsigned long
cbSecondaryKeyMax cbSeconda
, ryKeyMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbSecondaryKeyActual, pcbSecondaryKeyAc
__out_bcount_part_opt( cbPrimaryBookmarkMax, *pcbPrimaryKeyActual ) void tual,
* pvPrimaryBookmark, _Out_writes_bytes_to_opt_( cbPrimaryBookmarkMax, *pcbPrimaryBookmarkActua
__in unsigned long l ) void * pvPrimaryBookmark,
cbPrimaryBookmark _In_ unsigned long
Max, cbPrimary
__out_opt unsigned long * BookmarkMax,
pcbPrimaryKeyActual, _Out_opt_ unsigned long *
__in const JET_GRBIT pcbPrimaryBookmar
grbit ); kActual,
_In_ const JET_GRBIT
grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetCompactA JetCompact #define JetCompactA JetCompact
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCompactA( JetCompactA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szDatabaseSrc, _In_ JET_PCSTR szDatabaseSrc,
__in JET_PCSTR szDatabaseDest, _In_ JET_PCSTR szDatabaseDest,
__in JET_PFNSTATUS pfnStatus, _In_ JET_PFNSTATUS pfnStatus,
__in_opt JET_CONVERT_A * pconvert, _In_opt_ JET_CONVERT_A * pconvert,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCompactW( JetCompactW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szDatabaseSrc, _In_ JET_PCWSTR szDatabaseSrc,
__in JET_PCWSTR szDatabaseDest, _In_ JET_PCWSTR szDatabaseDest,
__in JET_PFNSTATUS pfnStatus, _In_ JET_PFNSTATUS pfnStatus,
__in_opt JET_CONVERT_W * pconvert, _In_opt_ JET_CONVERT_W * pconvert,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetCompact JetCompactW #define JetCompact JetCompactW
#else #else
#define JetCompact JetCompactA #define JetCompact JetCompactA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDefragmentA JetDefragment #define JetDefragmentA JetDefragment
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDefragmentA( JetDefragmentA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCSTR szTableName, _In_opt_ JET_PCSTR szTableName,
__out_opt unsigned long * pcPasses, _Out_opt_ unsigned long * pcPasses,
__out_opt unsigned long * pcSeconds, _Out_opt_ unsigned long * pcSeconds,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDefragmentW( JetDefragmentW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCWSTR szTableName, _In_opt_ JET_PCWSTR szTableName,
__out_opt unsigned long * pcPasses, _Out_opt_ unsigned long * pcPasses,
__out_opt unsigned long * pcSeconds, _Out_opt_ unsigned long * pcSeconds,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDefragment JetDefragmentW #define JetDefragment JetDefragmentW
#else #else
#define JetDefragment JetDefragmentA #define JetDefragment JetDefragmentA
#endif #endif
#endif #endif
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDefragment2A JetDefragment2 #define JetDefragment2A JetDefragment2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDefragment2A( JetDefragment2A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCSTR szTableName, _In_opt_ JET_PCSTR szTableName,
__out_opt unsigned long * pcPasses, _Out_opt_ unsigned long * pcPasses,
__out_opt unsigned long * pcSeconds, _Out_opt_ unsigned long * pcSeconds,
__in JET_CALLBACK callback, _In_ JET_CALLBACK callback,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetDefragment2W( JetDefragment2W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in JET_PCWSTR szTableName, _In_opt_ JET_PCWSTR szTableName,
__out_opt unsigned long * pcPasses, _Out_opt_ unsigned long * pcPasses,
__out_opt unsigned long * pcSeconds, _Out_opt_ unsigned long * pcSeconds,
__in JET_CALLBACK callback, _In_ JET_CALLBACK callback,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDefragment2 JetDefragment2W #define JetDefragment2 JetDefragment2W
#else #else
#define JetDefragment2 JetDefragment2A #define JetDefragment2 JetDefragment2A
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetDefragment3A JetDefragment3 #define JetDefragment3A JetDefragment3
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDefragment3A( JetDefragment3A(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szDatabaseName, _In_ JET_PCSTR szDatabaseName,
__in JET_PCSTR szTableName, _In_opt_ JET_PCSTR szTableName,
__out_opt unsigned long * pcPasses, _Out_opt_ unsigned long * pcPasses,
__out_opt unsigned long * pcSeconds, _Out_opt_ unsigned long * pcSeconds,
__in JET_CALLBACK callback, _In_ JET_CALLBACK callback,
__in void * pvContext, _In_ void * pvContext,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetDefragment3W( JetDefragment3W(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szDatabaseName, _In_ JET_PCWSTR szDatabaseName,
__in JET_PCWSTR szTableName, _In_opt_ JET_PCWSTR szTableName,
__out_opt unsigned long * pcPasses, _Out_opt_ unsigned long * pcPasses,
__out_opt unsigned long * pcSeconds, _Out_opt_ unsigned long * pcSeconds,
__in JET_CALLBACK callback, _In_ JET_CALLBACK callback,
__in void * pvContext, _In_ void * pvContext,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetDefragment3 JetDefragment3W #define JetDefragment3 JetDefragment3W
#else #else
#define JetDefragment3 JetDefragment3A #define JetDefragment3 JetDefragment3A
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetSetDatabaseSizeA JetSetDatabaseSize #define JetSetDatabaseSizeA JetSetDatabaseSize
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetDatabaseSizeA( JetSetDatabaseSizeA(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCSTR szDatabaseName, _In_ JET_PCSTR szDatabaseName,
__in unsigned long cpg, _In_ unsigned long cpg,
__out unsigned long * pcpgReal ); _Out_ unsigned long * pcpgReal );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetSetDatabaseSizeW( JetSetDatabaseSizeW(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_PCWSTR szDatabaseName, _In_ JET_PCWSTR szDatabaseName,
__in unsigned long cpg, _In_ unsigned long cpg,
__out unsigned long * pcpgReal ); _Out_ unsigned long * pcpgReal );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetSetDatabaseSize JetSetDatabaseSizeW #define JetSetDatabaseSize JetSetDatabaseSizeW
#else #else
#define JetSetDatabaseSize JetSetDatabaseSizeA #define JetSetDatabaseSize JetSetDatabaseSizeA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGrowDatabase( JetGrowDatabase(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_DBID dbid, _In_ JET_DBID dbid,
__in unsigned long cpg, _In_ unsigned long cpg,
__in unsigned long * pcpgReal ); _In_ unsigned long * pcpgReal );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if ( JET_VERSION >= 0x0602 )
JET_ERR JET_API
JetResizeDatabase(
_In_ JET_SESID sesid,
_In_ JET_DBID dbid,
_In_ unsigned long cpgTarget,
_Out_ unsigned long * pcpgActual,
_In_ const JET_GRBIT grbit );
#endif // JET_VERSION >= 0x0602
JET_ERR JET_API JET_ERR JET_API
JetSetSessionContext( JetSetSessionContext(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_API_PTR ulContext ); _In_ JET_API_PTR ulContext );
JET_ERR JET_API JET_ERR JET_API
JetResetSessionContext( JetResetSessionContext(
__in JET_SESID sesid ); _In_ JET_SESID sesid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGotoBookmark( JetGotoBookmark(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in_bcount( cbBookmark ) void * pvBookmark, _In_reads_bytes_( cbBookmark ) void * pvBookmark,
__in unsigned long cbBookmark ); _In_ unsigned long cbBookmark );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetGotoSecondaryIndexBookmark( JetGotoSecondaryIndexBookmark(
__in JET_SESID s _In_ JET_SESID s
esid, esid,
__in JET_TABLEID t _In_ JET_TABLEID t
ableid, ableid,
__in_bcount( cbSecondaryKey ) void * pvSecondaryKey, _In_reads_bytes_( cbSecondaryKey ) void * pvSecondaryKey,
__in unsigned long c _In_ unsigned long c
bSecondaryKey, bSecondaryKey,
__in_bcount_opt( cbPrimaryBookmark ) void * pvPrimaryBookmark, _In_reads_bytes_opt_( cbPrimaryBookmark ) void * pvPrimaryBookmark
__in unsigned long c ,
bPrimaryBookmark, _In_ unsigned long c
__in const JET_GRBIT grbit ); bPrimaryBookmark,
_In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetIntersectIndexes( JetIntersectIndexes(
__in JET_SESID s _In_ JET_SESID s
esid, esid,
__in_ecount( cindexrange ) JET_INDEXRANGE * rgindexrange, _In_reads_( cindexrange ) JET_INDEXRANGE * rgindexrange,
__in unsigned long c _In_ unsigned long c
indexrange, indexrange,
__inout JET_RECORDLIST * precordli _Inout_ JET_RECORDLIST * precordli
st, st,
__in JET_GRBIT g _In_ JET_GRBIT g
rbit ); rbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetComputeStats( JetComputeStats(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid ); _In_ JET_TABLEID tableid );
JET_ERR JET_API JET_ERR JET_API
JetOpenTempTable( JetOpenTempTable(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in_ecount( ccolumn ) const JET_COLUMNDEF * prgcolumndef, _In_reads_( ccolumn ) const JET_COLUMNDEF * prgcolumndef,
__in unsigned long _In_ unsigned long
ccolumn, ccolumn,
__in JET_GRBIT _In_ JET_GRBIT
grbit, grbit,
__out JET_TABLEID * _Out_ JET_TABLEID *
ptableid, ptableid,
__out_ecount( ccolumn ) JET_COLUMNID * prgcolumnid ); _Out_writes_( ccolumn ) JET_COLUMNID * prgcolumnid );
JET_ERR JET_API JET_ERR JET_API
JetOpenTempTable2( JetOpenTempTable2(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in_ecount( ccolumn ) const JET_COLUMNDEF * prgcolumndef, _In_reads_( ccolumn ) const JET_COLUMNDEF * prgcolumndef,
__in unsigned long _In_ unsigned long
lcid, ccolumn,
__in unsigned long _In_ unsigned long
ccolumn, lcid,
__in JET_GRBIT _In_ JET_GRBIT
grbit, grbit,
__out JET_TABLEID * _Out_ JET_TABLEID *
ptableid, ptableid,
__out_ecount( ccolumn ) JET_COLUMNID * prgcolumnid ); _Out_writes_( ccolumn ) JET_COLUMNID * prgcolumnid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetOpenTempTable3( JetOpenTempTable3(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in_ecount( ccolumn ) const JET_COLUMNDEF * prgcolumndef, _In_reads_( ccolumn ) const JET_COLUMNDEF * prgcolumndef,
__in unsigned long _In_ unsigned long
ccolumn, ccolumn,
__in_opt JET_UNICODEINDEX * p _In_opt_ JET_UNICODEINDEX * p
idxunicode, idxunicode,
__in JET_GRBIT _In_ JET_GRBIT
grbit, grbit,
__out JET_TABLEID * _Out_ JET_TABLEID *
ptableid, ptableid,
__out_ecount( ccolumn ) JET_COLUMNID * prgcolumnid ); _Out_writes_( ccolumn ) JET_COLUMNID * prgcolumnid );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOpenTemporaryTable( JetOpenTemporaryTable(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_OPENTEMPORARYTABLE * popentemporarytable ); _In_ JET_OPENTEMPORARYTABLE * popentemporarytable );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0602 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API
JetOpenTemporaryTable2(
_In_ JET_SESID sesid,
_In_ JET_OPENTEMPORARYTABLE2 * popentemporarytable );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0602
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetBackupA JetBackup #define JetBackupA JetBackup
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetBackupA( JetBackupA(
__in JET_PCSTR szBackupPath, _In_ JET_PCSTR szBackupPath,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in JET_PFNSTATUS pfnStatus ); _In_opt_ JET_PFNSTATUS pfnStatus );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetBackupW( JetBackupW(
__in JET_PCWSTR szBackupPath, _In_ JET_PCWSTR szBackupPath,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in JET_PFNSTATUS pfnStatus ); _In_opt_ JET_PFNSTATUS pfnStatus );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetBackup JetBackupW #define JetBackup JetBackupW
#else #else
#define JetBackup JetBackupA #define JetBackup JetBackupA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetBackupInstanceA JetBackupInstance #define JetBackupInstanceA JetBackupInstance
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetBackupInstanceA( JetBackupInstanceA(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_PCSTR szBackupPath, _In_ JET_PCSTR szBackupPath,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in JET_PFNSTATUS pfnStatus ); _In_opt_ JET_PFNSTATUS pfnStatus );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetBackupInstanceW( JetBackupInstanceW(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_PCWSTR szBackupPath, _In_ JET_PCWSTR szBackupPath,
__in JET_GRBIT grbit, _In_ JET_GRBIT grbit,
__in JET_PFNSTATUS pfnStatus ); _In_opt_ JET_PFNSTATUS pfnStatus );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetBackupInstance JetBackupInstanceW #define JetBackupInstance JetBackupInstanceW
#else #else
#define JetBackupInstance JetBackupInstanceA #define JetBackupInstance JetBackupInstanceA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetRestoreA JetRestore #define JetRestoreA JetRestore
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetRestoreA( JetRestoreA(
__in JET_PCSTR sz, _In_ JET_PCSTR sz,
__in JET_PFNSTATUS pfn ); _In_opt_ JET_PFNSTATUS pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetRestoreW( JetRestoreW(
__in JET_PCWSTR sz, _In_ JET_PCWSTR sz,
__in JET_PFNSTATUS pfn ); _In_opt_ JET_PFNSTATUS pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetRestore JetRestoreW #define JetRestore JetRestoreW
#else #else
#define JetRestore JetRestoreA #define JetRestore JetRestoreA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetRestore2A JetRestore2 #define JetRestore2A JetRestore2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetRestore2A( JetRestore2A(
__in JET_PCSTR sz, _In_ JET_PCSTR sz,
__in_opt JET_PCSTR szDest, _In_opt_ JET_PCSTR szDest,
__in JET_PFNSTATUS pfn ); _In_opt_ JET_PFNSTATUS pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetRestore2W( JetRestore2W(
__in JET_PCWSTR sz, _In_ JET_PCWSTR sz,
__in_opt JET_PCWSTR szDest, _In_opt_ JET_PCWSTR szDest,
__in JET_PFNSTATUS pfn ); _In_opt_ JET_PFNSTATUS pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetRestore2 JetRestore2W #define JetRestore2 JetRestore2W
#else #else
#define JetRestore2 JetRestore2A #define JetRestore2 JetRestore2A
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetRestoreInstanceA JetRestoreInstance #define JetRestoreInstanceA JetRestoreInstance
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetRestoreInstanceA( JetRestoreInstanceA(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_PCSTR sz, _In_ JET_PCSTR sz,
__in_opt JET_PCSTR szDest, _In_opt_ JET_PCSTR szDest,
__in JET_PFNSTATUS pfn ); _In_opt_ JET_PFNSTATUS pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetRestoreInstanceW( JetRestoreInstanceW(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_PCWSTR sz, _In_ JET_PCWSTR sz,
__in_opt JET_PCWSTR szDest, _In_opt_ JET_PCWSTR szDest,
__in JET_PFNSTATUS pfn ); _In_opt_ JET_PFNSTATUS pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetRestoreInstance JetRestoreInstanceW #define JetRestoreInstance JetRestoreInstanceW
#else #else
#define JetRestoreInstance JetRestoreInstanceA #define JetRestoreInstance JetRestoreInstanceA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetSetIndexRange( JetSetIndexRange(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableidSrc, _In_ JET_TABLEID tableidSrc,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
JET_ERR JET_API JET_ERR JET_API
JetIndexRecordCount( JetIndexRecordCount(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out unsigned long * pcrec, _Out_ unsigned long * pcrec,
__in unsigned long crecMax ); _In_ unsigned long crecMax );
JET_ERR JET_API JET_ERR JET_API
JetRetrieveKey( JetRetrieveKey(
__in JET_SESID _In_ JET_SESID
sesid, sesid,
__in JET_TABLEID _In_ JET_TABLEID
tableid, tableid,
__out_bcount_part_opt( cbMax, *pcbActual ) void * pvData, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) void * pvKey,
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual, pcbActual,
__in JET_GRBIT _In_ JET_GRBIT
grbit ); grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JetBeginExternalBackup( JET_ERR JET_API JetBeginExternalBackup(
JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JetBeginExternalBackupInstance( JET_ERR JET_API JetBeginExternalBackupInstance(
JET_INSTANCE instance, _In_ JET_INSTANCE instance,
JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetAttachInfoA JetGetAttachInfo #define JetGetAttachInfoA JetGetAttachInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetAttachInfoA( JetGetAttachInfoA(
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) void * pv,
#else #else
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PSTR szzDatabases,
#endif #endif
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual ); pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetAttachInfoW( JetGetAttachInfoW(
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PWSTR wzzDataba
__in unsigned long ses,
cbMax, _In_ unsigned long
__out_opt unsigned long * cbMax,
pcbActual ); _Out_opt_ unsigned long *
pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetAttachInfo JetGetAttachInfoW #define JetGetAttachInfo JetGetAttachInfoW
#else #else
#define JetGetAttachInfo JetGetAttachInfoA #define JetGetAttachInfo JetGetAttachInfoA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetAttachInfoInstanceA JetGetAttachInfoInstance #define JetGetAttachInfoInstanceA JetGetAttachInfoInstance
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetAttachInfoInstanceA( JetGetAttachInfoInstanceA(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) void * pv,
#else #else
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PSTR szzDatabases,
#endif #endif
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual ); pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetAttachInfoInstanceW( JetGetAttachInfoInstanceW(
__in JET_INSTANCE _In_ JET_INSTANCE
instance, instance,
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PWSTR szzDataba
__in unsigned long ses,
cbMax, _In_ unsigned long
__out_opt unsigned long * cbMax,
pcbActual ); _Out_opt_ unsigned long *
pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetAttachInfoInstance JetGetAttachInfoInstanceW #define JetGetAttachInfoInstance JetGetAttachInfoInstanceW
#else #else
#define JetGetAttachInfoInstance JetGetAttachInfoInstanceA #define JetGetAttachInfoInstance JetGetAttachInfoInstanceA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetOpenFileA JetOpenFile #define JetOpenFileA JetOpenFile
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOpenFileA( JetOpenFileA(
__in JET_PCSTR szFileName, _In_ JET_PCSTR szFileName,
__out JET_HANDLE * phfFile, _Out_ JET_HANDLE * phfFile,
__out unsigned long * pulFileSizeLow, _Out_ unsigned long * pulFileSizeLow,
__out unsigned long * pulFileSizeHigh ); _Out_ unsigned long * pulFileSizeHigh );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOpenFileW( JetOpenFileW(
__in JET_PCWSTR szFileName, _In_ JET_PCWSTR szFileName,
__out JET_HANDLE * phfFile, _Out_ JET_HANDLE * phfFile,
__out unsigned long * pulFileSizeLow, _Out_ unsigned long * pulFileSizeLow,
__out unsigned long * pulFileSizeHigh ); _Out_ unsigned long * pulFileSizeHigh );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetOpenFile JetOpenFileW #define JetOpenFile JetOpenFileW
#else #else
#define JetOpenFile JetOpenFileA #define JetOpenFile JetOpenFileA
#endif #endif
#endif #endif
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetOpenFileInstanceA JetOpenFileInstance #define JetOpenFileInstanceA JetOpenFileInstance
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOpenFileInstanceA( JetOpenFileInstanceA(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_PCSTR szFileName, _In_ JET_PCSTR szFileName,
__out JET_HANDLE * phfFile, _Out_ JET_HANDLE * phfFile,
__out unsigned long * pulFileSizeLow, _Out_ unsigned long * pulFileSizeLow,
__out unsigned long * pulFileSizeHigh ); _Out_ unsigned long * pulFileSizeHigh );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOpenFileInstanceW( JetOpenFileInstanceW(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_PCWSTR szFileName, _In_ JET_PCWSTR szFileName,
__out JET_HANDLE * phfFile, _Out_ JET_HANDLE * phfFile,
__out unsigned long * pulFileSizeLow, _Out_ unsigned long * pulFileSizeLow,
__out unsigned long * pulFileSizeHigh ); _Out_ unsigned long * pulFileSizeHigh );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetOpenFileInstance JetOpenFileInstanceW #define JetOpenFileInstance JetOpenFileInstanceW
#else #else
#define JetOpenFileInstance JetOpenFileInstanceA #define JetOpenFileInstance JetOpenFileInstanceA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetReadFile( JetReadFile(
__in JET_HANDLE h _In_ JET_HANDLE h
fFile, fFile,
__out_bcount_part( cb, *pcbActual ) void * pv, _Out_writes_bytes_to_( cb, *pcbActual ) void * pv,
__in unsigned long c _In_ unsigned long c
b, b,
__out_opt unsigned long * pcbActual _Out_opt_ unsigned long * pcbActual
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetReadFileInstance( JetReadFileInstance(
__in JET_INSTANCE i _In_ JET_INSTANCE i
nstance, nstance,
__in JET_HANDLE h _In_ JET_HANDLE h
fFile, fFile,
__out_bcount_part( cb, *pcbActual ) void * pv, _Out_writes_bytes_to_( cb, *pcbActual ) void * pv,
__in unsigned long c _In_ unsigned long c
b, b,
__out_opt unsigned long * pcbActual _Out_opt_ unsigned long * pcbActual
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCloseFile( JetCloseFile(
__in JET_HANDLE hfFile ); _In_ JET_HANDLE hfFile );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetCloseFileInstance( JetCloseFileInstance(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_HANDLE hfFile ); _In_ JET_HANDLE hfFile );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetLogInfoA JetGetLogInfo #define JetGetLogInfoA JetGetLogInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetLogInfoA( JetGetLogInfoA(
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) void * pv,
#else #else
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PSTR szzLogs,
#endif #endif
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual ); pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetLogInfoW( JetGetLogInfoW(
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PWSTR s
__in unsigned long zzLogs,
cbMax, _In_ unsigned long
__out_opt unsigned long * cbMax,
pcbActual ); _Out_opt_ unsigned long *
pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetLogInfo JetGetLogInfoW #define JetGetLogInfo JetGetLogInfoW
#else #else
#define JetGetLogInfo JetGetLogInfoA #define JetGetLogInfo JetGetLogInfoA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetLogInfoInstanceA JetGetLogInfoInstance #define JetGetLogInfoInstanceA JetGetLogInfoInstance
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetLogInfoInstanceA( JetGetLogInfoInstanceA(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) void * pv,
#else #else
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PSTR szzLogs,
#endif #endif
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual ); pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetLogInfoInstanceW( JetGetLogInfoInstanceW(
__in JET_INSTANCE _In_ JET_INSTANCE
instance, instance,
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PWSTR szzLogs,
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual ); pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetLogInfoInstance JetGetLogInfoInstanceW #define JetGetLogInfoInstance JetGetLogInfoInstanceW
#else #else
#define JetGetLogInfoInstance JetGetLogInfoInstanceA #define JetGetLogInfoInstance JetGetLogInfoInstanceA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#define JET_BASE_NAME_LENGTH 3 #define JET_BASE_NAME_LENGTH 3
typedef struct typedef struct
{ {
unsigned long cbSize; unsigned long cbSize;
unsigned long ulGenLow; unsigned long ulGenLow;
unsigned long ulGenHigh; unsigned long ulGenHigh;
char szBaseName[ JET_BASE_NAME_LENGTH + 1 ]; char szBaseName[ JET_BASE_NAME_LENGTH + 1 ];
} JET_LOGINFO_A; } JET_LOGINFO_A;
skipping to change at line 4928 skipping to change at line 6615
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JET_LOGINFO JET_LOGINFO_W #define JET_LOGINFO JET_LOGINFO_W
#else #else
#define JET_LOGINFO JET_LOGINFO_A #define JET_LOGINFO JET_LOGINFO_A
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetLogInfoInstance2A JetGetLogInfoInstance2 #define JetGetLogInfoInstance2A JetGetLogInfoInstance2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetLogInfoInstance2A( JetGetLogInfoInstance2A(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) void * pv,
#else #else
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PSTR szzLogs,
#endif #endif
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual, pcbActual,
__inout_opt JET_LOGINFO_A * _Inout_opt_ JET_LOGINFO_A *
pLogInfo ); pLogInfo );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetLogInfoInstance2W( JetGetLogInfoInstance2W(
__in JET_INSTANCE _In_ JET_INSTANCE
instance, instance,
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PWSTR szzLogs,
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual, pcbActual,
__inout_opt JET_LOGINFO_W * _Inout_opt_ JET_LOGINFO_W *
pLogInfo ); pLogInfo );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetLogInfoInstance2 JetGetLogInfoInstance2W #define JetGetLogInfoInstance2 JetGetLogInfoInstance2W
#else #else
#define JetGetLogInfoInstance2 JetGetLogInfoInstance2A #define JetGetLogInfoInstance2 JetGetLogInfoInstance2A
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetTruncateLogInfoInstanceA JetGetTruncateLogInfoInstance #define JetGetTruncateLogInfoInstanceA JetGetTruncateLogInfoInstance
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetTruncateLogInfoInstanceA( JetGetTruncateLogInfoInstanceA(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
__out_bcount_part_opt( cbMax, *pcbActual ) void * pv, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) void * pv,
#else #else
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PSTR szzLogs,
#endif #endif
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual ); pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetTruncateLogInfoInstanceW( JetGetTruncateLogInfoInstanceW(
__in JET_INSTANCE _In_ JET_INSTANCE
instance, instance,
__out_bcount_part_opt( cbMax, *pcbActual ) JET_PWSTR szz, _Out_writes_bytes_to_opt_( cbMax, *pcbActual ) JET_PWSTR szzLogs,
__in unsigned long _In_ unsigned long
cbMax, cbMax,
__out_opt unsigned long * _Out_opt_ unsigned long *
pcbActual ); pcbActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetTruncateLogInfoInstance JetGetTruncateLogInfoInstanceW #define JetGetTruncateLogInfoInstance JetGetTruncateLogInfoInstanceW
#else #else
#define JetGetTruncateLogInfoInstance JetGetTruncateLogInfoInstanceA #define JetGetTruncateLogInfoInstance JetGetTruncateLogInfoInstanceA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JetTruncateLog( void ); JET_ERR JET_API JetTruncateLog( void );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetTruncateLogInstance( JetTruncateLogInstance(
__in JET_INSTANCE instance ); _In_ JET_INSTANCE instance );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JetEndExternalBackup( void ); JET_ERR JET_API JetEndExternalBackup( void );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0501 ) #if ( JET_VERSION >= 0x0501 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetEndExternalBackupInstance( JetEndExternalBackupInstance(
__in JET_INSTANCE instance ); _In_ JET_INSTANCE instance );
JET_ERR JET_API JET_ERR JET_API
JetEndExternalBackupInstance2( JetEndExternalBackupInstance2(
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetExternalRestoreA JetExternalRestore #define JetExternalRestoreA JetExternalRestore
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetExternalRestoreA( JetExternalRestoreA(
__in JET_PSTR _In_ JET_PSTR
szCheckpointFilePath, szCheckpointFilePath,
__in JET_PSTR _In_ JET_PSTR
szLogPath, szLogPath,
__in_ecount_opt( crstfilemap ) JET_RSTMAP_A * rgrstmap, _In_reads_opt_( crstfilemap ) JET_RSTMAP_A * rgrstmap,
__in long _In_ long
crstfilemap, crstfilemap,
__in JET_PSTR _In_ JET_PSTR
szBackupLogPath, szBackupLogPath,
__in long _In_ long
genLow, genLow,
__in long _In_ long
genHigh, genHigh,
__in JET_PFNSTATUS _In_ JET_PFNSTATUS
pfn ); pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetExternalRestoreW( JetExternalRestoreW(
__in JET_PWSTR _In_ JET_PWSTR
szCheckpointFilePath, szCheckpointFilePath,
__in JET_PWSTR _In_ JET_PWSTR
szLogPath, szLogPath,
__in_ecount_opt( crstfilemap ) JET_RSTMAP_W * rgrstmap, _In_reads_opt_( crstfilemap ) JET_RSTMAP_W * rgrstmap,
__in long _In_ long
crstfilemap, crstfilemap,
__in JET_PWSTR _In_ JET_PWSTR
szBackupLogPath, szBackupLogPath,
__in long _In_ long
genLow, genLow,
__in long _In_ long
genHigh, genHigh,
__in JET_PFNSTATUS _In_ JET_PFNSTATUS
pfn ); pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetExternalRestore JetExternalRestoreW #define JetExternalRestore JetExternalRestoreW
#else #else
#define JetExternalRestore JetExternalRestoreA #define JetExternalRestore JetExternalRestoreA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#if JET_VERSION >= 0x0501 #if JET_VERSION >= 0x0501
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetExternalRestore2A JetExternalRestore2 #define JetExternalRestore2A JetExternalRestore2
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetExternalRestore2A( JetExternalRestore2A(
__in JET_PSTR _In_ JET_PSTR
szCheckpointFilePath, szCheckpointFilePath,
__in JET_PSTR _In_ JET_PSTR
szLogPath, szLogPath,
__in_ecount_opt( crstfilemap ) JET_RSTMAP_A * rgrstmap, _In_reads_opt_( crstfilemap ) JET_RSTMAP_A * rgrstmap,
__in long _In_ long
crstfilemap, crstfilemap,
__in JET_PSTR _In_ JET_PSTR
szBackupLogPath, szBackupLogPath,
__inout JET_LOGINFO_A * p _Inout_ JET_LOGINFO_A * p
LogInfo, LogInfo,
__in_opt JET_PSTR _In_opt_ JET_PSTR
szTargetInstanceName, szTargetInstanceName,
__in_opt JET_PSTR _In_opt_ JET_PSTR
szTargetInstanceLogPath, szTargetInstanceLogPath,
__in_opt JET_PSTR _In_opt_ JET_PSTR
szTargetInstanceCheckpointPath, szTargetInstanceCheckpointPath,
__in JET_PFNSTATUS _In_ JET_PFNSTATUS
pfn ); pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetExternalRestore2W( JetExternalRestore2W(
__in JET_PWSTR _In_ JET_PWSTR
szCheckpointFilePath, szCheckpointFilePath,
__in JET_PWSTR _In_ JET_PWSTR
szLogPath, szLogPath,
__in_ecount_opt( crstfilemap ) JET_RSTMAP_W * rgrstmap, _In_reads_opt_( crstfilemap ) JET_RSTMAP_W * rgrstmap,
__in long _In_ long
crstfilemap, crstfilemap,
__in JET_PWSTR _In_ JET_PWSTR
szBackupLogPath, szBackupLogPath,
__inout JET_LOGINFO_W * p _Inout_ JET_LOGINFO_W * p
LogInfo, LogInfo,
__in_opt JET_PWSTR _In_opt_ JET_PWSTR
szTargetInstanceName, szTargetInstanceName,
__in_opt JET_PWSTR _In_opt_ JET_PWSTR
szTargetInstanceLogPath, szTargetInstanceLogPath,
__in_opt JET_PWSTR _In_opt_ JET_PWSTR
szTargetInstanceCheckpointPath, szTargetInstanceCheckpointPath,
__in JET_PFNSTATUS _In_ JET_PFNSTATUS
pfn ); pfn );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetExternalRestore2 JetExternalRestore2W #define JetExternalRestore2 JetExternalRestore2W
#else #else
#define JetExternalRestore2 JetExternalRestore2A #define JetExternalRestore2 JetExternalRestore2A
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JET_ERR JET_API
JetRegisterCallback( JetRegisterCallback(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_CBTYP cbtyp, _In_ JET_CBTYP cbtyp,
__in JET_CALLBACK pCallback, _In_ JET_CALLBACK pCallback,
__in void * pvContext, _In_opt_ void * pvContext,
__out JET_HANDLE * phCallbackId ); _In_ JET_HANDLE * phCallbackId );
JET_ERR JET_API JET_ERR JET_API
JetUnregisterCallback( JetUnregisterCallback(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_CBTYP cbtyp, _In_ JET_CBTYP cbtyp,
__in JET_HANDLE hCallbackId ); _In_ JET_HANDLE hCallbackId );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
typedef struct _JET_INSTANCE_INFO_A typedef struct _JET_INSTANCE_INFO_A
{ {
JET_INSTANCE hInstanceId; JET_INSTANCE hInstanceId;
char * szInstanceName; char * szInstanceName;
JET_API_PTR cDatabases; JET_API_PTR cDatabases;
char ** szDatabaseFileName; char ** szDatabaseFileName;
char ** szDatabaseDisplayName; char ** szDatabaseDisplayName;
char ** szDatabaseSLVFileName; char ** szDatabaseSLVFileName_Obsolete;
} JET_INSTANCE_INFO_A; } JET_INSTANCE_INFO_A;
typedef struct _JET_INSTANCE_INFO_W typedef struct _JET_INSTANCE_INFO_W
{ {
JET_INSTANCE hInstanceId; JET_INSTANCE hInstanceId;
WCHAR * szInstanceName; WCHAR * szInstanceName;
JET_API_PTR cDatabases; JET_API_PTR cDatabases;
WCHAR ** szDatabaseFileName; WCHAR ** szDatabaseFileName;
WCHAR ** szDatabaseDisplayName; WCHAR ** szDatabaseDisplayName;
WCHAR ** szDatabaseSLVFileName; WCHAR ** szDatabaseSLVFileName_Obsolete;
} JET_INSTANCE_INFO_W; } JET_INSTANCE_INFO_W;
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JET_INSTANCE_INFO JET_INSTANCE_INFO_W #define JET_INSTANCE_INFO JET_INSTANCE_INFO_W
#else #else
#define JET_INSTANCE_INFO JET_INSTANCE_INFO_A #define JET_INSTANCE_INFO JET_INSTANCE_INFO_A
#endif #endif
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetGetInstanceInfoA JetGetInstanceInfo #define JetGetInstanceInfoA JetGetInstanceInfo
#endif #endif
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetInstanceInfoA( JetGetInstanceInfoA(
__out unsigned long * _Out_ unsigned long *
pcInstanceInfo, pcInstanceInfo,
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** paInstanc _Outptr_result_buffer_( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** p
eInfo ); aInstanceInfo );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetGetInstanceInfoW( JetGetInstanceInfoW(
__out unsigned long * _Out_ unsigned long *
pcInstanceInfo, pcInstanceInfo,
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** paInstanc _Outptr_result_buffer_( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** p
eInfo ); aInstanceInfo );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetGetInstanceInfo JetGetInstanceInfoW #define JetGetInstanceInfo JetGetInstanceInfoW
#else #else
#define JetGetInstanceInfo JetGetInstanceInfoA #define JetGetInstanceInfo JetGetInstanceInfoA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetFreeBuffer( JetFreeBuffer(
__notnull char * pbBuf ); _Pre_notnull_ char * pbBuf );
JET_ERR JET_API JET_ERR JET_API
JetSetLS( JetSetLS(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__in JET_LS ls, _In_ JET_LS ls,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
JET_ERR JET_API JET_ERR JET_API
JetGetLS( JetGetLS(
__in JET_SESID sesid, _In_ JET_SESID sesid,
__in JET_TABLEID tableid, _In_ JET_TABLEID tableid,
__out JET_LS * pls, _Out_ JET_LS * pls,
__in JET_GRBIT grbit ); _In_ JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef JET_API_PTR JET_OSSNAPID; /* Snapshot Session Identifier */ typedef JET_API_PTR JET_OSSNAPID; /* Snapshot Session Identifier */
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotPrepare( JetOSSnapshotPrepare(
__out JET_OSSNAPID * psnapId, _Out_ JET_OSSNAPID * psnapId,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotPrepareInstance( JetOSSnapshotPrepareInstance(
__in JET_OSSNAPID snapId, _In_ JET_OSSNAPID snapId,
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetOSSnapshotFreezeA JetOSSnapshotFreeze #define JetOSSnapshotFreezeA JetOSSnapshotFreeze
#endif #endif
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotFreezeA( JetOSSnapshotFreezeA(
__in const JET_OSSNAPID _In_ const JET_OSSNAPID
snapId, snapId,
__out unsigned long * _Out_ unsigned long *
pcInstanceInfo, pcInstanceInfo,
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** paInstanc _Outptr_result_buffer_( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** p
eInfo, aInstanceInfo,
__in const JET_GRBIT _In_ const JET_GRBIT
grbit ); grbit );
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotFreezeW( JetOSSnapshotFreezeW(
__in const JET_OSSNAPID _In_ const JET_OSSNAPID
snapId, snapId,
__out unsigned long * _Out_ unsigned long *
pcInstanceInfo, pcInstanceInfo,
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** paInstanc _Outptr_result_buffer_( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** p
eInfo, aInstanceInfo,
__in const JET_GRBIT _In_ const JET_GRBIT
grbit ); grbit );
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetOSSnapshotFreeze JetOSSnapshotFreezeW #define JetOSSnapshotFreeze JetOSSnapshotFreezeW
#else #else
#define JetOSSnapshotFreeze JetOSSnapshotFreezeA #define JetOSSnapshotFreeze JetOSSnapshotFreezeA
#endif #endif
#endif #endif // JET_VERSION >= 0x0600
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotThaw( JetOSSnapshotThaw(
__in const JET_OSSNAPID snapId, _In_ const JET_OSSNAPID snapId,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0501 #endif // JET_VERSION >= 0x0501
#if ( JET_VERSION >= 0x0502 ) #if ( JET_VERSION >= 0x0502 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotAbort( JetOSSnapshotAbort(
__in const JET_OSSNAPID snapId, _In_ const JET_OSSNAPID snapId,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0502 #endif // JET_VERSION >= 0x0502
#if ( JET_VERSION >= 0x0600 ) #if ( JET_VERSION >= 0x0600 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotTruncateLog( JetOSSnapshotTruncateLog(
__in const JET_OSSNAPID snapId, _In_ const JET_OSSNAPID snapId,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotTruncateLogInstance( JetOSSnapshotTruncateLogInstance(
__in const JET_OSSNAPID snapId, _In_ const JET_OSSNAPID snapId,
__in JET_INSTANCE instance, _In_ JET_INSTANCE instance,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#if ( JET_VERSION < 0x0600 ) #if ( JET_VERSION < 0x0600 )
#define JetOSSnapshotGetFreezeInfoA JetOSSnapshotGetFreezeInfo #define JetOSSnapshotGetFreezeInfoA JetOSSnapshotGetFreezeInfo
#endif #endif
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotGetFreezeInfoA( JetOSSnapshotGetFreezeInfoA(
__in const JET_OSSNAPID _In_ const JET_OSSNAPID
snapId, snapId,
__out unsigned long * _Out_ unsigned long *
pcInstanceInfo, pcInstanceInfo,
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** paInstanc _Outptr_result_buffer_( *pcInstanceInfo ) JET_INSTANCE_INFO_A ** p
eInfo, aInstanceInfo,
__in const JET_GRBIT _In_ const JET_GRBIT
grbit ); grbit );
#if ( JET_VERSION >= 0x0600 )
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotGetFreezeInfoW( JetOSSnapshotGetFreezeInfoW(
__in const JET_OSSNAPID _In_ const JET_OSSNAPID
snapId, snapId,
__out unsigned long * _Out_ unsigned long *
pcInstanceInfo, pcInstanceInfo,
__deref_out_ecount( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** paInstanc _Outptr_result_buffer_( *pcInstanceInfo ) JET_INSTANCE_INFO_W ** p
eInfo, aInstanceInfo,
__in const JET_GRBIT _In_ const JET_GRBIT
grbit ); grbit );
#ifdef JET_UNICODE #ifdef JET_UNICODE
#define JetOSSnapshotGetFreezeInfo JetOSSnapshotGetFreezeInfoW #define JetOSSnapshotGetFreezeInfo JetOSSnapshotGetFreezeInfoW
#else #else
#define JetOSSnapshotGetFreezeInfo JetOSSnapshotGetFreezeInfoA #define JetOSSnapshotGetFreezeInfo JetOSSnapshotGetFreezeInfoA
#endif #endif
#endif
JET_ERR JET_API JET_ERR JET_API
JetOSSnapshotEnd( JetOSSnapshotEnd(
__in const JET_OSSNAPID snapId, _In_ const JET_OSSNAPID snapId,
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0600 #endif // JET_VERSION >= 0x0600
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
// Options for JetConfigureProcessForCrashDump // Options for JetConfigureProcessForCrashDump
#define JET_bitDumpMinimum 0x0000000 1 #define JET_bitDumpMinimum 0x0000000 1
// dump minimum includes cache minimum // dump minimum includes cache minimum
#define JET_bitDumpMaximum 0x0000000 2 #define JET_bitDumpMaximum 0x0000000 2
skipping to change at line 5284 skipping to change at line 7107
#define JET_bitDumpCacheMaximum 0x0000000 8 #define JET_bitDumpCacheMaximum 0x0000000 8
// cache maximum includes cache minimum // cache maximum includes cache minimum
// cache maximum includes the entire cache image // cache maximum includes the entire cache image
#define JET_bitDumpCacheIncludeDirtyPages 0x00000010 #define JET_bitDumpCacheIncludeDirtyPages 0x00000010
// dump includes pages that are modified // dump includes pages that are modified
#define JET_bitDumpCacheIncludeCachedPages 0x00000020 #define JET_bitDumpCacheIncludeCachedPages 0x00000020
// dump includes pages that contain valid data // dump includes pages that contain valid data
#define JET_bitDumpCacheIncludeCorruptedPages 0x00000040 #define JET_bitDumpCacheIncludeCorruptedPages 0x00000040
// dump includes pages that are corrupted (expensive to compute) // dump includes pages that are corrupted (expensive to compute)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
JET_ERR JET_API JET_ERR JET_API
JetConfigureProcessForCrashDump( JetConfigureProcessForCrashDump(
__in const JET_GRBIT grbit ); _In_ const JET_GRBIT grbit );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0601 ) #if ( JET_VERSION >= 0x0601 )
#endif // JET_VERSION >= 0x0601 #endif // JET_VERSION >= 0x0601
#if ( JET_VERSION >= 0x0602 )
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
JET_ERR JET_API JetGetErrorInfoW(
_In_opt_ void * pvContext,
_Out_writes_bytes_( cbMax ) void * pvResult,
_In_ unsigned long cbMax,
_In_ unsigned long InfoLevel,
_In_ JET_GRBIT grbit );
#ifdef JET_UNICODE
#define JetGetErrorInfo JetGetErrorInfoW
#else
#define JetGetErrorInfo JetGetErrorInfoA_DoesNotExist_OnlyUnicodeVersionOfThisAP
I_UseExcplicit_JetGetErrorInfoW_Instead
#endif
JET_ERR JET_API
JetSetSessionParameter(
_In_opt_ JET_SESID
sesid,
_In_ unsigned long
sesparamid,
_In_reads_bytes_opt_( cbParam ) void *
pvParam,
_In_ unsigned long
cbParam );
JET_ERR JET_API
JetGetSessionParameter(
_In_opt_ JET_SESID
sesid,
_In_ unsigned long
sesparamid,
_Out_cap_post_count_(cbParamMax, *pcbParamActual) void * pvParam,
_In_ unsigned long
cbParamMax,
_Out_opt_ unsigned long *
pcbParamActual );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#endif // JET_VERSION >= 0x0602
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* _JET_NOPROTOTYPES */ #endif /* _JET_NOPROTOTYPES */
#include <poppack.h> #include <poppack.h>
#ifdef __cplusplus #ifdef __cplusplus
} }
 End of changes. 517 change blocks. 
1243 lines changed or deleted 3374 lines changed or added

This html diff was produced by rfcdiff 1.41.