📄 dbdaoint.h
字号:
/************************************************************************
** D B D A O I N T. H *
** *
*************************************************************************
** Copyright (C) 1995-1999 by Microsoft Corporation *
** All Rights Reserved *
************************************************************************/
/*
DBDAOINT.H
OLE DAO Interface.
This is a part of the Microsoft Data Access Objects SDK library.
See the dao*.hlp files for detailed information regarding the
Microsoft Data Access Objects SDK product.
*/
#ifndef _DBDAOINT_H_
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
#define _DBDAOINT_H_
#ifndef _INC_TCHAR
#include <tchar.h>
#endif
// Forwards
interface _DAODBEngine;
#define DAODBEngine _DAODBEngine
interface DAOError;
interface _DAOCollection;
#define DAOCollection _DAOCollection
interface DAOErrors;
interface DAOProperty;
interface _DAODynaCollection;
#define DAODynaCollection _DAODynaCollection
interface DAOProperties;
interface DAOWorkspace;
interface DAOWorkspaces;
interface DAOConnection;
interface DAOConnections;
interface DAODatabase;
interface DAODatabases;
interface _DAOTableDef;
#define DAOTableDef _DAOTableDef
interface DAOTableDefs;
interface _DAOQueryDef;
#define DAOQueryDef _DAOQueryDef
interface DAOQueryDefs;
interface DAORecordset;
interface DAORecordsets;
interface _DAOField;
#define DAOField _DAOField
interface DAOFields;
interface _DAOIndex;
#define DAOIndex _DAOIndex
interface DAOIndexes;
interface DAOParameter;
interface DAOParameters;
interface _DAOUser;
#define DAOUser _DAOUser
interface DAOUsers;
interface _DAOGroup;
#define DAOGroup _DAOGroup
interface DAOGroups;
interface _DAORelation;
#define DAORelation _DAORelation
interface DAORelations;
interface DAOContainer;
interface DAOContainers;
interface DAODocument;
interface DAODocuments;
interface DAOIndexFields;
typedef enum RecordsetTypeEnum
{ dbOpenTable = 1,
dbOpenDynaset = 2,
dbOpenSnapshot = 4,
dbOpenForwardOnly = 8,
dbOpenDynamic = 16
} RecordsetTypeEnum;
typedef enum EditModeEnum
{ dbEditNone = 0,
dbEditInProgress = 1,
dbEditAdd = 2,
dbEditChanged = 4,
dbEditDeleted = 8,
dbEditNew = 16
} EditModeEnum;
typedef enum RecordsetOptionEnum
{ dbDenyWrite = 0x1,
dbDenyRead = 0x2,
dbReadOnly = 0x4,
dbAppendOnly = 0x8,
dbInconsistent = 0x10,
dbConsistent = 0x20,
dbSQLPassThrough = 0x40,
dbFailOnError = 0x80,
dbForwardOnly = 0x100,
dbSeeChanges = 0x200,
dbRunAsync = 0x400,
dbExecDirect = 0x800
} RecordsetOptionEnum;
typedef enum LockTypeEnum
{ dbPessimistic = 0x2,
dbOptimistic = 0x3,
dbOptimisticValue = 0x1,
dbOptimisticBatch = 0x5
} LockTypeEnum;
typedef enum UpdateCriteriaEnum
{ dbCriteriaKey = 0x1,
dbCriteriaModValues = 0x2,
dbCriteriaAllCols = 0x4,
dbCriteriaTimestamp = 0x8,
dbCriteriaDeleteInsert = 0x10,
dbCriteriaUpdate = 0x20
} UpdateCriteriaEnum;
typedef enum FieldAttributeEnum
{ dbFixedField = 0x1,
dbVariableField = 0x2,
dbAutoIncrField = 0x10,
dbUpdatableField = 0x20,
dbSystemField = 0x2000,
dbHyperlinkField = 0x8000,
dbDescending = 0x1
} FieldAttributeEnum;
typedef enum DataTypeEnum
{ dbBoolean = 1,
dbByte = 2,
dbInteger = 3,
dbLong = 4,
dbCurrency = 5,
dbSingle = 6,
dbDouble = 7,
dbDate = 8,
dbBinary = 9,
dbText = 10,
dbLongBinary = 11,
dbMemo = 12,
dbGUID = 15,
dbBigInt = 16,
dbVarBinary = 17,
dbChar = 18,
dbNumeric = 19,
dbDecimal = 20,
dbFloat = 21,
dbTime = 22,
dbTimeStamp = 23
} DataTypeEnum;
typedef enum RelationAttributeEnum
{ dbRelationUnique = 0x1,
dbRelationDontEnforce = 0x2,
dbRelationInherited = 0x4,
dbRelationUpdateCascade = 0x100,
dbRelationDeleteCascade = 0x1000,
dbRelationLeft = 0x1000000,
dbRelationRight = 0x2000000
} RelationAttributeEnum;
typedef enum TableDefAttributeEnum
{ dbAttachExclusive = 0x10000,
dbAttachSavePWD = 0x20000,
dbSystemObject = 0x80000002,
dbAttachedTable = 0x40000000,
dbAttachedODBC = 0x20000000,
dbHiddenObject = 0x1
} TableDefAttributeEnum;
typedef enum QueryDefTypeEnum
{ dbQSelect = 0,
dbQProcedure = 0xe0,
dbQAction = 0xf0,
dbQCrosstab = 0x10,
dbQDelete = 0x20,
dbQUpdate = 0x30,
dbQAppend = 0x40,
dbQMakeTable = 0x50,
dbQDDL = 0x60,
dbQSQLPassThrough = 0x70,
dbQSetOperation = 0x80,
dbQSPTBulk = 0x90,
dbQCompound = 0xa0
} QueryDefTypeEnum;
typedef enum QueryDefStateEnum
{ dbQPrepare = 1,
dbQUnprepare = 2
} QueryDefStateEnum;
typedef enum DatabaseTypeEnum
{ dbVersion10 = 1,
dbEncrypt = 2,
dbDecrypt = 4,
dbVersion11 = 8,
dbVersion20 = 16,
dbVersion30 = 32,
dbVersion40 = 64
} DatabaseTypeEnum;
typedef enum CollatingOrderEnum
{ dbSortNeutral = 0x400,
dbSortArabic = 0x401,
dbSortCyrillic = 0x419,
dbSortCzech = 0x405,
dbSortDutch = 0x413,
dbSortGeneral = 0x409,
dbSortGreek = 0x408,
dbSortHebrew = 0x40d,
dbSortHungarian = 0x40e,
dbSortIcelandic = 0x40f,
dbSortNorwdan = 0x406,
dbSortPDXIntl = 0x409,
dbSortPDXNor = 0x406,
dbSortPDXSwe = 0x41d,
dbSortPolish = 0x415,
dbSortSpanish = 0x40a,
dbSortSwedFin = 0x41d,
dbSortTurkish = 0x41f,
dbSortJapanese = 0x411,
dbSortChineseSimplified = 0x804,
dbSortChineseTraditional = 0x404,
dbSortKorean = 0x412,
dbSortThai = 0x41e,
dbSortSlovenian = 0x424,
dbSortUndefined = -1
} CollatingOrderEnum;
typedef enum IdleEnum
{ dbFreeLocks = 1,
dbRefreshCache = 8
} IdleEnum;
typedef enum PermissionEnum
{ dbSecNoAccess = 0,
dbSecFullAccess = 0xfffff,
dbSecDelete = 0x10000,
dbSecReadSec = 0x20000,
dbSecWriteSec = 0x40000,
dbSecWriteOwner = 0x80000,
dbSecDBCreate = 0x1,
dbSecDBOpen = 0x2,
dbSecDBExclusive = 0x4,
dbSecDBAdmin = 0x8,
dbSecCreate = 0x1,
dbSecReadDef = 0x4,
dbSecWriteDef = 0x1000c,
dbSecRetrieveData = 0x14,
dbSecInsertData = 0x20,
dbSecReplaceData = 0x40,
dbSecDeleteData = 0x80
} PermissionEnum;
typedef enum SynchronizeTypeEnum
{ dbRepExportChanges = 0x1,
dbRepImportChanges = 0x2,
dbRepImpExpChanges = 0x4,
dbRepSyncInternet = 0x10
} SynchronizeTypeEnum;
typedef enum ReplicaTypeEnum
{ dbRepMakeReadOnly = 0x2,
dbRepMakePartial = 0x1
} ReplicaTypeEnum;
typedef enum WorkspaceTypeEnum
{ dbUseODBC = 1,
dbUseJet = 2
} WorkspaceTypeEnum;
typedef enum CursorDriverEnum
{ dbUseDefaultCursor = -1,
dbUseODBCCursor = 1,
dbUseServerCursor = 2,
dbUseClientBatchCursor = 3,
dbUseNoCursor = 4
} CursorDriverEnum;
typedef enum DriverPromptEnum
{ dbDriverPrompt = 2,
dbDriverNoPrompt = 1,
dbDriverComplete = 0,
dbDriverCompleteRequired = 3
} DriverPromptEnum;
typedef enum SetOptionEnum
{ dbPageTimeout = 6,
dbLockRetry = 57,
dbMaxBufferSize = 8,
dbUserCommitSync = 58,
dbImplicitCommitSync = 59,
dbExclusiveAsyncDelay = 60,
dbSharedAsyncDelay = 61,
dbMaxLocksPerFile = 62,
dbLockDelay = 63,
dbRecycleLVs = 65,
dbFlushTransactionTimeout = 66
} SetOptionEnum;
typedef enum ParameterDirectionEnum
{ dbParamInput = 1,
dbParamOutput = 2,
dbParamInputOutput = 3,
dbParamReturnValue = 4
} ParameterDirectionEnum;
typedef enum UpdateTypeEnum
{ dbUpdateBatch = 4,
dbUpdateRegular = 1,
dbUpdateCurrentRecord = 2
} UpdateTypeEnum;
typedef enum RecordStatusEnum
{ dbRecordUnmodified = 0,
dbRecordModified = 1,
dbRecordNew = 2,
dbRecordDeleted = 3,
dbRecordDBDeleted = 4
} RecordStatusEnum;
typedef enum CommitTransOptionsEnum
{ dbForceOSFlush = 1
} CommitTransOptionsEnum;
typedef enum _DAOSuppHelp
{ LogMessages = 0,
KeepLocal = 0,
Replicable = 0,
ReplicableBool = 0,
V1xNullBehavior = 0
} _DAOSuppHelp;
#define dbLangArabic _T(";LANGID=0x0401;CP=1256;COUNTRY=0")
#define dbLangCzech _T(";LANGID=0x0405;CP=1250;COUNTRY=0")
#define dbLangDutch _T(";LANGID=0x0413;CP=1252;COUNTRY=0")
#define dbLangGeneral _T(";LANGID=0x0409;CP=1252;COUNTRY=0")
#define dbLangGreek _T(";LANGID=0x0408;CP=1253;COUNTRY=0")
#define dbLangHebrew _T(";LANGID=0x040D;CP=1255;COUNTRY=0")
#define dbLangHungarian _T(";LANGID=0x040E;CP=1250;COUNTRY=0")
#define dbLangIcelandic _T(";LANGID=0x040F;CP=1252;COUNTRY=0")
#define dbLangNordic _T(";LANGID=0x041D;CP=1252;COUNTRY=0")
#define dbLangNorwDan _T(";LANGID=0x0414;CP=1252;COUNTRY=0")
#define dbLangPolish _T(";LANGID=0x0415;CP=1250;COUNTRY=0")
#define dbLangCyrillic _T(";LANGID=0x0419;CP=1251;COUNTRY=0")
#define dbLangSpanish _T(";LANGID=0x040A;CP=1252;COUNTRY=0")
#define dbLangSwedFin _T(";LANGID=0x040B;CP=1252;COUNTRY=0")
#define dbLangTurkish _T(";LANGID=0x041F;CP=1254;COUNTRY=0")
#define dbLangJapanese _T(";LANGID=0x0411;CP=932;COUNTRY=0")
#define dbLangChineseSimplified _T(";LANGID=0x0804;CP=936;COUNTRY=0")
#define dbLangChineseTraditional _T(";LANGID=0x0404;CP=950;COUNTRY=0")
#define dbLangKorean _T(";LANGID=0x0412;CP=949;COUNTRY=0")
#define dbLangThai _T(";LANGID=0x041E;CP=874;COUNTRY=0")
#define dbLangSlovenian _T(";LANGID=0x0424;CP=1250;COUNTRY=0")
// Interface: _DAOCollection
#undef INTERFACE
#define INTERFACE _DAOCollection
DECLARE_INTERFACE_(_DAOCollection, IDispatch)
{
STDMETHOD(get_Count) (THIS_ short FAR* c) PURE;
STDMETHOD(_NewEnum) (THIS_ IUnknown * FAR* ppunk) PURE;
STDMETHOD(Refresh) (THIS) PURE;
};
// Interface: _DAODynaCollection
#undef INTERFACE
#define INTERFACE _DAODynaCollection
DECLARE_INTERFACE_(_DAODynaCollection, _DAOCollection)
{
STDMETHOD(Append) (THIS_ IDispatch * Object) PURE;
STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
};
// Interface: _DAO
#undef INTERFACE
#define INTERFACE _DAO
DECLARE_INTERFACE_(_DAO, IDispatch)
{
STDMETHOD(get_Properties) (THIS_ DAOProperties FAR* FAR* ppprops) PURE;
};
// Interface: _DAODBEngine
#undef INTERFACE
#define INTERFACE _DAODBEngine
DECLARE_INTERFACE_(_DAODBEngine, _DAO)
{
STDMETHOD( get_Properties ) (
/* [retval][out] */ DAOProperties __RPC_FAR *__RPC_FAR *ppprops );
STDMETHOD( get_Version ) (
/* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
STDMETHOD( get_IniPath ) (
/* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
STDMETHOD( put_IniPath ) (
/* [in] */ BSTR path ) PURE;
STDMETHOD( put_DefaultUser ) (
/* [in] */ BSTR user ) PURE;
STDMETHOD( put_DefaultPassword ) (
/* [in] */ BSTR pw ) PURE;
STDMETHOD( get_LoginTimeout ) (
/* [retval][out] */ short __RPC_FAR *ps ) PURE;
STDMETHOD( put_LoginTimeout ) (
/* [in] */ short Timeout ) PURE;
STDMETHOD( get_Workspaces ) (
/* [retval][out] */ DAOWorkspaces __RPC_FAR *__RPC_FAR *ppworks ) PURE;
STDMETHOD( get_Errors ) (
/* [retval][out] */ DAOErrors __RPC_FAR *__RPC_FAR *pperrs ) PURE;
STDMETHOD( Idle ) (
/* [optional][in] */ VARIANT Action ) PURE;
STDMETHOD( CompactDatabase ) (
/* [in] */ BSTR SrcName,
/* [in] */ BSTR DstName,
/* [optional][in] */ VARIANT DstLocale,
/* [optional][in] */ VARIANT Options,
/* [optional][in] */ VARIANT SrcLocale ) PURE;
STDMETHOD( RepairDatabase ) (
/* [in] */ BSTR Name ) PURE;
STDMETHOD( RegisterDatabase ) (
/* [in] */ BSTR Dsn,
/* [in] */ BSTR Driver,
/* [in] */ VARIANT_BOOL Silent,
/* [in] */ BSTR Attributes ) PURE;
STDMETHOD( _30_CreateWorkspace ) (
/* [in] */ BSTR Name,
/* [in] */ BSTR UserName,
/* [in] */ BSTR Password,
/* [retval][out] */ DAOWorkspace __RPC_FAR *__RPC_FAR *ppwrk ) PURE;
STDMETHOD( OpenDatabase ) (
/* [in] */ BSTR Name,
/* [optional][in] */ VARIANT Options,
/* [optional][in] */ VARIANT ReadOnly,
/* [optional][in] */ VARIANT Connect,
/* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *ppdb ) PURE;
STDMETHOD( CreateDatabase ) (
/* [in] */ BSTR Name,
/* [in] */ BSTR Locale,
/* [optional][in] */ VARIANT Option,
/* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *ppdb ) PURE;
STDMETHOD( FreeLocks ) (
VOID ) PURE;
STDMETHOD( BeginTrans ) (
VOID ) PURE;
STDMETHOD( CommitTrans ) (
/* [defaultvalue][in] */ long Option ) PURE;
STDMETHOD( Rollback ) (
VOID ) PURE;
STDMETHOD( SetDefaultWorkspace ) (
/* [in] */ BSTR Name,
/* [in] */ BSTR Password ) PURE;
STDMETHOD( SetDataAccessOption ) (
/* [in] */ short Option,
/* [in] */ VARIANT Value ) PURE;
STDMETHOD( ISAMStats ) (
/* [in] */ long StatNum,
/* [optional][in] */ VARIANT Reset,
/* [retval][out] */ long __RPC_FAR *pl ) PURE;
STDMETHOD( get_SystemDB ) (
/* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -