home *** CD-ROM | disk | FTP | other *** search
/ PC Format (South-Africa) 2001 May / PCFMay2001.iso / Xenon / C++ / FreeCommandLineTools.exe / Include / dbdaoint.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-31  |  57.9 KB  |  2,023 lines

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