#define INITGUID #include typedef enum tagDBCOLKIND { DBCOLKIND_GUID_NAME = 0, DBCOLKIND_GUID_NUMBER = 1, DBCOLKIND_NAME = 2 } DBCOLKIND; typedef struct tagDBCOLUMNID { GUID guid; DBCOLKIND dwKind; union { long lNumber; wchar_t* lpdbsz; }; } DBCOLUMNID; #define DBCIDGUID {0xfe284700L,0xd188,0x11cd,{0xad,0x48, 0x0,0xaa, 0x0,0x3c,0x9c,0xb6}} #define DBBMKGUID {0xf6304bb0L,0xd188,0x11cd,{0xad,0x48, 0x0,0xaa, 0x0,0x3c,0x9c,0xb6}} #define DECLARE_COLUMNID EXTERN_C const DBCOLUMNID DECLSPEC_SELECTANY DECLARE_COLUMNID COLUMNID_INVALID = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, -1}; DECLARE_COLUMNID COLUMN_AUTOINCREMENT = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 0}; DECLARE_COLUMNID COLUMN_BASECOLUMNNAME = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 1}; DECLARE_COLUMNID COLUMN_BASENAME = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 2}; DECLARE_COLUMNID COLUMN_BINARYCOMPARABLE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 3}; DECLARE_COLUMNID COLUMN_BINDTYPE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 4}; DECLARE_COLUMNID COLUMN_CASESENSITIVE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 5}; DECLARE_COLUMNID COLUMN_COLLATINGORDER = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 6}; DECLARE_COLUMNID COLUMN_COLUMNID = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 7}; DECLARE_COLUMNID COLUMN_CURSORCOLUMN = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 8}; DECLARE_COLUMNID COLUMN_DATACOLUMN = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 9}; DECLARE_COLUMNID COLUMN_DEFAULTVALUE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 10}; DECLARE_COLUMNID COLUMN_ENTRYIDMAXLENGTH = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 11}; DECLARE_COLUMNID COLUMN_FIXED = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 12}; DECLARE_COLUMNID COLUMN_HASDEFAULT = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 13}; DECLARE_COLUMNID COLUMN_MAXLENGTH = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 14}; DECLARE_COLUMNID COLUMN_MULTIVALUED = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 15}; DECLARE_COLUMNID COLUMN_NAME = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 16}; DECLARE_COLUMNID COLUMN_NULLABLE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 17}; DECLARE_COLUMNID COLUMN_PHYSICALSORT = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 18}; DECLARE_COLUMNID COLUMN_NUMBER = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 19}; DECLARE_COLUMNID COLUMN_ROWENTRYID = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 20}; DECLARE_COLUMNID COLUMN_SCALE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 21}; DECLARE_COLUMNID COLUMN_SEARCHABLE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 22}; DECLARE_COLUMNID COLUMN_TYPE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 23}; DECLARE_COLUMNID COLUMN_UNIQUE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 24}; DECLARE_COLUMNID COLUMN_UPDATABLE = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 25}; DECLARE_COLUMNID COLUMN_VERSION = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 26}; DECLARE_COLUMNID COLUMN_STATUS = {DBCIDGUID, DBCOLKIND_GUID_NUMBER, 27}; DECLARE_COLUMNID COLUMN_BMKTEMPORARY = {DBBMKGUID, DBCOLKIND_GUID_NUMBER, 0}; DECLARE_COLUMNID COLUMN_BMKTEMPORARYREL = {DBBMKGUID, DBCOLKIND_GUID_NUMBER, 1}; DECLARE_COLUMNID COLUMN_BMKCURSOR = {DBBMKGUID, DBCOLKIND_GUID_NUMBER, 2}; DECLARE_COLUMNID COLUMN_BMKCURSORREL = {DBBMKGUID, DBCOLKIND_GUID_NUMBER, 3}; DECLARE_COLUMNID COLUMN_BMKSESSION = {DBBMKGUID, DBCOLKIND_GUID_NUMBER, 4}; DECLARE_COLUMNID COLUMN_BMKSESSIONREL = {DBBMKGUID, DBCOLKIND_GUID_NUMBER, 5}; DECLARE_COLUMNID COLUMN_BMKPERSIST = {DBBMKGUID, DBCOLKIND_GUID_NUMBER, 6}; DECLARE_COLUMNID COLUMN_BMKPERSISTREL = {DBBMKGUID, DBCOLKIND_GUID_NUMBER, 7}; #define DECLARE_BYTE EXTERN_C const unsigned char DECLSPEC_SELECTANY DECLARE_BYTE DBBMK_INVALID = 0x0; DECLARE_BYTE DBBMK_CURRENT = 0x1; DECLARE_BYTE DBBMK_BEGINNING = 0x2; DECLARE_BYTE DBBMK_END = 0x3;