📄 oledb.h
字号:
} DBTIMESTAMP;
//@@@+ V2.0
#if( OLEDBVER >= 0x0200 )
#if !defined(_WINBASE_) && !defined(_FILETIME_)
#define _FILETIME_
typedef struct _FILETIME {
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} FILETIME;
#endif // !_FILETIME
typedef struct tagDBFILETIME
{
DWORD dwLowDateTime;
DWORD dwHighDateTime;
} DBFILETIME;
typedef signed char SBYTE;
typedef struct tagDB_VARNUMERIC
{
BYTE precision;
SBYTE scale;
BYTE sign;
BYTE val[ 1 ];
} DB_VARNUMERIC;
#endif // OLEDBVER >= 0x0200
//@@@- V2.0
//@@@+ V2.1
#if( OLEDBVER >= 0x0210 )
typedef struct _SEC_OBJECT_ELEMENT
{
GUID guidObjectType;
DBID ObjectID;
} SEC_OBJECT_ELEMENT;
typedef struct _SEC_OBJECT
{
DWORD cObjects;
/* [size_is] */ SEC_OBJECT_ELEMENT __RPC_FAR *prgObjects;
} SEC_OBJECT;
#endif // OLEDBVER >= 0x0210
//@@@- V2.1
typedef WORD DBTYPE;
enum DBTYPEENUM
{ DBTYPE_EMPTY = 0,
DBTYPE_NULL = 1,
DBTYPE_I2 = 2,
DBTYPE_I4 = 3,
DBTYPE_R4 = 4,
DBTYPE_R8 = 5,
DBTYPE_CY = 6,
DBTYPE_DATE = 7,
DBTYPE_BSTR = 8,
DBTYPE_IDISPATCH = 9,
DBTYPE_ERROR = 10,
DBTYPE_BOOL = 11,
DBTYPE_VARIANT = 12,
DBTYPE_IUNKNOWN = 13,
DBTYPE_DECIMAL = 14,
DBTYPE_UI1 = 17,
DBTYPE_ARRAY = 0x2000,
DBTYPE_BYREF = 0x4000,
DBTYPE_I1 = 16,
DBTYPE_UI2 = 18,
DBTYPE_UI4 = 19,
DBTYPE_I8 = 20,
DBTYPE_UI8 = 21,
DBTYPE_GUID = 72,
DBTYPE_VECTOR = 0x1000,
DBTYPE_RESERVED = 0x8000,
DBTYPE_BYTES = 128,
DBTYPE_STR = 129,
DBTYPE_WSTR = 130,
DBTYPE_NUMERIC = 131,
DBTYPE_UDT = 132,
DBTYPE_DBDATE = 133,
DBTYPE_DBTIME = 134,
DBTYPE_DBTIMESTAMP = 135
};
//@@@+ V1.5
#if( OLEDBVER >= 0x0150 )
enum DBTYPEENUM15
{ DBTYPE_HCHAPTER = 136
};
#endif // OLEDBVER >= 0x0150
//@@@- V1.5
//@@@+ V2.0
#if( OLEDBVER >= 0x0200 )
enum DBTYPEENUM20
{ DBTYPE_FILETIME = 64,
DBTYPE_DBFILETIME = 137,
DBTYPE_PROPVARIANT = 138,
DBTYPE_VARNUMERIC = 139
};
#endif // OLEDBVER >= 0x0200
//@@@- V2.0
typedef DWORD DBPART;
enum DBPARTENUM
{ DBPART_INVALID = 0,
DBPART_VALUE = 0x1,
DBPART_LENGTH = 0x2,
DBPART_STATUS = 0x4
};
typedef DWORD DBPARAMIO;
enum DBPARAMIOENUM
{ DBPARAMIO_NOTPARAM = 0,
DBPARAMIO_INPUT = 0x1,
DBPARAMIO_OUTPUT = 0x2
};
//@@@+ V1.5
#if( OLEDBVER >= 0x0150 )
typedef DWORD DBBINDFLAG;
enum DBBINDFLAGENUM
{ DBBINDFLAG_HTML = 0x1
};
#endif // OLEDBVER >= 0x0150
//@@@- V1.5
typedef DWORD DBMEMOWNER;
enum DBMEMOWNERENUM
{ DBMEMOWNER_CLIENTOWNED = 0,
DBMEMOWNER_PROVIDEROWNED = 0x1
};
typedef struct tagDBOBJECT
{
DWORD dwFlags;
IID iid;
} DBOBJECT;
typedef DWORD DBSTATUS;
enum DBSTATUSENUM
{ DBSTATUS_S_OK = 0,
DBSTATUS_E_BADACCESSOR = 1,
DBSTATUS_E_CANTCONVERTVALUE = 2,
DBSTATUS_S_ISNULL = 3,
DBSTATUS_S_TRUNCATED = 4,
DBSTATUS_E_SIGNMISMATCH = 5,
DBSTATUS_E_DATAOVERFLOW = 6,
DBSTATUS_E_CANTCREATE = 7,
DBSTATUS_E_UNAVAILABLE = 8,
DBSTATUS_E_PERMISSIONDENIED = 9,
DBSTATUS_E_INTEGRITYVIOLATION = 10,
DBSTATUS_E_SCHEMAVIOLATION = 11,
DBSTATUS_E_BADSTATUS = 12,
DBSTATUS_S_DEFAULT = 13
};
//@@@+ V2.0
#if( OLEDBVER >= 0x0200 )
enum DBSTATUSENUM20
{ MDSTATUS_S_CELLEMPTY = 14,
DBSTATUS_S_IGNORE = 15
};
#endif // OLEDBVER >= 0x0200
//@@@- V2.0
typedef struct tagDBBINDEXT
{
/* [size_is] */ BYTE __RPC_FAR *pExtension;
ULONG ulExtension;
} DBBINDEXT;
typedef struct tagDBBINDING
{
ULONG iOrdinal;
ULONG obValue;
ULONG obLength;
ULONG obStatus;
ITypeInfo __RPC_FAR *pTypeInfo;
DBOBJECT __RPC_FAR *pObject;
DBBINDEXT __RPC_FAR *pBindExt;
DBPART dwPart;
DBMEMOWNER dwMemOwner;
DBPARAMIO eParamIO;
ULONG cbMaxLen;
DWORD dwFlags;
DBTYPE wType;
BYTE bPrecision;
BYTE bScale;
} DBBINDING;
typedef DWORD DBROWSTATUS;
enum DBROWSTATUSENUM
{ DBROWSTATUS_S_OK = 0,
DBROWSTATUS_S_MULTIPLECHANGES = 2,
DBROWSTATUS_S_PENDINGCHANGES = 3,
DBROWSTATUS_E_CANCELED = 4,
DBROWSTATUS_E_CANTRELEASE = 6,
DBROWSTATUS_E_CONCURRENCYVIOLATION = 7,
DBROWSTATUS_E_DELETED = 8,
DBROWSTATUS_E_PENDINGINSERT = 9,
DBROWSTATUS_E_NEWLYINSERTED = 10,
DBROWSTATUS_E_INTEGRITYVIOLATION = 11,
DBROWSTATUS_E_INVALID = 12,
DBROWSTATUS_E_MAXPENDCHANGESEXCEEDED = 13,
DBROWSTATUS_E_OBJECTOPEN = 14,
DBROWSTATUS_E_OUTOFMEMORY = 15,
DBROWSTATUS_E_PERMISSIONDENIED = 16,
DBROWSTATUS_E_LIMITREACHED = 17,
DBROWSTATUS_E_SCHEMAVIOLATION = 18,
DBROWSTATUS_E_FAIL = 19
};
//@@@+ V2.0
#if( OLEDBVER >= 0x0200 )
enum DBROWSTATUSENUM20
{ DBROWSTATUS_S_NOCHANGE = 20
};
#endif // OLEDBVER >= 0x0200
//@@@- V2.0
typedef ULONG HACCESSOR;
#define DB_NULL_HACCESSOR 0x00 // deprecated; use DB_INVALID_HACCESSOR instead
#define DB_INVALID_HACCESSOR 0x00
typedef ULONG HROW;
#define DB_NULL_HROW 0x00
typedef ULONG HWATCHREGION;
#define DBWATCHREGION_NULL NULL
typedef ULONG HCHAPTER;
#define DB_NULL_HCHAPTER 0x00
#define DB_INVALID_HCHAPTER 0x00 // deprecated; use DB_NULL_HCHAPTER instead
typedef struct tagDBFAILUREINFO
{
HROW hRow;
ULONG iColumn;
HRESULT failure;
} DBFAILUREINFO;
typedef DWORD DBCOLUMNFLAGS;
enum DBCOLUMNFLAGSENUM
{ DBCOLUMNFLAGS_ISBOOKMARK = 0x1,
DBCOLUMNFLAGS_MAYDEFER = 0x2,
DBCOLUMNFLAGS_WRITE = 0x4,
DBCOLUMNFLAGS_WRITEUNKNOWN = 0x8,
DBCOLUMNFLAGS_ISFIXEDLENGTH = 0x10,
DBCOLUMNFLAGS_ISNULLABLE = 0x20,
DBCOLUMNFLAGS_MAYBENULL = 0x40,
DBCOLUMNFLAGS_ISLONG = 0x80,
DBCOLUMNFLAGS_ISROWID = 0x100,
DBCOLUMNFLAGS_ISROWVER = 0x200,
DBCOLUMNFLAGS_CACHEDEFERRED = 0x1000
};
//@@@+ V2.0
#if( OLEDBVER >= 0x0200 )
enum DBCOLUMNFLAGSENUM20
{ DBCOLUMNFLAGS_SCALEISNEGATIVE = 0x4000,
DBCOLUMNFLAGS_KEYCOLUMN = 0x8000
};
#endif // OLEDBVER >= 0x0200
//@@@- V2.0
//@@@+ V1.5
#if( OLEDBVER >= 0x0150 )
enum DBCOLUMNFLAGS15ENUM
{ DBCOLUMNFLAGS_ISCHAPTER = 0x2000
};
#endif // OLEDBVER >= 0x0150
//@@@- V1.5
typedef struct tagDBCOLUMNINFO
{
LPOLESTR pwszName;
ITypeInfo __RPC_FAR *pTypeInfo;
ULONG iOrdinal;
DBCOLUMNFLAGS dwFlags;
ULONG ulColumnSize;
DBTYPE wType;
BYTE bPrecision;
BYTE bScale;
DBID columnid;
} DBCOLUMNINFO;
typedef
enum tagDBBOOKMARK
{ DBBMK_INVALID = 0,
DBBMK_FIRST = DBBMK_INVALID + 1,
DBBMK_LAST = DBBMK_FIRST + 1
} DBBOOKMARK;
#define STD_BOOKMARKLENGTH 1
#ifdef __cplusplus
inline BOOL IsEqualGUIDBase(const GUID &rguid1, const GUID &rguid2)
{ return !memcmp(&(rguid1.Data2), &(rguid2.Data2), sizeof(GUID) - sizeof(rguid1.Data1)); }
#else // !__cplusplus
#define IsEqualGuidBase(rguid1, rguid2) (!memcmp(&((rguid1).Data2), &((rguid2).Data2), sizeof(GUID) - sizeof((rguid1).Data1)))
#endif // __cplusplus
#define DB_INVALIDCOLUMN ULONG_MAX
#define DBCIDGUID {0x0C733A81L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}
#define DB_NULLGUID {0x00000000L,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}
#ifdef DBINITCONSTANTS
extern const OLEDBDECLSPEC DBID DB_NULLID = {DB_NULLGUID, 0, (LPOLESTR)0};
extern const OLEDBDECLSPEC DBID DBCOLUMN_IDNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)2};
extern const OLEDBDECLSPEC DBID DBCOLUMN_NAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)3};
extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMBER = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)4};
extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)5};
extern const OLEDBDECLSPEC DBID DBCOLUMN_PRECISION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)7};
extern const OLEDBDECLSPEC DBID DBCOLUMN_SCALE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)8};
extern const OLEDBDECLSPEC DBID DBCOLUMN_FLAGS = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)9};
extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECOLUMNNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)10};
extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLENAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)11};
extern const OLEDBDECLSPEC DBID DBCOLUMN_COLLATINGSEQUENCE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)12};
extern const OLEDBDECLSPEC DBID DBCOLUMN_COMPUTEMODE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)13};
extern const OLEDBDECLSPEC DBID DBCOLUMN_DEFAULTVALUE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)14};
extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)15};
extern const OLEDBDECLSPEC DBID DBCOLUMN_HASDEFAULT = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)16};
extern const OLEDBDECLSPEC DBID DBCOLUMN_ISAUTOINCREMENT = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)17};
extern const OLEDBDECLSPEC DBID DBCOLUMN_ISCASESENSITIVE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)18};
extern const OLEDBDECLSPEC DBID DBCOLUMN_ISSEARCHABLE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)20};
extern const OLEDBDECLSPEC DBID DBCOLUMN_ISUNIQUE = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)21};
extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECATALOGNAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)23};
extern const OLEDBDECLSPEC DBID DBCOLUMN_BASESCHEMANAME = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)24};
extern const OLEDBDECLSPEC DBID DBCOLUMN_GUID = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)29};
extern const OLEDBDECLSPEC DBID DBCOLUMN_PROPID = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)30};
extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPEINFO = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)31};
extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINCATALOG = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)32};
extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINSCHEMA = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)33};
extern const OLEDBDECLSPEC DBID DBCOLUMN_DATETIMEPRECISION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)34};
extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMERICPRECISIONRADIX = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)35};
extern const OLEDBDECLSPEC DBID DBCOLUMN_OCTETLENGTH = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)36};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -