home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 September / VPR0009A.BIN / VS60SP4JPN / support / dbdaoint.h < prev    next >
C/C++ Source or Header  |  1998-09-30  |  59KB  |  2,021 lines

  1. /************************************************************************ 
  2. **    D B D A O I N T. H                                                    *
  3. **                                                                        *
  4. ************************************************************************* 
  5. ** Copyright (C) 1995-1997 by Microsoft Corporation                        *
  6. **           All Rights Reserved                                             *
  7. ************************************************************************/ 
  8. /*
  9.  DBDAOINT.H
  10.  OLE DAO Interface.  
  11. This is a part of the Microsoft Data Access Objects SDK library.
  12. See the dao*.hlp files for detailed information regarding the
  13. Microsoft Data Access Objects SDK product.
  14.  
  15. */
  16. #ifndef _DBDAOINT_H_
  17. #define _DBDAOINT_H_
  18.  
  19. #ifndef _INC_TCHAR
  20. #include <tchar.h>
  21. #endif
  22.  
  23. // Forwards
  24. interface _DAODBEngine;
  25. #define DAODBEngine _DAODBEngine
  26. interface DAOError;
  27. interface _DAOCollection;
  28. #define DAOCollection _DAOCollection
  29. interface DAOErrors;
  30. interface DAOProperty;
  31. interface _DAODynaCollection;
  32. #define DAODynaCollection _DAODynaCollection
  33. interface DAOProperties;
  34. interface DAOWorkspace;
  35. interface DAOWorkspaces;
  36. interface DAOConnection;
  37. interface DAOConnections;
  38. interface DAODatabase;
  39. interface DAODatabases;
  40. interface _DAOTableDef;
  41. #define DAOTableDef _DAOTableDef
  42. interface DAOTableDefs;
  43. interface _DAOQueryDef;
  44. #define DAOQueryDef _DAOQueryDef
  45. interface DAOQueryDefs;
  46. interface DAORecordset;
  47. interface DAORecordsets;
  48. interface _DAOField;
  49. #define DAOField _DAOField
  50. interface DAOFields;
  51. interface _DAOIndex;
  52. #define DAOIndex _DAOIndex
  53. interface DAOIndexes;
  54. interface DAOParameter;
  55. interface DAOParameters;
  56. interface _DAOUser;
  57. #define DAOUser _DAOUser
  58. interface DAOUsers;
  59. interface _DAOGroup;
  60. #define DAOGroup _DAOGroup
  61. interface DAOGroups;
  62. interface _DAORelation;
  63. #define DAORelation _DAORelation
  64. interface DAORelations;
  65. interface DAOContainer;
  66. interface DAOContainers;
  67. interface DAODocument;
  68. interface DAODocuments;
  69. interface DAOIndexFields;
  70.  
  71.  
  72.  
  73. typedef enum RecordsetTypeEnum
  74.     {    dbOpenTable    = 1,
  75.     dbOpenDynaset    = 2,
  76.     dbOpenSnapshot    = 4,
  77.     dbOpenForwardOnly    = 8,
  78.     dbOpenDynamic    = 16
  79.     }    RecordsetTypeEnum;
  80.  
  81.  
  82. typedef enum EditModeEnum
  83.     {    dbEditNone    = 0,
  84.     dbEditInProgress    = 1,
  85.     dbEditAdd    = 2,
  86.     dbEditChanged    = 4,
  87.     dbEditDeleted    = 8,
  88.     dbEditNew    = 16
  89.     }    EditModeEnum;
  90.  
  91.  
  92. typedef enum RecordsetOptionEnum
  93.     {    dbDenyWrite    = 0x1,
  94.     dbDenyRead    = 0x2,
  95.     dbReadOnly    = 0x4,
  96.     dbAppendOnly    = 0x8,
  97.     dbInconsistent    = 0x10,
  98.     dbConsistent    = 0x20,
  99.     dbSQLPassThrough    = 0x40,
  100.     dbFailOnError    = 0x80,
  101.     dbForwardOnly    = 0x100,
  102.     dbSeeChanges    = 0x200,
  103.     dbRunAsync    = 0x400,
  104.     dbExecDirect    = 0x800
  105.     }    RecordsetOptionEnum;
  106.  
  107.  
  108. typedef enum LockTypeEnum
  109.     {    dbPessimistic    = 0x2,
  110.     dbOptimistic    = 0x3,
  111.     dbOptimisticValue    = 0x1,
  112.     dbOptimisticBatch    = 0x5
  113.     }    LockTypeEnum;
  114.  
  115.  
  116. typedef enum UpdateCriteriaEnum
  117.     {    dbCriteriaKey    = 0x1,
  118.     dbCriteriaModValues    = 0x2,
  119.     dbCriteriaAllCols    = 0x4,
  120.     dbCriteriaTimestamp    = 0x8,
  121.     dbCriteriaDeleteInsert    = 0x10,
  122.     dbCriteriaUpdate    = 0x20
  123.     }    UpdateCriteriaEnum;
  124.  
  125.  
  126. typedef enum FieldAttributeEnum
  127.     {    dbFixedField    = 0x1,
  128.     dbVariableField    = 0x2,
  129.     dbAutoIncrField    = 0x10,
  130.     dbUpdatableField    = 0x20,
  131.     dbSystemField    = 0x2000,
  132.     dbHyperlinkField    = 0x8000,
  133.     dbDescending    = 0x1
  134.     }    FieldAttributeEnum;
  135.  
  136.  
  137. typedef enum DataTypeEnum
  138.     {    dbBoolean    = 1,
  139.     dbByte    = 2,
  140.     dbInteger    = 3,
  141.     dbLong    = 4,
  142.     dbCurrency    = 5,
  143.     dbSingle    = 6,
  144.     dbDouble    = 7,
  145.     dbDate    = 8,
  146.     dbBinary    = 9,
  147.     dbText    = 10,
  148.     dbLongBinary    = 11,
  149.     dbMemo    = 12,
  150.     dbGUID    = 15,
  151.     dbBigInt    = 16,
  152.     dbVarBinary    = 17,
  153.     dbChar    = 18,
  154.     dbNumeric    = 19,
  155.     dbDecimal    = 20,
  156.     dbFloat    = 21,
  157.     dbTime    = 22,
  158.     dbTimeStamp    = 23
  159.     }    DataTypeEnum;
  160.  
  161.  
  162. typedef enum RelationAttributeEnum
  163.     {    dbRelationUnique    = 0x1,
  164.     dbRelationDontEnforce    = 0x2,
  165.     dbRelationInherited    = 0x4,
  166.     dbRelationUpdateCascade    = 0x100,
  167.     dbRelationDeleteCascade    = 0x1000,
  168.     dbRelationLeft    = 0x1000000,
  169.     dbRelationRight    = 0x2000000
  170.     }    RelationAttributeEnum;
  171.  
  172.  
  173. typedef enum TableDefAttributeEnum
  174.     {    dbAttachExclusive    = 0x10000,
  175.     dbAttachSavePWD    = 0x20000,
  176.     dbSystemObject    = 0x80000002,
  177.     dbAttachedTable    = 0x40000000,
  178.     dbAttachedODBC    = 0x20000000,
  179.     dbHiddenObject    = 0x1
  180.     }    TableDefAttributeEnum;
  181.  
  182.  
  183. typedef enum QueryDefTypeEnum
  184.     {    dbQSelect    = 0,
  185.     dbQProcedure    = 0xe0,
  186.     dbQAction    = 0xf0,
  187.     dbQCrosstab    = 0x10,
  188.     dbQDelete    = 0x20,
  189.     dbQUpdate    = 0x30,
  190.     dbQAppend    = 0x40,
  191.     dbQMakeTable    = 0x50,
  192.     dbQDDL    = 0x60,
  193.     dbQSQLPassThrough    = 0x70,
  194.     dbQSetOperation    = 0x80,
  195.     dbQSPTBulk    = 0x90,
  196.     dbQCompound    = 0xa0
  197.     }    QueryDefTypeEnum;
  198.  
  199.  
  200. typedef enum QueryDefStateEnum
  201.     {    dbQPrepare    = 1,
  202.     dbQUnprepare    = 2
  203.     }    QueryDefStateEnum;
  204.  
  205.  
  206. typedef enum DatabaseTypeEnum
  207.     {    dbVersion10    = 1,
  208.     dbEncrypt    = 2,
  209.     dbDecrypt    = 4,
  210.     dbVersion11    = 8,
  211.     dbVersion20    = 16,
  212.     dbVersion30    = 32,
  213.     dbVersion40    = 64
  214.     }    DatabaseTypeEnum;
  215.  
  216.  
  217. typedef enum CollatingOrderEnum
  218.     {    dbSortNeutral    = 0x400,
  219.     dbSortArabic    = 0x401,
  220.     dbSortCyrillic    = 0x419,
  221.     dbSortCzech    = 0x405,
  222.     dbSortDutch    = 0x413,
  223.     dbSortGeneral    = 0x409,
  224.     dbSortGreek    = 0x408,
  225.     dbSortHebrew    = 0x40d,
  226.     dbSortHungarian    = 0x40e,
  227.     dbSortIcelandic    = 0x40f,
  228.     dbSortNorwdan    = 0x406,
  229.     dbSortPDXIntl    = 0x409,
  230.     dbSortPDXNor    = 0x406,
  231.     dbSortPDXSwe    = 0x41d,
  232.     dbSortPolish    = 0x415,
  233.     dbSortSpanish    = 0x40a,
  234.     dbSortSwedFin    = 0x41d,
  235.     dbSortTurkish    = 0x41f,
  236.     dbSortJapanese    = 0x411,
  237.     dbSortChineseSimplified    = 0x804,
  238.     dbSortChineseTraditional    = 0x404,
  239.     dbSortKorean    = 0x412,
  240.     dbSortThai    = 0x41e,
  241.     dbSortSlovenian    = 0x424,
  242.     dbSortUndefined    = -1
  243.     }    CollatingOrderEnum;
  244.  
  245.  
  246. typedef enum IdleEnum
  247.     {    dbFreeLocks    = 1,
  248.     dbRefreshCache    = 8
  249.     }    IdleEnum;
  250.  
  251.  
  252. typedef enum PermissionEnum
  253.     {    dbSecNoAccess    = 0,
  254.     dbSecFullAccess    = 0xfffff,
  255.     dbSecDelete    = 0x10000,
  256.     dbSecReadSec    = 0x20000,
  257.     dbSecWriteSec    = 0x40000,
  258.     dbSecWriteOwner    = 0x80000,
  259.     dbSecDBCreate    = 0x1,
  260.     dbSecDBOpen    = 0x2,
  261.     dbSecDBExclusive    = 0x4,
  262.     dbSecDBAdmin    = 0x8,
  263.     dbSecCreate    = 0x1,
  264.     dbSecReadDef    = 0x4,
  265.     dbSecWriteDef    = 0x1000c,
  266.     dbSecRetrieveData    = 0x14,
  267.     dbSecInsertData    = 0x20,
  268.     dbSecReplaceData    = 0x40,
  269.     dbSecDeleteData    = 0x80
  270.     }    PermissionEnum;
  271.  
  272.  
  273. typedef enum SynchronizeTypeEnum
  274.     {    dbRepExportChanges    = 0x1,
  275.     dbRepImportChanges    = 0x2,
  276.     dbRepImpExpChanges    = 0x4,
  277.     dbRepSyncInternet    = 0x10
  278.     }    SynchronizeTypeEnum;
  279.  
  280.  
  281. typedef enum ReplicaTypeEnum
  282.     {    dbRepMakeReadOnly    = 0x2,
  283.     dbRepMakePartial    = 0x1
  284.     }    ReplicaTypeEnum;
  285.  
  286.  
  287. typedef enum WorkspaceTypeEnum
  288.     {    dbUseODBC    = 1,
  289.     dbUseJet    = 2
  290.     }    WorkspaceTypeEnum;
  291.  
  292.  
  293. typedef enum CursorDriverEnum
  294.     {    dbUseDefaultCursor    = -1,
  295.     dbUseODBCCursor    = 1,
  296.     dbUseServerCursor    = 2,
  297.     dbUseClientBatchCursor    = 3,
  298.     dbUseNoCursor    = 4
  299.     }    CursorDriverEnum;
  300.  
  301.  
  302. typedef enum DriverPromptEnum
  303.     {    dbDriverPrompt    = 2,
  304.     dbDriverNoPrompt    = 1,
  305.     dbDriverComplete    = 0,
  306.     dbDriverCompleteRequired    = 3
  307.     }    DriverPromptEnum;
  308.  
  309.  
  310. typedef enum SetOptionEnum
  311.     {    dbPageTimeout    = 6,
  312.     dbLockRetry    = 57,
  313.     dbMaxBufferSize    = 8,
  314.     dbUserCommitSync    = 58,
  315.     dbImplicitCommitSync    = 59,
  316.     dbExclusiveAsyncDelay    = 60,
  317.     dbSharedAsyncDelay    = 61,
  318.     dbMaxLocksPerFile    = 62,
  319.     dbLockDelay    = 63,
  320.     dbRecycleLVs    = 65,
  321.     dbFlushTransactionTimeout    = 66
  322.     }    SetOptionEnum;
  323.  
  324.  
  325. typedef enum ParameterDirectionEnum
  326.     {    dbParamInput    = 1,
  327.     dbParamOutput    = 2,
  328.     dbParamInputOutput    = 3,
  329.     dbParamReturnValue    = 4
  330.     }    ParameterDirectionEnum;
  331.  
  332.  
  333. typedef enum UpdateTypeEnum
  334.     {    dbUpdateBatch    = 4,
  335.     dbUpdateRegular    = 1,
  336.     dbUpdateCurrentRecord    = 2
  337.     }    UpdateTypeEnum;
  338.  
  339.  
  340. typedef enum RecordStatusEnum
  341.     {    dbRecordUnmodified    = 0,
  342.     dbRecordModified    = 1,
  343.     dbRecordNew    = 2,
  344.     dbRecordDeleted    = 3,
  345.     dbRecordDBDeleted    = 4
  346.     }    RecordStatusEnum;
  347.  
  348.  
  349. typedef enum CommitTransOptionsEnum
  350.     {    dbForceOSFlush    = 1
  351.     }    CommitTransOptionsEnum;
  352.  
  353.  
  354. typedef enum _DAOSuppHelp
  355.     {    LogMessages    = 0,
  356.     KeepLocal    = 0,
  357.     Replicable    = 0,
  358.     ReplicableBool    = 0,
  359.     V1xNullBehavior    = 0
  360.     }    _DAOSuppHelp;
  361.  
  362. #define dbLangArabic _T(";LANGID=0x0401;CP=1256;COUNTRY=0")
  363. #define dbLangCzech _T(";LANGID=0x0405;CP=1250;COUNTRY=0")
  364. #define dbLangDutch _T(";LANGID=0x0413;CP=1252;COUNTRY=0")
  365. #define dbLangGeneral _T(";LANGID=0x0409;CP=1252;COUNTRY=0")
  366. #define dbLangGreek _T(";LANGID=0x0408;CP=1253;COUNTRY=0")
  367. #define dbLangHebrew _T(";LANGID=0x040D;CP=1255;COUNTRY=0")
  368. #define dbLangHungarian _T(";LANGID=0x040E;CP=1250;COUNTRY=0")
  369. #define dbLangIcelandic _T(";LANGID=0x040F;CP=1252;COUNTRY=0")
  370. #define dbLangNordic _T(";LANGID=0x041D;CP=1252;COUNTRY=0")
  371. #define dbLangNorwDan _T(";LANGID=0x0414;CP=1252;COUNTRY=0")
  372. #define dbLangPolish _T(";LANGID=0x0415;CP=1250;COUNTRY=0")
  373. #define dbLangCyrillic _T(";LANGID=0x0419;CP=1251;COUNTRY=0")
  374. #define dbLangSpanish _T(";LANGID=0x040A;CP=1252;COUNTRY=0")
  375. #define dbLangSwedFin _T(";LANGID=0x040B;CP=1252;COUNTRY=0")
  376. #define dbLangTurkish _T(";LANGID=0x041F;CP=1254;COUNTRY=0")
  377. #define dbLangJapanese _T(";LANGID=0x0411;CP=932;COUNTRY=0")
  378. #define dbLangChineseSimplified _T(";LANGID=0x0804;CP=936;COUNTRY=0")
  379. #define dbLangChineseTraditional _T(";LANGID=0x0404;CP=950;COUNTRY=0")
  380. #define dbLangKorean _T(";LANGID=0x0412;CP=949;COUNTRY=0")
  381. #define dbLangThai _T(";LANGID=0x041E;CP=874;COUNTRY=0")
  382. #define dbLangSlovenian _T(";LANGID=0x0424;CP=1250;COUNTRY=0")
  383. // Interface: _DAOCollection
  384. #undef INTERFACE
  385. #define INTERFACE _DAOCollection
  386. DECLARE_INTERFACE_(_DAOCollection, IDispatch)
  387.     {
  388.     STDMETHOD(get_Count)                         (THIS_ short FAR* c) PURE;
  389.     STDMETHOD(_NewEnum)                             (THIS_ IUnknown * FAR* ppunk) PURE;
  390.     STDMETHOD(Refresh)                             (THIS) PURE;
  391.     };
  392.  
  393. // Interface: _DAODynaCollection
  394. #undef INTERFACE
  395. #define INTERFACE _DAODynaCollection
  396. DECLARE_INTERFACE_(_DAODynaCollection, _DAOCollection)
  397.     {
  398.     STDMETHOD(Append)                             (THIS_ IDispatch * Object) PURE;
  399.     STDMETHOD(Delete)                             (THIS_ BSTR Name) PURE;
  400.     };
  401.  
  402. // Interface: _DAO
  403. #undef INTERFACE
  404. #define INTERFACE _DAO
  405. DECLARE_INTERFACE_(_DAO, IDispatch)
  406.     {
  407.     STDMETHOD(get_Properties)                     (THIS_ DAOProperties FAR* FAR* ppprops) PURE;
  408.     };
  409. // Interface: _DAODBEngine
  410. #undef INTERFACE
  411. #define INTERFACE _DAODBEngine
  412. DECLARE_INTERFACE_(_DAODBEngine, _DAO)
  413. {
  414.     STDMETHOD( get_Properties )                        (
  415.             /* [retval][out] */ DAOProperties __RPC_FAR *__RPC_FAR *ppprops );
  416.     STDMETHOD( get_Version )                     ( 
  417.     
  418.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  419.     STDMETHOD( get_IniPath )                     ( 
  420.     
  421.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  422.     STDMETHOD( put_IniPath )                     ( 
  423.     
  424.  /* [in] */ BSTR path ) PURE;
  425.     STDMETHOD( put_DefaultUser )                 ( 
  426.     
  427.  /* [in] */ BSTR user ) PURE;
  428.     STDMETHOD( put_DefaultPassword )             ( 
  429.     
  430.  /* [in] */ BSTR pw ) PURE;
  431.     STDMETHOD( get_LoginTimeout )                 ( 
  432.     
  433.  /* [retval][out] */ short __RPC_FAR *ps ) PURE;
  434.     STDMETHOD( put_LoginTimeout )                 ( 
  435.     
  436.  /* [in] */ short Timeout ) PURE;
  437.     STDMETHOD( get_Workspaces )                     ( 
  438.     
  439.  /* [retval][out] */ DAOWorkspaces __RPC_FAR *__RPC_FAR *ppworks ) PURE;
  440.     STDMETHOD( get_Errors )                         ( 
  441.     
  442.  /* [retval][out] */ DAOErrors __RPC_FAR *__RPC_FAR *pperrs ) PURE;
  443.     STDMETHOD( Idle )                             ( 
  444.     
  445.  /* [optional][in] */ VARIANT Action ) PURE;
  446.     STDMETHOD( CompactDatabase )                 ( 
  447.     
  448.  /* [in] */ BSTR SrcName,
  449.  /* [in] */ BSTR DstName,
  450.  /* [optional][in] */ VARIANT DstLocale,
  451.  /* [optional][in] */ VARIANT Options,
  452.  /* [optional][in] */ VARIANT SrcLocale ) PURE;
  453.     STDMETHOD( RepairDatabase )                     ( 
  454.     
  455.  /* [in] */ BSTR Name ) PURE;
  456.     STDMETHOD( RegisterDatabase )                 ( 
  457.     
  458.  /* [in] */ BSTR Dsn,
  459.  /* [in] */ BSTR Driver,
  460.  /* [in] */ VARIANT_BOOL Silent,
  461.  /* [in] */ BSTR Attributes ) PURE;
  462.     STDMETHOD( _30_CreateWorkspace )             ( 
  463.     
  464.  /* [in] */ BSTR Name,
  465.  /* [in] */ BSTR UserName,
  466.  /* [in] */ BSTR Password,
  467.  /* [retval][out] */ DAOWorkspace __RPC_FAR *__RPC_FAR *ppwrk ) PURE;
  468.     STDMETHOD( OpenDatabase )                     ( 
  469.     
  470.  /* [in] */ BSTR Name,
  471.  /* [optional][in] */ VARIANT Options,
  472.  /* [optional][in] */ VARIANT ReadOnly,
  473.  /* [optional][in] */ VARIANT Connect,
  474.  /* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *ppdb ) PURE;
  475.     STDMETHOD( CreateDatabase )                     ( 
  476.     
  477.  /* [in] */ BSTR Name,
  478.  /* [in] */ BSTR Locale,
  479.  /* [optional][in] */ VARIANT Option,
  480.  /* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *ppdb ) PURE;
  481.     STDMETHOD( FreeLocks )                         ( 
  482.                VOID ) PURE;
  483.     STDMETHOD( BeginTrans )                         ( 
  484.                VOID ) PURE;
  485.     STDMETHOD( CommitTrans )                     ( 
  486.     
  487.  /* [defaultvalue][in] */ long Option ) PURE;
  488.     STDMETHOD( Rollback )                         ( 
  489.                VOID ) PURE;
  490.     STDMETHOD( SetDefaultWorkspace )             ( 
  491.     
  492.  /* [in] */ BSTR Name,
  493.  /* [in] */ BSTR Password ) PURE;
  494.     STDMETHOD( SetDataAccessOption )             ( 
  495.     
  496.  /* [in] */ short Option,
  497.  /* [in] */ VARIANT Value ) PURE;
  498.     STDMETHOD( ISAMStats )                         ( 
  499.     
  500.  /* [in] */ long StatNum,
  501.  /* [optional][in] */ VARIANT Reset,
  502.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  503.     STDMETHOD( get_SystemDB )                     ( 
  504.     
  505.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  506.     STDMETHOD( put_SystemDB )                     ( 
  507.     
  508.  /* [in] */ BSTR SystemDBPath ) PURE;
  509.     STDMETHOD( CreateWorkspace )                 ( 
  510.     
  511.  /* [in] */ BSTR Name,
  512.  /* [in] */ BSTR UserName,
  513.  /* [in] */ BSTR Password,
  514.  /* [optional][in] */ VARIANT UseType,
  515.  /* [retval][out] */ DAOWorkspace __RPC_FAR *__RPC_FAR *ppwrk ) PURE;
  516.     STDMETHOD( OpenConnection )                     ( 
  517.     
  518.  /* [in] */ BSTR Name,
  519.  /* [optional][in] */ VARIANT Options,
  520.  /* [optional][in] */ VARIANT ReadOnly,
  521.  /* [optional][in] */ VARIANT Connect,
  522.  /* [retval][out] */ DAOConnection __RPC_FAR *__RPC_FAR *ppconn ) PURE;
  523.     STDMETHOD( get_DefaultType )                 ( 
  524.     
  525.  /* [retval][out] */ long __RPC_FAR *Option ) PURE;
  526.     STDMETHOD( put_DefaultType )                 ( 
  527.     
  528.  /* [in] */ long Option ) PURE;
  529.     STDMETHOD( SetOption )                         ( 
  530.     
  531.  /* [in] */ LONG Option,
  532.  /* [in] */ VARIANT Value ) PURE;
  533.     STDMETHOD( DumpObjects )                     ( 
  534.     
  535.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  536.     STDMETHOD( DebugPrint )                         ( 
  537.     
  538.  /* [in] */ BSTR bstr ) PURE;
  539.     };// end interface;
  540.  
  541. // Interface: DAOError
  542. #undef INTERFACE
  543. #define INTERFACE DAOError
  544. DECLARE_INTERFACE_(DAOError, IDispatch)
  545. {
  546.     STDMETHOD( get_Number )                         ( 
  547.     
  548.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  549.     STDMETHOD( get_Source )                         ( 
  550.     
  551.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  552.     STDMETHOD( get_Description )                 ( 
  553.     
  554.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  555.     STDMETHOD( get_HelpFile )                     ( 
  556.     
  557.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  558.     STDMETHOD( get_HelpContext )                 ( 
  559.     
  560.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  561.     };// end interface;
  562.  
  563. // Interface: DAOErrors
  564. #undef INTERFACE
  565. #define INTERFACE DAOErrors
  566. DECLARE_INTERFACE_(DAOErrors, _DAOCollection)
  567. {
  568.     STDMETHOD( get_Item )                         ( 
  569.     
  570.  /* [in] */ VARIANT Item,
  571.  /* [retval][out] */ DAOError __RPC_FAR *__RPC_FAR *pperr ) PURE;
  572.     };// end interface;
  573.  
  574. // Interface: DAOProperty
  575. #undef INTERFACE
  576. #define INTERFACE DAOProperty
  577. DECLARE_INTERFACE_(DAOProperty, _DAO)
  578. {
  579.     STDMETHOD( get_Value )                         ( 
  580.     
  581.  /* [retval][out] */ VARIANT __RPC_FAR *pval ) PURE;
  582.     STDMETHOD( put_Value )                         ( 
  583.     
  584.  /* [in] */ VARIANT val ) PURE;
  585.     STDMETHOD( get_Name )                         ( 
  586.     
  587.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  588.     STDMETHOD( put_Name )                         ( 
  589.     
  590.  /* [in] */ BSTR bstr ) PURE;
  591.     STDMETHOD( get_Type )                         ( 
  592.     
  593.  /* [retval][out] */ short __RPC_FAR *ptype ) PURE;
  594.     STDMETHOD( put_Type )                         ( 
  595.     
  596.  /* [in] */ short type ) PURE;
  597.     STDMETHOD( get_Inherited )                     ( 
  598.     
  599.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  600.     };// end interface;
  601.  
  602. // Interface: DAOProperties
  603. #undef INTERFACE
  604. #define INTERFACE DAOProperties
  605. DECLARE_INTERFACE_(DAOProperties, _DAODynaCollection)
  606. {
  607.     STDMETHOD( get_Item )                         ( 
  608.     
  609.  /* [in] */ VARIANT Item,
  610.  /* [retval][out] */ DAOProperty __RPC_FAR *__RPC_FAR *ppprop ) PURE;
  611.     };// end interface;
  612.  
  613. // Interface: DAOWorkspace
  614. #undef INTERFACE
  615. #define INTERFACE DAOWorkspace
  616. DECLARE_INTERFACE_(DAOWorkspace, _DAO)
  617. {
  618.     STDMETHOD( get_Name )                         ( 
  619.     
  620.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  621.     STDMETHOD( put_Name )                         ( 
  622.     
  623.  /* [in] */ BSTR Name ) PURE;
  624.     STDMETHOD( get_UserName )                     ( 
  625.     
  626.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  627.     STDMETHOD( put__30_UserName )                 ( 
  628.     
  629.  /* [in] */ BSTR UserName ) PURE;
  630.     STDMETHOD( put__30_Password )                 ( 
  631.     
  632.  /* [in] */ BSTR Password ) PURE;
  633.     STDMETHOD( get_IsolateODBCTrans )             ( 
  634.     
  635.  /* [retval][out] */ short __RPC_FAR *ps ) PURE;
  636.     STDMETHOD( put_IsolateODBCTrans )             ( 
  637.     
  638.  /* [in] */ short s ) PURE;
  639.     STDMETHOD( get_Databases )                     ( 
  640.     
  641.  /* [retval][out] */ DAODatabases __RPC_FAR *__RPC_FAR *ppdbs ) PURE;
  642.     STDMETHOD( get_Users )                         ( 
  643.     
  644.  /* [retval][out] */ DAOUsers __RPC_FAR *__RPC_FAR *ppusrs ) PURE;
  645.     STDMETHOD( get_Groups )                         ( 
  646.     
  647.  /* [retval][out] */ DAOGroups __RPC_FAR *__RPC_FAR *ppgrps ) PURE;
  648.     STDMETHOD( BeginTrans )                         ( 
  649.                VOID ) PURE;
  650.     STDMETHOD( CommitTrans )                     ( 
  651.     
  652.  /* [defaultvalue][in] */ long Options ) PURE;
  653.     STDMETHOD( Close )                             ( 
  654.                VOID ) PURE;
  655.     STDMETHOD( Rollback )                         ( 
  656.                VOID ) PURE;
  657.     STDMETHOD( OpenDatabase )                     ( 
  658.     
  659.  /* [in] */ BSTR Name,
  660.  /* [optional][in] */ VARIANT Options,
  661.  /* [optional][in] */ VARIANT ReadOnly,
  662.  /* [optional][in] */ VARIANT Connect,
  663.  /* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *ppdb ) PURE;
  664.     STDMETHOD( CreateDatabase )                     ( 
  665.     
  666.  /* [in] */ BSTR Name,
  667.  /* [in] */ BSTR Connect,
  668.  /* [optional][in] */ VARIANT Option,
  669.  /* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *ppdb ) PURE;
  670.     STDMETHOD( CreateUser )                         ( 
  671.     
  672.  /* [optional][in] */ VARIANT Name,
  673.  /* [optional][in] */ VARIANT PID,
  674.  /* [optional][in] */ VARIANT Password,
  675.  /* [retval][out] */ DAOUser __RPC_FAR *__RPC_FAR *ppusr ) PURE;
  676.     STDMETHOD( CreateGroup )                     ( 
  677.     
  678.  /* [optional][in] */ VARIANT Name,
  679.  /* [optional][in] */ VARIANT PID,
  680.  /* [retval][out] */ DAOGroup __RPC_FAR *__RPC_FAR *ppgrp ) PURE;
  681.     STDMETHOD( OpenConnection )                     ( 
  682.     
  683.  /* [in] */ BSTR Name,
  684.  /* [optional][in] */ VARIANT Options,
  685.  /* [optional][in] */ VARIANT ReadOnly,
  686.  /* [optional][in] */ VARIANT Connect,
  687.  /* [retval][out] */ DAOConnection __RPC_FAR *__RPC_FAR *ppconn ) PURE;
  688.     STDMETHOD( get_LoginTimeout )                 ( 
  689.     
  690.  /* [retval][out] */ long __RPC_FAR *pTimeout ) PURE;
  691.     STDMETHOD( put_LoginTimeout )                 ( 
  692.     
  693.  /* [in] */ long Timeout ) PURE;
  694.     STDMETHOD( get_DefaultCursorDriver )         ( 
  695.     
  696.  /* [retval][out] */ long __RPC_FAR *pCursorType ) PURE;
  697.     STDMETHOD( put_DefaultCursorDriver )         ( 
  698.     
  699.  /* [in] */ long CursorType ) PURE;
  700.     STDMETHOD( get_hEnv )                         ( 
  701.     
  702.  /* [retval][out] */ LONG __RPC_FAR *phEnv ) PURE;
  703.     STDMETHOD( get_Type )                         ( 
  704.     
  705.  /* [retval][out] */ LONG __RPC_FAR *ptype ) PURE;
  706.     STDMETHOD( get_Connections )                 ( 
  707.     
  708.  /* [retval][out] */ DAOConnections __RPC_FAR *__RPC_FAR *ppcns ) PURE;
  709.     };// end interface;
  710.  
  711. // Interface: DAOWorkspaces
  712. #undef INTERFACE
  713. #define INTERFACE DAOWorkspaces
  714. DECLARE_INTERFACE_(DAOWorkspaces, _DAODynaCollection)
  715. {
  716.     STDMETHOD( get_Item )                         ( 
  717.     
  718.  /* [in] */ VARIANT Item,
  719.  /* [retval][out] */ DAOWorkspace __RPC_FAR *__RPC_FAR *ppwrk ) PURE;
  720.     };// end interface;
  721.  
  722. // Interface: DAOConnection
  723. #undef INTERFACE
  724. #define INTERFACE DAOConnection
  725. DECLARE_INTERFACE_(DAOConnection, IDispatch)
  726. {
  727.     STDMETHOD( QueryInterface )                     ( REFIID riid, LPVOID FAR* ppvObj );
  728.     STDMETHOD( get_Name )                         ( 
  729.     
  730.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  731.     STDMETHOD( get_Connect )                     ( 
  732.     
  733.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  734.     STDMETHOD( get_Database )                     ( 
  735.     
  736.  /* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *ppDb ) PURE;
  737.     STDMETHOD( get_hDbc )                         ( 
  738.     
  739.  /* [retval][out] */ LONG __RPC_FAR *phDbc ) PURE;
  740.     STDMETHOD( get_QueryTimeout )                 ( 
  741.     
  742.  /* [retval][out] */ SHORT __RPC_FAR *pSeconds ) PURE;
  743.     STDMETHOD( put_QueryTimeout )                 ( 
  744.     
  745.  /* [in] */ SHORT Seconds ) PURE;
  746.     STDMETHOD( get_Transactions )                 ( 
  747.     
  748.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  749.     STDMETHOD( get_RecordsAffected )             ( 
  750.     
  751.  /* [retval][out] */ LONG __RPC_FAR *pRecords ) PURE;
  752.     STDMETHOD( get_StillExecuting )                 ( 
  753.     
  754.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pStillExec ) PURE;
  755.     STDMETHOD( get_Updatable )                     ( 
  756.     
  757.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pStillExec ) PURE;
  758.     STDMETHOD( get_QueryDefs )                     ( 
  759.     
  760.  /* [retval][out] */ DAOQueryDefs __RPC_FAR *__RPC_FAR *ppqdfs ) PURE;
  761.     STDMETHOD( get_Recordsets )                     ( 
  762.     
  763.  /* [retval][out] */ DAORecordsets __RPC_FAR *__RPC_FAR *pprsts ) PURE;
  764.     STDMETHOD( Cancel )                             ( 
  765.                VOID ) PURE;
  766.     STDMETHOD( Close )                             ( 
  767.                VOID ) PURE;
  768.     STDMETHOD( CreateQueryDef )                     ( 
  769.     
  770.  /* [optional][in] */ VARIANT Name,
  771.  /* [optional][in] */ VARIANT SQLText,
  772.  /* [retval][out] */ DAOQueryDef __RPC_FAR *__RPC_FAR *ppqdf ) PURE;
  773.     STDMETHOD( Execute )                         ( 
  774.     
  775.  /* [in] */ BSTR Query,
  776.  /* [optional][in] */ VARIANT Options ) PURE;
  777.     STDMETHOD( OpenRecordset )                     ( 
  778.     
  779.  /* [in] */ BSTR Name,
  780.  /* [optional][in] */ VARIANT Type,
  781.  /* [optional][in] */ VARIANT Options,
  782.  /* [optional][in] */ VARIANT LockEdit,
  783.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  784.     };// end interface;
  785.  
  786. // Interface: DAOConnections
  787. #undef INTERFACE
  788. #define INTERFACE DAOConnections
  789. DECLARE_INTERFACE_(DAOConnections, _DAOCollection)
  790. {
  791.     STDMETHOD( get_Item )                         ( 
  792.     
  793.  /* [in] */ VARIANT Item,
  794.  /* [retval][out] */ DAOConnection __RPC_FAR *__RPC_FAR *ppconn ) PURE;
  795.     };// end interface;
  796.  
  797. // Interface: DAODatabase
  798. #undef INTERFACE
  799. #define INTERFACE DAODatabase
  800. DECLARE_INTERFACE_(DAODatabase, _DAO)
  801. {
  802.     STDMETHOD( get_CollatingOrder )                 ( 
  803.     
  804.  /* [retval][out] */ LONG __RPC_FAR *pl ) PURE;
  805.     STDMETHOD( get_Connect )                     ( 
  806.     
  807.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  808.     STDMETHOD( get_Name )                         ( 
  809.     
  810.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  811.     STDMETHOD( get_QueryTimeout )                 ( 
  812.     
  813.  /* [retval][out] */ short __RPC_FAR *ps ) PURE;
  814.     STDMETHOD( put_QueryTimeout )                 ( 
  815.     
  816.  /* [in] */ short Timeout ) PURE;
  817.     STDMETHOD( get_Transactions )                 ( 
  818.     
  819.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  820.     STDMETHOD( get_Updatable )                     ( 
  821.     
  822.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  823.     STDMETHOD( get_Version )                     ( 
  824.     
  825.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  826.     STDMETHOD( get_RecordsAffected )             ( 
  827.     
  828.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  829.     STDMETHOD( get_TableDefs )                     ( 
  830.     
  831.  /* [retval][out] */ DAOTableDefs __RPC_FAR *__RPC_FAR *pptdfs ) PURE;
  832.     STDMETHOD( get_QueryDefs )                     ( 
  833.     
  834.  /* [retval][out] */ DAOQueryDefs __RPC_FAR *__RPC_FAR *ppqdfs ) PURE;
  835.     STDMETHOD( get_Relations )                     ( 
  836.     
  837.  /* [retval][out] */ DAORelations __RPC_FAR *__RPC_FAR *pprls ) PURE;
  838.     STDMETHOD( get_Containers )                     ( 
  839.     
  840.  /* [retval][out] */ DAOContainers __RPC_FAR *__RPC_FAR *ppctns ) PURE;
  841.     STDMETHOD( get_Recordsets )                     ( 
  842.     
  843.  /* [retval][out] */ DAORecordsets __RPC_FAR *__RPC_FAR *pprsts ) PURE;
  844.     STDMETHOD( Close )                             ( 
  845.                VOID ) PURE;
  846.     STDMETHOD( Execute )                         ( 
  847.     
  848.  /* [in] */ BSTR Query,
  849.  /* [optional][in] */ VARIANT Options ) PURE;
  850.     STDMETHOD( _30_OpenRecordset )                 ( 
  851.     
  852.  /* [in] */ BSTR Name,
  853.  /* [optional][in] */ VARIANT Type,
  854.  /* [optional][in] */ VARIANT Options,
  855.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  856.     STDMETHOD( CreateProperty )                     ( 
  857.     
  858.  /* [optional][in] */ VARIANT Name,
  859.  /* [optional][in] */ VARIANT Type,
  860.  /* [optional][in] */ VARIANT Value,
  861.  /* [optional][in] */ VARIANT DDL,
  862.  /* [retval][out] */ DAOProperty __RPC_FAR *__RPC_FAR *pprp ) PURE;
  863.     STDMETHOD( CreateRelation )                     ( 
  864.     
  865.  /* [optional][in] */ VARIANT Name,
  866.  /* [optional][in] */ VARIANT Table,
  867.  /* [optional][in] */ VARIANT ForeignTable,
  868.  /* [optional][in] */ VARIANT Attributes,
  869.  /* [retval][out] */ DAORelation __RPC_FAR *__RPC_FAR *pprel ) PURE;
  870.     STDMETHOD( CreateTableDef )                     ( 
  871.     
  872.  /* [optional][in] */ VARIANT Name,
  873.  /* [optional][in] */ VARIANT Attributes,
  874.  /* [optional][in] */ VARIANT SourceTablename,
  875.  /* [optional][in] */ VARIANT Connect,
  876.  /* [retval][out] */ DAOTableDef __RPC_FAR *__RPC_FAR *pptdf ) PURE;
  877.     STDMETHOD( BeginTrans )                         ( 
  878.                VOID ) PURE;
  879.     STDMETHOD( CommitTrans )                     ( 
  880.     
  881.  /* [defaultvalue][in] */ long Options ) PURE;
  882.     STDMETHOD( Rollback )                         ( 
  883.                VOID ) PURE;
  884.     STDMETHOD( CreateDynaset )                     ( 
  885.     
  886.  /* [in] */ BSTR Name,
  887.  /* [optional][in] */ VARIANT Options,
  888.  /* [optional][in] */ VARIANT Inconsistent,
  889.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  890.     STDMETHOD( CreateQueryDef )                     ( 
  891.     
  892.  /* [optional][in] */ VARIANT Name,
  893.  /* [optional][in] */ VARIANT SQLText,
  894.  /* [retval][out] */ DAOQueryDef __RPC_FAR *__RPC_FAR *ppqdf ) PURE;
  895.     STDMETHOD( CreateSnapshot )                     ( 
  896.     
  897.  /* [in] */ BSTR Source,
  898.  /* [optional][in] */ VARIANT Options,
  899.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  900.     STDMETHOD( DeleteQueryDef )                     ( 
  901.     
  902.  /* [in] */ BSTR Name ) PURE;
  903.     STDMETHOD( ExecuteSQL )                         ( 
  904.     
  905.  /* [in] */ BSTR SQL,
  906.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  907.     STDMETHOD( ListFields )                         ( 
  908.     
  909.  /* [in] */ BSTR Name,
  910.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  911.     STDMETHOD( ListTables )                         ( 
  912.     
  913.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  914.     STDMETHOD( OpenQueryDef )                     ( 
  915.     
  916.  /* [in] */ BSTR Name,
  917.  /* [retval][out] */ DAOQueryDef __RPC_FAR *__RPC_FAR *ppqdf ) PURE;
  918.     STDMETHOD( OpenTable )                         ( 
  919.     
  920.  /* [in] */ BSTR Name,
  921.  /* [optional][in] */ VARIANT Options,
  922.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  923.     STDMETHOD( get_ReplicaID )                     ( 
  924.     
  925.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  926.     STDMETHOD( get_DesignMasterID )                 ( 
  927.     
  928.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  929.     STDMETHOD( put_DesignMasterID )                 ( 
  930.     
  931.  /* [in] */ BSTR MasterID ) PURE;
  932.     STDMETHOD( Synchronize )                     ( 
  933.     
  934.  /* [in] */ BSTR DbPathName,
  935.  /* [optional][in] */ VARIANT ExchangeType ) PURE;
  936.     STDMETHOD( MakeReplica )                     ( 
  937.     
  938.  /* [in] */ BSTR PathName,
  939.  /* [in] */ BSTR Description,
  940.  /* [optional][in] */ VARIANT Options ) PURE;
  941.     STDMETHOD( put_Connect )                     ( 
  942.     
  943.  /* [in] */ BSTR ODBCConnnect ) PURE;
  944.     STDMETHOD( NewPassword )                     ( 
  945.     
  946.  /* [in] */ BSTR bstrOld,
  947.  /* [in] */ BSTR bstrNew ) PURE;
  948.     STDMETHOD( OpenRecordset )                     ( 
  949.     
  950.  /* [in] */ BSTR Name,
  951.  /* [optional][in] */ VARIANT Type,
  952.  /* [optional][in] */ VARIANT Options,
  953.  /* [optional][in] */ VARIANT LockEdit,
  954.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  955.     STDMETHOD( get_Connection )                     ( 
  956.     
  957.  /* [retval][out] */ DAOConnection __RPC_FAR *__RPC_FAR *ppCn ) PURE;
  958.     STDMETHOD( PopulatePartial )                 ( 
  959.     
  960.  /* [in] */ BSTR DbPathName ) PURE;
  961.     };// end interface;
  962.  
  963. // Interface: DAODatabases
  964. #undef INTERFACE
  965. #define INTERFACE DAODatabases
  966. DECLARE_INTERFACE_(DAODatabases, _DAOCollection)
  967. {
  968.     STDMETHOD( get_Item )                         ( 
  969.     
  970.  /* [in] */ VARIANT Item,
  971.  /* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *ppdb ) PURE;
  972.     };// end interface;
  973.  
  974. // Interface: _DAOTableDef
  975. #undef INTERFACE
  976. #define INTERFACE _DAOTableDef
  977. DECLARE_INTERFACE_(_DAOTableDef, _DAO)
  978. {
  979.     STDMETHOD( get_Attributes )                     ( 
  980.     
  981.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  982.     STDMETHOD( put_Attributes )                     ( 
  983.     
  984.  /* [in] */ long Attributes ) PURE;
  985.     STDMETHOD( get_Connect )                     ( 
  986.     
  987.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  988.     STDMETHOD( put_Connect )                     ( 
  989.     
  990.  /* [in] */ BSTR Connection ) PURE;
  991.     STDMETHOD( get_DateCreated )                 ( 
  992.     
  993.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  994.     STDMETHOD( get_LastUpdated )                 ( 
  995.     
  996.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  997.     STDMETHOD( get_Name )                         ( 
  998.     
  999.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1000.     STDMETHOD( put_Name )                         ( 
  1001.     
  1002.  /* [in] */ BSTR Name ) PURE;
  1003.     STDMETHOD( get_SourceTableName )             ( 
  1004.     
  1005.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1006.     STDMETHOD( put_SourceTableName )             ( 
  1007.     
  1008.  /* [in] */ BSTR bstr ) PURE;
  1009.     STDMETHOD( get_Updatable )                     ( 
  1010.     
  1011.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1012.     STDMETHOD( get_ValidationText )                 ( 
  1013.     
  1014.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1015.     STDMETHOD( put_ValidationText )                 ( 
  1016.     
  1017.  /* [in] */ BSTR bstr ) PURE;
  1018.     STDMETHOD( get_ValidationRule )                 ( 
  1019.     
  1020.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1021.     STDMETHOD( put_ValidationRule )                 ( 
  1022.     
  1023.  /* [in] */ BSTR bstr ) PURE;
  1024.     STDMETHOD( get_RecordCount )                 ( 
  1025.     
  1026.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1027.     STDMETHOD( get_Fields )                         ( 
  1028.     
  1029.  /* [retval][out] */ DAOFields __RPC_FAR *__RPC_FAR *ppflds ) PURE;
  1030.     STDMETHOD( get_Indexes )                     ( 
  1031.     
  1032.  /* [retval][out] */ DAOIndexes __RPC_FAR *__RPC_FAR *ppidxs ) PURE;
  1033.     STDMETHOD( OpenRecordset )                     ( 
  1034.     
  1035.  /* [optional][in] */ VARIANT Type,
  1036.  /* [optional][in] */ VARIANT Options,
  1037.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1038.     STDMETHOD( RefreshLink )                     ( 
  1039.                VOID ) PURE;
  1040.     STDMETHOD( CreateField )                     ( 
  1041.     
  1042.  /* [optional][in] */ VARIANT Name,
  1043.  /* [optional][in] */ VARIANT Type,
  1044.  /* [optional][in] */ VARIANT Size,
  1045.  /* [retval][out] */ DAOField __RPC_FAR *__RPC_FAR *ppfld ) PURE;
  1046.     STDMETHOD( CreateIndex )                     ( 
  1047.     
  1048.  /* [optional][in] */ VARIANT Name,
  1049.  /* [retval][out] */ DAOIndex __RPC_FAR *__RPC_FAR *ppidx ) PURE;
  1050.     STDMETHOD( CreateProperty )                     ( 
  1051.     
  1052.  /* [optional][in] */ VARIANT Name,
  1053.  /* [optional][in] */ VARIANT Type,
  1054.  /* [optional][in] */ VARIANT Value,
  1055.  /* [optional][in] */ VARIANT DDL,
  1056.  /* [retval][out] */ DAOProperty __RPC_FAR *__RPC_FAR *pprp ) PURE;
  1057.     STDMETHOD( get_ConflictTable )                 ( 
  1058.     
  1059.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1060.     STDMETHOD( get_ReplicaFilter )                 ( 
  1061.     
  1062.  /* [retval][out] */ VARIANT __RPC_FAR *pFilter ) PURE;
  1063.     STDMETHOD( put_ReplicaFilter )                 ( 
  1064.     
  1065.  /* [in] */ VARIANT Filter ) PURE;
  1066.     };// end interface;
  1067.  
  1068. // Interface: DAOTableDefs
  1069. #undef INTERFACE
  1070. #define INTERFACE DAOTableDefs
  1071. DECLARE_INTERFACE_(DAOTableDefs, _DAODynaCollection)
  1072. {
  1073.     STDMETHOD( get_Item )                         ( 
  1074.     
  1075.  /* [in] */ VARIANT Item,
  1076.  /* [retval][out] */ DAOTableDef __RPC_FAR *__RPC_FAR *pptdf ) PURE;
  1077.     };// end interface;
  1078.  
  1079. // Interface: _DAOQueryDef
  1080. #undef INTERFACE
  1081. #define INTERFACE _DAOQueryDef
  1082. DECLARE_INTERFACE_(_DAOQueryDef, _DAO)
  1083. {
  1084.     STDMETHOD( get_DateCreated )                 ( 
  1085.     
  1086.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1087.     STDMETHOD( get_LastUpdated )                 ( 
  1088.     
  1089.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1090.     STDMETHOD( get_Name )                         ( 
  1091.     
  1092.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1093.     STDMETHOD( put_Name )                         ( 
  1094.     
  1095.  /* [in] */ BSTR bstr ) PURE;
  1096.     STDMETHOD( get_ODBCTimeout )                 ( 
  1097.     
  1098.  /* [retval][out] */ short __RPC_FAR *ps ) PURE;
  1099.     STDMETHOD( put_ODBCTimeout )                 ( 
  1100.     
  1101.  /* [in] */ short timeout ) PURE;
  1102.     STDMETHOD( get_Type )                         ( 
  1103.     
  1104.  /* [retval][out] */ short __RPC_FAR *pi ) PURE;
  1105.     STDMETHOD( get_SQL )                         ( 
  1106.     
  1107.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1108.     STDMETHOD( put_SQL )                         ( 
  1109.     
  1110.  /* [in] */ BSTR bstr ) PURE;
  1111.     STDMETHOD( get_Updatable )                     ( 
  1112.     
  1113.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1114.     STDMETHOD( get_Connect )                     ( 
  1115.     
  1116.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1117.     STDMETHOD( put_Connect )                     ( 
  1118.     
  1119.  /* [in] */ BSTR bstr ) PURE;
  1120.     STDMETHOD( get_ReturnsRecords )                 ( 
  1121.     
  1122.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1123.     STDMETHOD( put_ReturnsRecords )                 ( 
  1124.     
  1125.  /* [in] */ VARIANT_BOOL f ) PURE;
  1126.     STDMETHOD( get_RecordsAffected )             ( 
  1127.     
  1128.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1129.     STDMETHOD( get_Fields )                         ( 
  1130.     
  1131.  /* [retval][out] */ DAOFields __RPC_FAR *__RPC_FAR *ppflds ) PURE;
  1132.     STDMETHOD( get_Parameters )                     ( 
  1133.     
  1134.  /* [retval][out] */ DAOParameters __RPC_FAR *__RPC_FAR *ppprms ) PURE;
  1135.     STDMETHOD( Close )                             ( 
  1136.                VOID ) PURE;
  1137.     STDMETHOD( _30_OpenRecordset )                 ( 
  1138.     
  1139.  /* [optional][in] */ VARIANT Type,
  1140.  /* [optional][in] */ VARIANT Options,
  1141.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1142.     STDMETHOD( _30__OpenRecordset )                 ( 
  1143.     
  1144.  /* [optional][in] */ VARIANT Type,
  1145.  /* [optional][in] */ VARIANT Options,
  1146.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1147.     STDMETHOD( _Copy )                             ( 
  1148.     
  1149.  /* [retval][out] */ DAOQueryDef __RPC_FAR *__RPC_FAR *ppqdf ) PURE;
  1150.     STDMETHOD( Execute )                         ( 
  1151.     
  1152.  /* [optional][in] */ VARIANT Options ) PURE;
  1153.     STDMETHOD( Compare )                         ( 
  1154.     
  1155.  /* [in] */ DAOQueryDef __RPC_FAR *pQdef,
  1156.  /* [in] */ SHORT __RPC_FAR *lps ) PURE;
  1157.     STDMETHOD( CreateDynaset )                     ( 
  1158.     
  1159.  /* [optional][in] */ VARIANT Options,
  1160.  /* [optional][in] */ VARIANT Inconsistent,
  1161.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1162.     STDMETHOD( CreateSnapshot )                     ( 
  1163.     
  1164.  /* [optional][in] */ VARIANT Options,
  1165.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1166.     STDMETHOD( ListParameters )                     ( 
  1167.     
  1168.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1169.     STDMETHOD( CreateProperty )                     ( 
  1170.     
  1171.  /* [optional][in] */ VARIANT Name,
  1172.  /* [optional][in] */ VARIANT Type,
  1173.  /* [optional][in] */ VARIANT Value,
  1174.  /* [optional][in] */ VARIANT DDL,
  1175.  /* [retval][out] */ DAOProperty __RPC_FAR *__RPC_FAR *pprp ) PURE;
  1176.     STDMETHOD( OpenRecordset )                     ( 
  1177.     
  1178.  /* [optional][in] */ VARIANT Type,
  1179.  /* [optional][in] */ VARIANT Options,
  1180.  /* [optional][in] */ VARIANT LockEdit,
  1181.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1182.     STDMETHOD( _OpenRecordset )                     ( 
  1183.     
  1184.  /* [optional][in] */ VARIANT Type,
  1185.  /* [optional][in] */ VARIANT Options,
  1186.  /* [optional][in] */ VARIANT LockEdit,
  1187.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1188.     STDMETHOD( Cancel )                             ( 
  1189.                VOID ) PURE;
  1190.     STDMETHOD( get_hStmt )                         ( 
  1191.     
  1192.  /* [retval][out] */ LONG __RPC_FAR *phStmt ) PURE;
  1193.     STDMETHOD( get_MaxRecords )                     ( 
  1194.     
  1195.  /* [retval][out] */ LONG __RPC_FAR *pMxRecs ) PURE;
  1196.     STDMETHOD( put_MaxRecords )                     ( 
  1197.     
  1198.  /* [in] */ LONG MxRecs ) PURE;
  1199.     STDMETHOD( get_StillExecuting )                 ( 
  1200.     
  1201.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pStillExec ) PURE;
  1202.     STDMETHOD( get_CacheSize )                     ( 
  1203.     
  1204.  /* [retval][out] */ long __RPC_FAR *lCacheSize ) PURE;
  1205.     STDMETHOD( put_CacheSize )                     ( 
  1206.     
  1207.  /* [in] */ long lCacheSize ) PURE;
  1208.     STDMETHOD( get_Prepare )                     ( 
  1209.     
  1210.  /* [retval][out] */ VARIANT __RPC_FAR *pb ) PURE;
  1211.     STDMETHOD( put_Prepare )                     ( 
  1212.     
  1213.  /* [in] */ VARIANT f ) PURE;
  1214.     };// end interface;
  1215.  
  1216. // Interface: DAOQueryDefs
  1217. #undef INTERFACE
  1218. #define INTERFACE DAOQueryDefs
  1219. DECLARE_INTERFACE_(DAOQueryDefs, _DAODynaCollection)
  1220. {
  1221.     STDMETHOD( get_Item )                         ( 
  1222.     
  1223.  /* [in] */ VARIANT Item,
  1224.  /* [retval][out] */ DAOQueryDef __RPC_FAR *__RPC_FAR *ppqdef ) PURE;
  1225.     };// end interface;
  1226.  
  1227. // Interface: DAORecordset
  1228. #undef INTERFACE
  1229. #define INTERFACE DAORecordset
  1230. DECLARE_INTERFACE_(DAORecordset, _DAO)
  1231. {
  1232.     STDMETHOD( GetIDsOfNames )                     (      REFIID riid,      OLECHAR FAR* FAR* rgszNames,      UINT cNames,      LCID lcid,      DISPID FAR* rgdispid );
  1233.     STDMETHOD( Invoke )                             (      DISPID dispidMember,      REFIID riid,      LCID lcid,      WORD wFlags,      DISPPARAMS FAR* pdispparams,      VARIANT FAR* pvarResult,      EXCEPINFO FAR* pexcepinfo,      UINT FAR* puArgErr );
  1234.     STDMETHOD( get_BOF )                         ( 
  1235.     
  1236.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1237.     STDMETHOD( get_Bookmark )                     ( 
  1238.     
  1239.  /* [retval][out] */ SAFEARRAY __RPC_FAR * __RPC_FAR *ppsach ) PURE;
  1240.     STDMETHOD( put_Bookmark )                     ( 
  1241.     
  1242.  /* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *psach ) PURE;
  1243.     STDMETHOD( get_Bookmarkable )                 ( 
  1244.     
  1245.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1246.     STDMETHOD( get_DateCreated )                 ( 
  1247.     
  1248.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1249.     STDMETHOD( get_EOF )                         ( 
  1250.     
  1251.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1252.     STDMETHOD( get_Filter )                         ( 
  1253.     
  1254.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1255.     STDMETHOD( put_Filter )                         ( 
  1256.     
  1257.  /* [in] */ BSTR Filter ) PURE;
  1258.     STDMETHOD( get_Index )                         ( 
  1259.     
  1260.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1261.     STDMETHOD( put_Index )                         ( 
  1262.     
  1263.  /* [in] */ BSTR bstr ) PURE;
  1264.     STDMETHOD( get_LastModified )                 ( 
  1265.     
  1266.  /* [retval][out] */ SAFEARRAY __RPC_FAR * __RPC_FAR *ppsa ) PURE;
  1267.     STDMETHOD( get_LastUpdated )                 ( 
  1268.     
  1269.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1270.     STDMETHOD( get_LockEdits )                     ( 
  1271.     
  1272.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1273.     STDMETHOD( put_LockEdits )                     ( 
  1274.     
  1275.  /* [in] */ VARIANT_BOOL Lock ) PURE;
  1276.     STDMETHOD( get_Name )                         ( 
  1277.     
  1278.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1279.     STDMETHOD( get_NoMatch )                     ( 
  1280.     
  1281.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1282.     STDMETHOD( get_Sort )                         ( 
  1283.     
  1284.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1285.     STDMETHOD( put_Sort )                         ( 
  1286.     
  1287.  /* [in] */ BSTR Sort ) PURE;
  1288.     STDMETHOD( get_Transactions )                 ( 
  1289.     
  1290.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1291.     STDMETHOD( get_Type )                         ( 
  1292.     
  1293.  /* [retval][out] */ short __RPC_FAR *ps ) PURE;
  1294.     STDMETHOD( get_RecordCount )                 ( 
  1295.     
  1296.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1297.     STDMETHOD( get_Updatable )                     ( 
  1298.     
  1299.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1300.     STDMETHOD( get_Restartable )                 ( 
  1301.     
  1302.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1303.     STDMETHOD( get_ValidationText )                 ( 
  1304.     
  1305.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1306.     STDMETHOD( get_ValidationRule )                 ( 
  1307.     
  1308.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1309.     STDMETHOD( get_CacheStart )                     ( 
  1310.     
  1311.  /* [retval][out] */ SAFEARRAY __RPC_FAR * __RPC_FAR *ppsa ) PURE;
  1312.     STDMETHOD( put_CacheStart )                     ( 
  1313.     
  1314.  /* [in] */ SAFEARRAY __RPC_FAR * __RPC_FAR *psa ) PURE;
  1315.     STDMETHOD( get_CacheSize )                     ( 
  1316.     
  1317.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1318.     STDMETHOD( put_CacheSize )                     ( 
  1319.     
  1320.  /* [in] */ long CacheSize ) PURE;
  1321.     STDMETHOD( get_PercentPosition )             ( 
  1322.     
  1323.  /* [retval][out] */ float __RPC_FAR *pd ) PURE;
  1324.     STDMETHOD( put_PercentPosition )             ( 
  1325.     
  1326.  /* [in] */ float Position ) PURE;
  1327.     STDMETHOD( get_AbsolutePosition )             ( 
  1328.     
  1329.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1330.     STDMETHOD( put_AbsolutePosition )             ( 
  1331.     
  1332.  /* [in] */ long Position ) PURE;
  1333.     STDMETHOD( get_EditMode )                     ( 
  1334.     
  1335.  /* [retval][out] */ short __RPC_FAR *pi ) PURE;
  1336.     STDMETHOD( get_ODBCFetchCount )                 ( 
  1337.     
  1338.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1339.     STDMETHOD( get_ODBCFetchDelay )                 ( 
  1340.     
  1341.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1342.     STDMETHOD( get_Parent )                         ( 
  1343.     
  1344.  /* [retval][out] */ DAODatabase __RPC_FAR *__RPC_FAR *pdb ) PURE;
  1345.     STDMETHOD( get_Fields )                         ( 
  1346.     
  1347.  /* [retval][out] */ DAOFields __RPC_FAR *__RPC_FAR *ppflds ) PURE;
  1348.     STDMETHOD( get_Indexes )                     ( 
  1349.     
  1350.  /* [retval][out] */ DAOIndexes __RPC_FAR *__RPC_FAR *ppidxs ) PURE;
  1351.     STDMETHOD( _30_CancelUpdate )                 ( 
  1352.                VOID ) PURE;
  1353.     STDMETHOD( AddNew )                             ( 
  1354.                VOID ) PURE;
  1355.     STDMETHOD( Close )                             ( 
  1356.                VOID ) PURE;
  1357.     STDMETHOD( OpenRecordset )                     ( 
  1358.     
  1359.  /* [optional][in] */ VARIANT Type,
  1360.  /* [optional][in] */ VARIANT Options,
  1361.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1362.     STDMETHOD( Delete )                             ( 
  1363.                VOID ) PURE;
  1364.     STDMETHOD( Edit )                             ( 
  1365.                VOID ) PURE;
  1366.     STDMETHOD( FindFirst )                         ( 
  1367.     
  1368.  /* [in] */ BSTR Criteria ) PURE;
  1369.     STDMETHOD( FindLast )                         ( 
  1370.     
  1371.  /* [in] */ BSTR Criteria ) PURE;
  1372.     STDMETHOD( FindNext )                         ( 
  1373.     
  1374.  /* [in] */ BSTR Criteria ) PURE;
  1375.     STDMETHOD( FindPrevious )                     ( 
  1376.     
  1377.  /* [in] */ BSTR Criteria ) PURE;
  1378.     STDMETHOD( MoveFirst )                         ( 
  1379.                VOID ) PURE;
  1380.     STDMETHOD( _30_MoveLast )                     ( 
  1381.                VOID ) PURE;
  1382.     STDMETHOD( MoveNext )                         ( 
  1383.                VOID ) PURE;
  1384.     STDMETHOD( MovePrevious )                     ( 
  1385.                VOID ) PURE;
  1386.     STDMETHOD( Seek )                             ( 
  1387.     
  1388.  /* [in] */ BSTR Comparison,
  1389.  /* [in] */ VARIANT Key1,
  1390.  /* [optional][in] */ VARIANT Key2,
  1391.  /* [optional][in] */ VARIANT Key3,
  1392.  /* [optional][in] */ VARIANT Key4,
  1393.  /* [optional][in] */ VARIANT Key5,
  1394.  /* [optional][in] */ VARIANT Key6,
  1395.  /* [optional][in] */ VARIANT Key7,
  1396.  /* [optional][in] */ VARIANT Key8,
  1397.  /* [optional][in] */ VARIANT Key9,
  1398.  /* [optional][in] */ VARIANT Key10,
  1399.  /* [optional][in] */ VARIANT Key11,
  1400.  /* [optional][in] */ VARIANT Key12,
  1401.  /* [optional][in] */ VARIANT Key13 ) PURE;
  1402.     STDMETHOD( _30_Update )                         ( 
  1403.                VOID ) PURE;
  1404.     STDMETHOD( Clone )                             ( 
  1405.     
  1406.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1407.     STDMETHOD( Requery )                         ( 
  1408.     
  1409.  /* [optional][in] */ VARIANT NewQueryDef ) PURE;
  1410.     STDMETHOD( Move )                             ( 
  1411.     
  1412.  /* [in] */ long Rows,
  1413.  /* [optional][in] */ VARIANT StartBookmark ) PURE;
  1414.     STDMETHOD( FillCache )                         ( 
  1415.     
  1416.  /* [optional][in] */ VARIANT Rows,
  1417.  /* [optional][in] */ VARIANT StartBookmark ) PURE;
  1418.     STDMETHOD( CreateDynaset )                     ( 
  1419.     
  1420.  /* [optional][in] */ VARIANT Options,
  1421.  /* [optional][in] */ VARIANT Inconsistent,
  1422.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1423.     STDMETHOD( CreateSnapshot )                     ( 
  1424.     
  1425.  /* [optional][in] */ VARIANT Options,
  1426.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1427.     STDMETHOD( CopyQueryDef )                     ( 
  1428.     
  1429.  /* [retval][out] */ DAOQueryDef __RPC_FAR *__RPC_FAR *ppqdf ) PURE;
  1430.     STDMETHOD( ListFields )                         ( 
  1431.     
  1432.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1433.     STDMETHOD( ListIndexes )                     ( 
  1434.     
  1435.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1436.     STDMETHOD( GetRows )                         ( 
  1437.     
  1438.  /* [optional][in] */ VARIANT NumRows,
  1439.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1440.     STDMETHOD( get_Collect )                     ( 
  1441.     
  1442.  /* [in] */ VARIANT Item,
  1443.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1444.     STDMETHOD( put_Collect )                     ( 
  1445.     
  1446.  /* [in] */ VARIANT Item,
  1447.  /* [in] */ VARIANT value ) PURE;
  1448.     STDMETHOD( Cancel )                             ( 
  1449.                VOID ) PURE;
  1450.     STDMETHOD( NextRecordset )                     ( 
  1451.     
  1452.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1453.     STDMETHOD( get_hStmt )                         ( 
  1454.     
  1455.  /* [retval][out] */ LONG __RPC_FAR *phStmt ) PURE;
  1456.     STDMETHOD( get_StillExecuting )                 ( 
  1457.     
  1458.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pStillExec ) PURE;
  1459.     STDMETHOD( get_BatchSize )                     ( 
  1460.     
  1461.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1462.     STDMETHOD( put_BatchSize )                     ( 
  1463.     
  1464.  /* [in] */ long BatchSize ) PURE;
  1465.     STDMETHOD( get_BatchCollisionCount )         ( 
  1466.     
  1467.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1468.     STDMETHOD( get_BatchCollisions )             ( 
  1469.     
  1470.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1471.     STDMETHOD( get_Connection )                     ( 
  1472.     
  1473.  /* [retval][out] */ DAOConnection __RPC_FAR *__RPC_FAR *ppCn ) PURE;
  1474.     STDMETHOD( putref_Connection )                 ( 
  1475.     
  1476.  /* [in] */ DAOConnection __RPC_FAR *pNewCn ) PURE;
  1477.     STDMETHOD( get_RecordStatus )                 ( 
  1478.     
  1479.  /* [retval][out] */ short __RPC_FAR *pi ) PURE;
  1480.     STDMETHOD( get_UpdateOptions )                 ( 
  1481.     
  1482.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1483.     STDMETHOD( put_UpdateOptions )                 ( 
  1484.     
  1485.  /* [in] */ long l ) PURE;
  1486.     STDMETHOD( CancelUpdate )                     ( 
  1487.     
  1488.  /* [defaultvalue][in] */ long UpdateType ) PURE;
  1489.     STDMETHOD( Update )                             ( 
  1490.     
  1491.  /* [defaultvalue][in] */ long UpdateType,
  1492.  /* [defaultvalue][in] */ VARIANT_BOOL Force ) PURE;
  1493.     STDMETHOD( MoveLast )                         ( 
  1494.     
  1495.  /* [defaultvalue][in] */ long Options ) PURE;
  1496.     };// end interface;
  1497.  
  1498. // Interface: DAORecordsets
  1499. #undef INTERFACE
  1500. #define INTERFACE DAORecordsets
  1501. DECLARE_INTERFACE_(DAORecordsets, _DAOCollection)
  1502. {
  1503.     STDMETHOD( get_Item )                         ( 
  1504.     
  1505.  /* [in] */ VARIANT Item,
  1506.  /* [retval][out] */ DAORecordset __RPC_FAR *__RPC_FAR *pprst ) PURE;
  1507.     };// end interface;
  1508.  
  1509. // Interface: _DAOField
  1510. #undef INTERFACE
  1511. #define INTERFACE _DAOField
  1512. DECLARE_INTERFACE_(_DAOField, _DAO)
  1513. {
  1514.     STDMETHOD( get_CollatingOrder )                 ( 
  1515.     
  1516.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1517.     STDMETHOD( get_Type )                         ( 
  1518.     
  1519.  /* [retval][out] */ short __RPC_FAR *ps ) PURE;
  1520.     STDMETHOD( put_Type )                         ( 
  1521.     
  1522.  /* [in] */ short Type ) PURE;
  1523.     STDMETHOD( get_Name )                         ( 
  1524.     
  1525.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1526.     STDMETHOD( put_Name )                         ( 
  1527.     
  1528.  /* [in] */ BSTR Name ) PURE;
  1529.     STDMETHOD( get_Size )                         ( 
  1530.     
  1531.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1532.     STDMETHOD( put_Size )                         ( 
  1533.     
  1534.  /* [in] */ long Size ) PURE;
  1535.     STDMETHOD( get_SourceField )                 ( 
  1536.     
  1537.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1538.     STDMETHOD( get_SourceTable )                 ( 
  1539.     
  1540.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1541.     STDMETHOD( get_Value )                         ( 
  1542.     
  1543.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1544.     STDMETHOD( put_Value )                         ( 
  1545.     
  1546.  /* [in] */ VARIANT Val ) PURE;
  1547.     STDMETHOD( get_Attributes )                     ( 
  1548.     
  1549.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1550.     STDMETHOD( put_Attributes )                     ( 
  1551.     
  1552.  /* [in] */ long Attr ) PURE;
  1553.     STDMETHOD( get_OrdinalPosition )             ( 
  1554.     
  1555.  /* [retval][out] */ short __RPC_FAR *ps ) PURE;
  1556.     STDMETHOD( put_OrdinalPosition )             ( 
  1557.     
  1558.  /* [in] */ short Pos ) PURE;
  1559.     STDMETHOD( get_ValidationText )                 ( 
  1560.     
  1561.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1562.     STDMETHOD( put_ValidationText )                 ( 
  1563.     
  1564.  /* [in] */ BSTR bstr ) PURE;
  1565.     STDMETHOD( get_ValidateOnSet )                 ( 
  1566.     
  1567.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1568.     STDMETHOD( put_ValidateOnSet )                 ( 
  1569.     
  1570.  /* [in] */ VARIANT_BOOL Validate ) PURE;
  1571.     STDMETHOD( get_ValidationRule )                 ( 
  1572.     
  1573.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1574.     STDMETHOD( put_ValidationRule )                 ( 
  1575.     
  1576.  /* [in] */ BSTR bstr ) PURE;
  1577.     STDMETHOD( get_DefaultValue )                 ( 
  1578.     
  1579.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1580.     STDMETHOD( put_DefaultValue )                 ( 
  1581.     
  1582.  /* [in] */ VARIANT var ) PURE;
  1583.     STDMETHOD( get_Required )                     ( 
  1584.     
  1585.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1586.     STDMETHOD( put_Required )                     ( 
  1587.     
  1588.  /* [in] */ VARIANT_BOOL fReq ) PURE;
  1589.     STDMETHOD( get_AllowZeroLength )             ( 
  1590.     
  1591.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1592.     STDMETHOD( put_AllowZeroLength )             ( 
  1593.     
  1594.  /* [in] */ VARIANT_BOOL fAllow ) PURE;
  1595.     STDMETHOD( get_DataUpdatable )                 ( 
  1596.     
  1597.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1598.     STDMETHOD( get_ForeignName )                 ( 
  1599.     
  1600.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1601.     STDMETHOD( put_ForeignName )                 ( 
  1602.     
  1603.  /* [in] */ BSTR bstr ) PURE;
  1604.     STDMETHOD( AppendChunk )                     ( 
  1605.     
  1606.  /* [in] */ VARIANT Val ) PURE;
  1607.     STDMETHOD( GetChunk )                         ( 
  1608.     
  1609.  /* [in] */ long Offset,
  1610.  /* [in] */ long Bytes,
  1611.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1612.     STDMETHOD( _30_FieldSize )                     ( 
  1613.     
  1614.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1615.     STDMETHOD( CreateProperty )                     ( 
  1616.     
  1617.  /* [optional][in] */ VARIANT Name,
  1618.  /* [optional][in] */ VARIANT Type,
  1619.  /* [optional][in] */ VARIANT Value,
  1620.  /* [optional][in] */ VARIANT DDL,
  1621.  /* [retval][out] */ DAOProperty __RPC_FAR *__RPC_FAR *pprp ) PURE;
  1622.     STDMETHOD( get_CollectionIndex )             ( 
  1623.     
  1624.  /* [retval][out] */ short __RPC_FAR *i ) PURE;
  1625.     STDMETHOD( get_OriginalValue )                 ( 
  1626.     
  1627.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1628.     STDMETHOD( get_VisibleValue )                 ( 
  1629.     
  1630.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1631.     STDMETHOD( get_FieldSize )                     ( 
  1632.     
  1633.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1634.     };// end interface;
  1635.  
  1636. // Interface: DAOFields
  1637. #undef INTERFACE
  1638. #define INTERFACE DAOFields
  1639. DECLARE_INTERFACE_(DAOFields, _DAODynaCollection)
  1640. {
  1641.     STDMETHOD( get_Item )                         ( 
  1642.     
  1643.  /* [in] */ VARIANT Item,
  1644.  /* [retval][out] */ DAOField __RPC_FAR *__RPC_FAR *ppfld ) PURE;
  1645.     };// end interface;
  1646.  
  1647. // Interface: _DAOIndex
  1648. #undef INTERFACE
  1649. #define INTERFACE _DAOIndex
  1650. DECLARE_INTERFACE_(_DAOIndex, _DAO)
  1651. {
  1652.     STDMETHOD( get_Name )                         ( 
  1653.     
  1654.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1655.     STDMETHOD( put_Name )                         ( 
  1656.     
  1657.  /* [in] */ BSTR bstr ) PURE;
  1658.     STDMETHOD( get_Foreign )                     ( 
  1659.     
  1660.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1661.     STDMETHOD( get_Unique )                         ( 
  1662.     
  1663.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1664.     STDMETHOD( put_Unique )                         ( 
  1665.     
  1666.  /* [in] */ VARIANT_BOOL fUnique ) PURE;
  1667.     STDMETHOD( get_Clustered )                     ( 
  1668.     
  1669.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1670.     STDMETHOD( put_Clustered )                     ( 
  1671.     
  1672.  /* [in] */ VARIANT_BOOL fClustered ) PURE;
  1673.     STDMETHOD( get_Required )                     ( 
  1674.     
  1675.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1676.     STDMETHOD( put_Required )                     ( 
  1677.     
  1678.  /* [in] */ VARIANT_BOOL fRequired ) PURE;
  1679.     STDMETHOD( get_IgnoreNulls )                 ( 
  1680.     
  1681.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1682.     STDMETHOD( put_IgnoreNulls )                 ( 
  1683.     
  1684.  /* [in] */ VARIANT_BOOL fIgnoreNulls ) PURE;
  1685.     STDMETHOD( get_Primary )                     ( 
  1686.     
  1687.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1688.     STDMETHOD( put_Primary )                     ( 
  1689.     
  1690.  /* [in] */ VARIANT_BOOL fPrimary ) PURE;
  1691.     STDMETHOD( get_DistinctCount )                 ( 
  1692.     
  1693.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1694.     STDMETHOD( get_Fields )                         ( 
  1695.     
  1696.  /* [retval][out] */ VARIANT __RPC_FAR *pv ) PURE;
  1697.     STDMETHOD( put_Fields )                         ( 
  1698.     
  1699.  /* [in] */ VARIANT v ) PURE;
  1700.     STDMETHOD( CreateField )                     ( 
  1701.     
  1702.  /* [optional][in] */ VARIANT Name,
  1703.  /* [optional][in] */ VARIANT Type,
  1704.  /* [optional][in] */ VARIANT Size,
  1705.  /* [retval][out] */ DAOField __RPC_FAR *__RPC_FAR *ppfld ) PURE;
  1706.     STDMETHOD( CreateProperty )                     ( 
  1707.     
  1708.  /* [optional][in] */ VARIANT Name,
  1709.  /* [optional][in] */ VARIANT Type,
  1710.  /* [optional][in] */ VARIANT Value,
  1711.  /* [optional][in] */ VARIANT DDL,
  1712.  /* [retval][out] */ DAOProperty __RPC_FAR *__RPC_FAR *pprp ) PURE;
  1713.     };// end interface;
  1714.  
  1715. // Interface: DAOIndexes
  1716. #undef INTERFACE
  1717. #define INTERFACE DAOIndexes
  1718. DECLARE_INTERFACE_(DAOIndexes, _DAODynaCollection)
  1719. {
  1720.     STDMETHOD( get_Item )                         ( 
  1721.     
  1722.  /* [in] */ VARIANT Item,
  1723.  /* [retval][out] */ DAOIndex __RPC_FAR *__RPC_FAR *ppidx ) PURE;
  1724.     };// end interface;
  1725.  
  1726. // Interface: DAOParameter
  1727. #undef INTERFACE
  1728. #define INTERFACE DAOParameter
  1729. DECLARE_INTERFACE_(DAOParameter, _DAO)
  1730. {
  1731.     STDMETHOD( get_Name )                         ( 
  1732.     
  1733.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1734.     STDMETHOD( get_Value )                         ( 
  1735.     
  1736.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1737.     STDMETHOD( put_Value )                         ( 
  1738.     
  1739.  /* [in] */ VARIANT val ) PURE;
  1740.     STDMETHOD( get_Type )                         ( 
  1741.     
  1742.  /* [retval][out] */ short __RPC_FAR *ps ) PURE;
  1743.     STDMETHOD( put_Type )                         ( 
  1744.     
  1745.  /* [in] */ short s ) PURE;
  1746.     STDMETHOD( get_Direction )                     ( 
  1747.     
  1748.  /* [retval][out] */ short __RPC_FAR *pOption ) PURE;
  1749.     STDMETHOD( put_Direction )                     ( 
  1750.     
  1751.  /* [in] */ short Option ) PURE;
  1752.     };// end interface;
  1753.  
  1754. // Interface: DAOParameters
  1755. #undef INTERFACE
  1756. #define INTERFACE DAOParameters
  1757. DECLARE_INTERFACE_(DAOParameters, _DAOCollection)
  1758. {
  1759.     STDMETHOD( get_Item )                         ( 
  1760.     
  1761.  /* [in] */ VARIANT Item,
  1762.  /* [retval][out] */ DAOParameter __RPC_FAR *__RPC_FAR *ppprm ) PURE;
  1763.     };// end interface;
  1764.  
  1765. // Interface: _DAOUser
  1766. #undef INTERFACE
  1767. #define INTERFACE _DAOUser
  1768. DECLARE_INTERFACE_(_DAOUser, _DAO)
  1769. {
  1770.     STDMETHOD( get_Name )                         ( 
  1771.     
  1772.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1773.     STDMETHOD( put_Name )                         ( 
  1774.     
  1775.  /* [in] */ BSTR bstr ) PURE;
  1776.     STDMETHOD( put_PID )                         ( 
  1777.     
  1778.  /* [in] */ BSTR bstr ) PURE;
  1779.     STDMETHOD( put_Password )                     ( 
  1780.     
  1781.  /* [in] */ BSTR bstr ) PURE;
  1782.     STDMETHOD( get_Groups )                         ( 
  1783.     
  1784.  /* [retval][out] */ DAOGroups __RPC_FAR *__RPC_FAR *ppgrps ) PURE;
  1785.     STDMETHOD( NewPassword )                     ( 
  1786.     
  1787.  /* [in] */ BSTR bstrOld,
  1788.  /* [in] */ BSTR bstrNew ) PURE;
  1789.     STDMETHOD( CreateGroup )                     ( 
  1790.     
  1791.  /* [optional][in] */ VARIANT Name,
  1792.  /* [optional][in] */ VARIANT PID,
  1793.  /* [retval][out] */ DAOGroup __RPC_FAR *__RPC_FAR *ppgrp ) PURE;
  1794.     };// end interface;
  1795.  
  1796. // Interface: DAOUsers
  1797. #undef INTERFACE
  1798. #define INTERFACE DAOUsers
  1799. DECLARE_INTERFACE_(DAOUsers, _DAODynaCollection)
  1800. {
  1801.     STDMETHOD( get_Item )                         ( 
  1802.     
  1803.  /* [in] */ VARIANT Item,
  1804.  /* [retval][out] */ DAOUser __RPC_FAR *__RPC_FAR *ppusr ) PURE;
  1805.     };// end interface;
  1806.  
  1807. // Interface: _DAOGroup
  1808. #undef INTERFACE
  1809. #define INTERFACE _DAOGroup
  1810. DECLARE_INTERFACE_(_DAOGroup, _DAO)
  1811. {
  1812.     STDMETHOD( get_Name )                         ( 
  1813.     
  1814.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1815.     STDMETHOD( put_Name )                         ( 
  1816.     
  1817.  /* [in] */ BSTR bstr ) PURE;
  1818.     STDMETHOD( put_PID )                         ( 
  1819.     
  1820.  /* [in] */ BSTR bstr ) PURE;
  1821.     STDMETHOD( get_Users )                         ( 
  1822.     
  1823.  /* [retval][out] */ DAOUsers __RPC_FAR *__RPC_FAR *ppusrs ) PURE;
  1824.     STDMETHOD( CreateUser )                         ( 
  1825.     
  1826.  /* [optional][in] */ VARIANT Name,
  1827.  /* [optional][in] */ VARIANT PID,
  1828.  /* [optional][in] */ VARIANT Password,
  1829.  /* [retval][out] */ DAOUser __RPC_FAR *__RPC_FAR *ppusr ) PURE;
  1830.     };// end interface;
  1831.  
  1832. // Interface: DAOGroups
  1833. #undef INTERFACE
  1834. #define INTERFACE DAOGroups
  1835. DECLARE_INTERFACE_(DAOGroups, _DAODynaCollection)
  1836. {
  1837.     STDMETHOD( get_Item )                         ( 
  1838.     
  1839.  /* [in] */ VARIANT Item,
  1840.  /* [retval][out] */ DAOGroup __RPC_FAR *__RPC_FAR *ppgrp ) PURE;
  1841.     };// end interface;
  1842.  
  1843. // Interface: _DAORelation
  1844. #undef INTERFACE
  1845. #define INTERFACE _DAORelation
  1846. DECLARE_INTERFACE_(_DAORelation, _DAO)
  1847. {
  1848.     STDMETHOD( get_Name )                         ( 
  1849.     
  1850.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1851.     STDMETHOD( put_Name )                         ( 
  1852.     
  1853.  /* [in] */ BSTR bstr ) PURE;
  1854.     STDMETHOD( get_Table )                         ( 
  1855.     
  1856.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1857.     STDMETHOD( put_Table )                         ( 
  1858.     
  1859.  /* [in] */ BSTR bstr ) PURE;
  1860.     STDMETHOD( get_ForeignTable )                 ( 
  1861.     
  1862.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1863.     STDMETHOD( put_ForeignTable )                 ( 
  1864.     
  1865.  /* [in] */ BSTR bstr ) PURE;
  1866.     STDMETHOD( get_Attributes )                     ( 
  1867.     
  1868.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1869.     STDMETHOD( put_Attributes )                     ( 
  1870.     
  1871.  /* [in] */ long attr ) PURE;
  1872.     STDMETHOD( get_Fields )                         ( 
  1873.     
  1874.  /* [retval][out] */ DAOFields __RPC_FAR *__RPC_FAR *ppflds ) PURE;
  1875.     STDMETHOD( CreateField )                     ( 
  1876.     
  1877.  /* [optional][in] */ VARIANT Name,
  1878.  /* [optional][in] */ VARIANT Type,
  1879.  /* [optional][in] */ VARIANT Size,
  1880.  /* [retval][out] */ DAOField __RPC_FAR *__RPC_FAR *ppfld ) PURE;
  1881.     STDMETHOD( get_PartialReplica )                 ( 
  1882.     
  1883.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pfPartialReplica ) PURE;
  1884.     STDMETHOD( put_PartialReplica )                 ( 
  1885.     
  1886.  /* [in] */ VARIANT_BOOL fPartialReplica ) PURE;
  1887.     };// end interface;
  1888.  
  1889. // Interface: DAORelations
  1890. #undef INTERFACE
  1891. #define INTERFACE DAORelations
  1892. DECLARE_INTERFACE_(DAORelations, _DAODynaCollection)
  1893. {
  1894.     STDMETHOD( get_Item )                         ( 
  1895.     
  1896.  /* [in] */ VARIANT Item,
  1897.  /* [retval][out] */ DAORelation __RPC_FAR *__RPC_FAR *pprel ) PURE;
  1898.     };// end interface;
  1899.  
  1900. // Interface: DAOContainer
  1901. #undef INTERFACE
  1902. #define INTERFACE DAOContainer
  1903. DECLARE_INTERFACE_(DAOContainer, _DAO)
  1904. {
  1905.     STDMETHOD( get_Name )                         ( 
  1906.     
  1907.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1908.     STDMETHOD( get_Owner )                         ( 
  1909.     
  1910.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1911.     STDMETHOD( put_Owner )                         ( 
  1912.     
  1913.  /* [in] */ BSTR bstr ) PURE;
  1914.     STDMETHOD( get_UserName )                     ( 
  1915.     
  1916.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1917.     STDMETHOD( put_UserName )                     ( 
  1918.     
  1919.  /* [in] */ BSTR bstr ) PURE;
  1920.     STDMETHOD( get_Permissions )                 ( 
  1921.     
  1922.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1923.     STDMETHOD( put_Permissions )                 ( 
  1924.     
  1925.  /* [in] */ long permissions ) PURE;
  1926.     STDMETHOD( get_Inherit )                     ( 
  1927.     
  1928.  /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pb ) PURE;
  1929.     STDMETHOD( put_Inherit )                     ( 
  1930.     
  1931.  /* [in] */ VARIANT_BOOL fInherit ) PURE;
  1932.     STDMETHOD( get_Documents )                     ( 
  1933.     
  1934.  /* [retval][out] */ DAODocuments __RPC_FAR *__RPC_FAR *ppdocs ) PURE;
  1935.     STDMETHOD( get_AllPermissions )                 ( 
  1936.     
  1937.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1938.     };// end interface;
  1939.  
  1940. // Interface: DAOContainers
  1941. #undef INTERFACE
  1942. #define INTERFACE DAOContainers
  1943. DECLARE_INTERFACE_(DAOContainers, _DAOCollection)
  1944. {
  1945.     STDMETHOD( get_Item )                         ( 
  1946.     
  1947.  /* [in] */ VARIANT Item,
  1948.  /* [retval][out] */ DAOContainer __RPC_FAR *__RPC_FAR *ppctn ) PURE;
  1949.     };// end interface;
  1950.  
  1951. // Interface: DAODocument
  1952. #undef INTERFACE
  1953. #define INTERFACE DAODocument
  1954. DECLARE_INTERFACE_(DAODocument, _DAO)
  1955. {
  1956.     STDMETHOD( get_Name )                         ( 
  1957.     
  1958.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1959.     STDMETHOD( get_Owner )                         ( 
  1960.     
  1961.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1962.     STDMETHOD( put_Owner )                         ( 
  1963.     
  1964.  /* [in] */ BSTR bstr ) PURE;
  1965.     STDMETHOD( get_Container )                     ( 
  1966.     
  1967.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1968.     STDMETHOD( get_UserName )                     ( 
  1969.     
  1970.  /* [retval][out] */ BSTR __RPC_FAR *pbstr ) PURE;
  1971.     STDMETHOD( put_UserName )                     ( 
  1972.     
  1973.  /* [in] */ BSTR bstr ) PURE;
  1974.     STDMETHOD( get_Permissions )                 ( 
  1975.     
  1976.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1977.     STDMETHOD( put_Permissions )                 ( 
  1978.     
  1979.  /* [in] */ long permissions ) PURE;
  1980.     STDMETHOD( get_DateCreated )                 ( 
  1981.     
  1982.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1983.     STDMETHOD( get_LastUpdated )                 ( 
  1984.     
  1985.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  1986.     STDMETHOD( get_AllPermissions )                 ( 
  1987.     
  1988.  /* [retval][out] */ long __RPC_FAR *pl ) PURE;
  1989.     STDMETHOD( CreateProperty )                     ( 
  1990.     
  1991.  /* [optional][in] */ VARIANT Name,
  1992.  /* [optional][in] */ VARIANT Type,
  1993.  /* [optional][in] */ VARIANT Value,
  1994.  /* [optional][in] */ VARIANT DDL,
  1995.  /* [retval][out] */ DAOProperty __RPC_FAR *__RPC_FAR *pprp ) PURE;
  1996.     };// end interface;
  1997.  
  1998. // Interface: DAODocuments
  1999. #undef INTERFACE
  2000. #define INTERFACE DAODocuments
  2001. DECLARE_INTERFACE_(DAODocuments, _DAOCollection)
  2002. {
  2003.     STDMETHOD( get_Item )                         ( 
  2004.     
  2005.  /* [in] */ VARIANT Item,
  2006.  /* [retval][out] */ DAODocument __RPC_FAR *__RPC_FAR *ppdoc ) PURE;
  2007.     };// end interface;
  2008.  
  2009. // Interface: DAOIndexFields
  2010. #undef INTERFACE
  2011. #define INTERFACE DAOIndexFields
  2012. DECLARE_INTERFACE_(DAOIndexFields, _DAODynaCollection)
  2013. {
  2014.     STDMETHOD( get_Item )                         ( 
  2015.     
  2016.  /* [optional][in] */ VARIANT Item,
  2017.  /* [retval][out] */ VARIANT __RPC_FAR *pvar ) PURE;
  2018.     };// end interface;
  2019.  
  2020. #endif // _DBDAOINT_H_
  2021.