AdoCtint.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:193k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //--------------------------------------------------------------------
  2. // File: ADOCTINT.h
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation.
  5. //
  6. //
  7. //
  8. // Contents: ADO Interface header
  9. //
  10. // Comment:
  11. //--------------------------------------------------------------------
  12. #ifndef _ADOCTINT_H_
  13. #define _ADOCTINT_H_
  14. #ifndef _INC_TCHAR
  15. #include <tchar.h>
  16. #endif
  17. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  18. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  19.  /* File created by MIDL compiler version 6.00.0347 */
  20. /* at Tue May 29 12:52:31 2001
  21.  */
  22. /* Compiler settings for AdoCat.idl:
  23.     Oicf, W1, Zp8, env=Win32 (32b run)
  24.     protocol : dce , ms_ext, c_ext
  25.     error checks: allocation ref bounds_check enum stub_data 
  26.     VC __declspec() decoration level: 
  27.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  28.          DECLSPEC_UUID(), MIDL_INTERFACE()
  29. */
  30. //@@MIDL_FILE_HEADING(  )
  31. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  32. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  33. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  34. #endif
  35. #include "rpc.h"
  36. #include "rpcndr.h"
  37. #ifndef __m_adocat_h__
  38. #define __m_adocat_h__
  39. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  40. #pragma once
  41. #endif
  42. /* Forward Declarations */ 
  43. #ifndef ___ADOCollection_FWD_DEFINED__
  44. #define ___ADOCollection_FWD_DEFINED__
  45. typedef interface _ADOADOCollection _ADOCollection;
  46. #endif  /* ___ADOCollection_FWD_DEFINED__ */
  47. #ifndef ___ADODynaCollection_FWD_DEFINED__
  48. #define ___ADODynaCollection_FWD_DEFINED__
  49. typedef interface _ADODynaADOCollection _ADODynaCollection;
  50. #endif  /* ___ADODynaCollection_FWD_DEFINED__ */
  51. #ifndef ___Catalog_FWD_DEFINED__
  52. #define ___Catalog_FWD_DEFINED__
  53. typedef interface _ADOCatalog _Catalog;
  54. #endif  /* ___Catalog_FWD_DEFINED__ */
  55. #ifndef ___Table_FWD_DEFINED__
  56. #define ___Table_FWD_DEFINED__
  57. typedef interface _ADOTable _Table;
  58. #endif  /* ___Table_FWD_DEFINED__ */
  59. #ifndef ___Group25_FWD_DEFINED__
  60. #define ___Group25_FWD_DEFINED__
  61. typedef interface _Group25 _Group25;
  62. #endif  /* ___Group25_FWD_DEFINED__ */
  63. #ifndef ___Group_FWD_DEFINED__
  64. #define ___Group_FWD_DEFINED__
  65. typedef interface _ADOGroup _Group;
  66. #endif  /* ___Group_FWD_DEFINED__ */
  67. #ifndef ___User25_FWD_DEFINED__
  68. #define ___User25_FWD_DEFINED__
  69. typedef interface _User25 _User25;
  70. #endif  /* ___User25_FWD_DEFINED__ */
  71. #ifndef ___User_FWD_DEFINED__
  72. #define ___User_FWD_DEFINED__
  73. typedef interface _ADOUser _User;
  74. #endif  /* ___User_FWD_DEFINED__ */
  75. #ifndef ___Column_FWD_DEFINED__
  76. #define ___Column_FWD_DEFINED__
  77. typedef interface _ADOColumn _Column;
  78. #endif  /* ___Column_FWD_DEFINED__ */
  79. #ifndef ___Index_FWD_DEFINED__
  80. #define ___Index_FWD_DEFINED__
  81. typedef interface _ADOIndex _Index;
  82. #endif  /* ___Index_FWD_DEFINED__ */
  83. #ifndef ___Key_FWD_DEFINED__
  84. #define ___Key_FWD_DEFINED__
  85. typedef interface _ADOKey _Key;
  86. #endif  /* ___Key_FWD_DEFINED__ */
  87. #ifndef __View_FWD_DEFINED__
  88. #define __View_FWD_DEFINED__
  89. typedef interface ADOView View;
  90. #endif  /* __View_FWD_DEFINED__ */
  91. #ifndef __Procedure_FWD_DEFINED__
  92. #define __Procedure_FWD_DEFINED__
  93. typedef interface ADOProcedure Procedure;
  94. #endif  /* __Procedure_FWD_DEFINED__ */
  95. #ifndef __Catalog_FWD_DEFINED__
  96. #define __Catalog_FWD_DEFINED__
  97. #ifdef __cplusplus
  98. typedef class ADOCatalog Catalog;
  99. #else
  100. typedef struct ADOCatalog Catalog;
  101. #endif /* __cplusplus */
  102. #endif  /* __Catalog_FWD_DEFINED__ */
  103. #ifndef __Table_FWD_DEFINED__
  104. #define __Table_FWD_DEFINED__
  105. #ifdef __cplusplus
  106. typedef class ADOTable Table;
  107. #else
  108. typedef struct ADOTable Table;
  109. #endif /* __cplusplus */
  110. #endif  /* __Table_FWD_DEFINED__ */
  111. #ifndef __Property_FWD_DEFINED__
  112. #define __Property_FWD_DEFINED__
  113. typedef interface ADOProperty Property;
  114. #endif  /* __Property_FWD_DEFINED__ */
  115. #ifndef __Group_FWD_DEFINED__
  116. #define __Group_FWD_DEFINED__
  117. #ifdef __cplusplus
  118. typedef class ADOGroup Group;
  119. #else
  120. typedef struct ADOGroup Group;
  121. #endif /* __cplusplus */
  122. #endif  /* __Group_FWD_DEFINED__ */
  123. #ifndef __User_FWD_DEFINED__
  124. #define __User_FWD_DEFINED__
  125. #ifdef __cplusplus
  126. typedef class ADOUser User;
  127. #else
  128. typedef struct ADOUser User;
  129. #endif /* __cplusplus */
  130. #endif  /* __User_FWD_DEFINED__ */
  131. #ifndef __Column_FWD_DEFINED__
  132. #define __Column_FWD_DEFINED__
  133. #ifdef __cplusplus
  134. typedef class ADOColumn Column;
  135. #else
  136. typedef struct ADOColumn Column;
  137. #endif /* __cplusplus */
  138. #endif  /* __Column_FWD_DEFINED__ */
  139. #ifndef __Index_FWD_DEFINED__
  140. #define __Index_FWD_DEFINED__
  141. #ifdef __cplusplus
  142. typedef class ADOIndex Index;
  143. #else
  144. typedef struct ADOIndex Index;
  145. #endif /* __cplusplus */
  146. #endif  /* __Index_FWD_DEFINED__ */
  147. #ifndef __Key_FWD_DEFINED__
  148. #define __Key_FWD_DEFINED__
  149. #ifdef __cplusplus
  150. typedef class ADOKey Key;
  151. #else
  152. typedef struct ADOKey Key;
  153. #endif /* __cplusplus */
  154. #endif  /* __Key_FWD_DEFINED__ */
  155. #ifndef __Tables_FWD_DEFINED__
  156. #define __Tables_FWD_DEFINED__
  157. typedef interface ADOTables Tables;
  158. #endif  /* __Tables_FWD_DEFINED__ */
  159. #ifndef __Columns_FWD_DEFINED__
  160. #define __Columns_FWD_DEFINED__
  161. typedef interface ADOColumns Columns;
  162. #endif  /* __Columns_FWD_DEFINED__ */
  163. #ifndef __Procedures_FWD_DEFINED__
  164. #define __Procedures_FWD_DEFINED__
  165. typedef interface ADOProcedures Procedures;
  166. #endif  /* __Procedures_FWD_DEFINED__ */
  167. #ifndef __Views_FWD_DEFINED__
  168. #define __Views_FWD_DEFINED__
  169. typedef interface ADOViews Views;
  170. #endif  /* __Views_FWD_DEFINED__ */
  171. #ifndef __Indexes_FWD_DEFINED__
  172. #define __Indexes_FWD_DEFINED__
  173. typedef interface ADOIndexes Indexes;
  174. #endif  /* __Indexes_FWD_DEFINED__ */
  175. #ifndef __Keys_FWD_DEFINED__
  176. #define __Keys_FWD_DEFINED__
  177. typedef interface ADOKeys Keys;
  178. #endif  /* __Keys_FWD_DEFINED__ */
  179. #ifndef __Users_FWD_DEFINED__
  180. #define __Users_FWD_DEFINED__
  181. typedef interface ADOUsers Users;
  182. #endif  /* __Users_FWD_DEFINED__ */
  183. #ifndef __Groups_FWD_DEFINED__
  184. #define __Groups_FWD_DEFINED__
  185. typedef interface ADOGroups Groups;
  186. #endif  /* __Groups_FWD_DEFINED__ */
  187. #ifndef __Properties_FWD_DEFINED__
  188. #define __Properties_FWD_DEFINED__
  189. typedef interface ADOProperties Properties;
  190. #endif  /* __Properties_FWD_DEFINED__ */
  191. /* header files for imported files */
  192. #include "oaidl.h"
  193. #include "ocidl.h"
  194. #ifdef __cplusplus
  195. extern "C"{
  196. #endif 
  197. void * __RPC_USER MIDL_user_allocate(size_t);
  198. void __RPC_USER MIDL_user_free( void * ); 
  199. /* interface __MIDL_itf_AdoCat_0000 */
  200. /* [local] */ 
  201. typedef /* [helpcontext] */ 
  202. enum RuleEnum
  203.     { adRINone = 0,
  204. adRICascade = 1,
  205. adRISetNull = 2,
  206. adRISetDefault = 3
  207.     }  RuleEnum;
  208. typedef /* [helpcontext] */ 
  209. enum KeyTypeEnum
  210.     { adKeyPrimary = 1,
  211. adKeyForeign = 2,
  212. adKeyUnique = 3
  213.     }  KeyTypeEnum;
  214. typedef /* [helpcontext] */ 
  215. enum ActionEnum
  216.     { adAccessGrant = 1,
  217. adAccessSet = 2,
  218. adAccessDeny = 3,
  219. adAccessRevoke = 4
  220.     }  ActionEnum;
  221. typedef /* [helpcontext] */ 
  222. enum ColumnAttributesEnum
  223.     { adColFixed = 1,
  224. adColNullable = 2
  225.     }  ColumnAttributesEnum;
  226. typedef /* [helpcontext] */ 
  227. enum SortOrderEnum
  228.     { adSortAscending = 1,
  229. adSortDescending = 2
  230.     }  SortOrderEnum;
  231. typedef /* [helpcontext] */ 
  232. enum RightsEnum
  233.     { adRightNone = 0L,
  234. adRightDrop = 0x100L,
  235. adRightExclusive = 0x200L,
  236. adRightReadDesign = 0x400L,
  237. adRightWriteDesign = 0x800L,
  238. adRightWithGrant = 0x1000L,
  239. adRightReference = 0x2000L,
  240. adRightCreate = 0x4000L,
  241. adRightInsert = 0x8000L,
  242. adRightDelete = 0x10000L,
  243. adRightReadPermissions = 0x20000L,
  244. adRightWritePermissions = 0x40000L,
  245. adRightWriteOwner = 0x80000L,
  246. adRightMaximumAllowed = 0x2000000L,
  247. adRightFull = 0x10000000L,
  248. adRightExecute = 0x20000000L,
  249. adRightUpdate = 0x40000000L,
  250. adRightRead = 0x80000000L
  251.     }  RightsEnum;
  252. typedef /* [helpcontext] */ 
  253. #ifdef _ADOINT_H_  //Avoid conflicting with ADO def
  254.  class dummy dummy;
  255. #else
  256. enum DataTypeEnum
  257.     { adEmpty = 0,
  258. adTinyInt = 16,
  259. adSmallInt = 2,
  260. adInteger = 3,
  261. adBigInt = 20,
  262. adUnsignedTinyInt = 17,
  263. adUnsignedSmallInt = 18,
  264. adUnsignedInt = 19,
  265. adUnsignedBigInt = 21,
  266. adSingle = 4,
  267. adDouble = 5,
  268. adCurrency = 6,
  269. adDecimal = 14,
  270. adNumeric = 131,
  271. adBoolean = 11,
  272. adError = 10,
  273. adUserDefined = 132,
  274. adVariant = 12,
  275. adIDispatch = 9,
  276. adIUnknown = 13,
  277. adGUID = 72,
  278. adDate = 7,
  279. adDBDate = 133,
  280. adDBTime = 134,
  281. adDBTimeStamp = 135,
  282. adBSTR = 8,
  283. adChar = 129,
  284. adVarChar = 200,
  285. adLongVarChar = 201,
  286. adWChar = 130,
  287. adVarWChar = 202,
  288. adLongVarWChar = 203,
  289. adBinary = 128,
  290. adVarBinary = 204,
  291. adLongVarBinary = 205,
  292. adChapter = 136,
  293. adFileTime = 64,
  294. adPropVariant = 138,
  295. adVarNumeric = 139
  296. } DataTypeEnum;
  297. #endif //ifdef _ADOINT.H_
  298. typedef /* [helpcontext] */ 
  299. enum AllowNullsEnum
  300.     { adIndexNullsAllow = 0,
  301. adIndexNullsDisallow = 1,
  302. adIndexNullsIgnore = 2,
  303. adIndexNullsIgnoreAny = 4
  304.     }  AllowNullsEnum;
  305. typedef /* [helpcontext] */ 
  306. enum ObjectTypeEnum
  307.     { adPermObjProviderSpecific = -1,
  308. adPermObjTable = 1,
  309. adPermObjColumn = 2,
  310. adPermObjDatabase = 3,
  311. adPermObjProcedure = 4,
  312. adPermObjView = 5
  313.     }  ObjectTypeEnum;
  314. typedef /* [helpcontext] */ 
  315. enum InheritTypeEnum
  316.     { adInheritNone = 0,
  317. adInheritObjects = 1,
  318. adInheritContainers = 2,
  319. adInheritBoth = 3,
  320. adInheritNoPropogate = 4
  321.     }  InheritTypeEnum;
  322. extern RPC_IF_HANDLE __MIDL_itf_AdoCat_0000_v0_0_c_ifspec;
  323. extern RPC_IF_HANDLE __MIDL_itf_AdoCat_0000_v0_0_s_ifspec;
  324. #ifndef __ADOX_LIBRARY_DEFINED__
  325. #define __ADOX_LIBRARY_DEFINED__
  326. /* library ADOX */
  327. /* [helpstring][helpfile][version][uuid] */ 
  328. EXTERN_C const IID LIBID_ADOX;
  329. #ifndef ___ADOCollection_INTERFACE_DEFINED__
  330. #define ___ADOCollection_INTERFACE_DEFINED__
  331. /* interface _ADOADOCollection */
  332. /* [object][uuid][nonextensible][dual] */ 
  333. EXTERN_C const IID IID__ADOCollection;
  334. #if defined(__cplusplus) && !defined(CINTERFACE)
  335.     
  336.     MIDL_INTERFACE("00000512-0000-0010-8000-00AA006D2EA4")
  337.     _ADOADOCollection : public IDispatch
  338.     {
  339.     public:
  340.         virtual /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE get_Count( 
  341.             /* [retval][out] */ long *c) = 0;
  342.         
  343.         virtual /* [id][restricted] */ HRESULT STDMETHODCALLTYPE _NewEnum( 
  344.             /* [retval][out] */ IUnknown **ppvObject) = 0;
  345.         
  346.         virtual /* [helpcontext] */ HRESULT STDMETHODCALLTYPE Refresh( void) = 0;
  347.         
  348.     };
  349.     
  350. #else  /* C style interface */
  351.     typedef struct _ADOCollectionVtbl
  352.     {
  353.         BEGIN_INTERFACE
  354.         
  355.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  356.             _ADOADOCollection * This,
  357.             /* [in] */ REFIID riid,
  358.             /* [iid_is][out] */ void **ppvObject);
  359.         
  360.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  361.             _ADOADOCollection * This);
  362.         
  363.         ULONG ( STDMETHODCALLTYPE *Release )( 
  364.             _ADOADOCollection * This);
  365.         
  366.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  367.             _ADOADOCollection * This,
  368.             /* [out] */ UINT *pctinfo);
  369.         
  370.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  371.             _ADOADOCollection * This,
  372.             /* [in] */ UINT iTInfo,
  373.             /* [in] */ LCID lcid,
  374.             /* [out] */ ITypeInfo **ppTInfo);
  375.         
  376.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  377.             _ADOADOCollection * This,
  378.             /* [in] */ REFIID riid,
  379.             /* [size_is][in] */ LPOLESTR *rgszNames,
  380.             /* [in] */ UINT cNames,
  381.             /* [in] */ LCID lcid,
  382.             /* [size_is][out] */ DISPID *rgDispId);
  383.         
  384.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  385.             _ADOADOCollection * This,
  386.             /* [in] */ DISPID dispIdMember,
  387.             /* [in] */ REFIID riid,
  388.             /* [in] */ LCID lcid,
  389.             /* [in] */ WORD wFlags,
  390.             /* [out][in] */ DISPPARAMS *pDispParams,
  391.             /* [out] */ VARIANT *pVarResult,
  392.             /* [out] */ EXCEPINFO *pExcepInfo,
  393.             /* [out] */ UINT *puArgErr);
  394.         
  395.         /* [helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  396.             _ADOADOCollection * This,
  397.             /* [retval][out] */ long *c);
  398.         
  399.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE *_NewEnum )( 
  400.             _ADOADOCollection * This,
  401.             /* [retval][out] */ IUnknown **ppvObject);
  402.         
  403.         /* [helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  404.             _ADOADOCollection * This);
  405.         
  406.         END_INTERFACE
  407.     } _ADOCollectionVtbl;
  408.     interface _ADOCollection
  409.     {
  410.         CONST_VTBL struct _ADOCollectionVtbl *lpVtbl;
  411.     };
  412.     
  413. #ifdef COBJMACROS
  414. #define _ADOCollection_QueryInterface(This,riid,ppvObject)
  415.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  416. #define _ADOCollection_AddRef(This)
  417.     (This)->lpVtbl -> AddRef(This)
  418. #define _ADOCollection_Release(This)
  419.     (This)->lpVtbl -> Release(This)
  420. #define _ADOCollection_GetTypeInfoCount(This,pctinfo)
  421.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  422. #define _ADOCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  423.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  424. #define _ADOCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  425.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  426. #define _ADOCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  427.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  428. #define _Collection_get_Count(This,c)
  429.     (This)->lpVtbl -> get_Count(This,c)
  430. #define _ADOCollection__NewEnum(This,ppvObject)
  431.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  432. #define _ADOCollection_Refresh(This)
  433.     (This)->lpVtbl -> Refresh(This)
  434. #endif /* COBJMACROS */
  435. #endif  /* C style interface */
  436. /* [helpcontext][propget] */ HRESULT STDMETHODCALLTYPE _Collection_get_Count_Proxy( 
  437.     _ADOADOCollection * This,
  438.     /* [retval][out] */ long *c);
  439. void __RPC_STUB _Collection_get_Count_Stub(
  440.     IRpcStubBuffer *This,
  441.     IRpcChannelBuffer *_pRpcChannelBuffer,
  442.     PRPC_MESSAGE _pRpcMessage,
  443.     DWORD *_pdwStubPhase);
  444. /* [id][restricted] */ HRESULT STDMETHODCALLTYPE _ADOCollection__NewEnum_Proxy( 
  445.     _ADOADOCollection * This,
  446.     /* [retval][out] */ IUnknown **ppvObject);
  447. void __RPC_STUB _ADOCollection__NewEnum_Stub(
  448.     IRpcStubBuffer *This,
  449.     IRpcChannelBuffer *_pRpcChannelBuffer,
  450.     PRPC_MESSAGE _pRpcMessage,
  451.     DWORD *_pdwStubPhase);
  452. /* [helpcontext] */ HRESULT STDMETHODCALLTYPE _ADOCollection_Refresh_Proxy( 
  453.     _ADOADOCollection * This);
  454. void __RPC_STUB _ADOCollection_Refresh_Stub(
  455.     IRpcStubBuffer *This,
  456.     IRpcChannelBuffer *_pRpcChannelBuffer,
  457.     PRPC_MESSAGE _pRpcMessage,
  458.     DWORD *_pdwStubPhase);
  459. #endif  /* ___ADOCollection_INTERFACE_DEFINED__ */
  460. #ifndef ___ADODynaCollection_INTERFACE_DEFINED__
  461. #define ___ADODynaCollection_INTERFACE_DEFINED__
  462. /* interface _ADODynaADOCollection */
  463. /* [object][uuid][nonextensible][dual] */ 
  464. EXTERN_C const IID IID__ADODynaCollection;
  465. #if defined(__cplusplus) && !defined(CINTERFACE)
  466.     
  467.     MIDL_INTERFACE("00000513-0000-0010-8000-00AA006D2EA4")
  468. _ADODynaADOCollection : public _ADOCollection
  469.     {
  470.     public:
  471.         virtual HRESULT STDMETHODCALLTYPE Append( 
  472.             /* [in] */ IDispatch *Object) = 0;
  473.         
  474.         virtual HRESULT STDMETHODCALLTYPE Delete( 
  475.             /* [in] */ VARIANT Item) = 0;
  476.         
  477.     };
  478.     
  479. #else  /* C style interface */
  480.     typedef struct _ADODynaCollectionVtbl
  481.     {
  482.         BEGIN_INTERFACE
  483.         
  484.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  485.             _ADODynaADOCollection * This,
  486.             /* [in] */ REFIID riid,
  487.             /* [iid_is][out] */ void **ppvObject);
  488.         
  489.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  490.             _ADODynaADOCollection * This);
  491.         
  492.         ULONG ( STDMETHODCALLTYPE *Release )( 
  493.             _ADODynaADOCollection * This);
  494.         
  495.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  496.             _ADODynaADOCollection * This,
  497.             /* [out] */ UINT *pctinfo);
  498.         
  499.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  500.             _ADODynaADOCollection * This,
  501.             /* [in] */ UINT iTInfo,
  502.             /* [in] */ LCID lcid,
  503.             /* [out] */ ITypeInfo **ppTInfo);
  504.         
  505.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  506.             _ADODynaADOCollection * This,
  507.             /* [in] */ REFIID riid,
  508.             /* [size_is][in] */ LPOLESTR *rgszNames,
  509.             /* [in] */ UINT cNames,
  510.             /* [in] */ LCID lcid,
  511.             /* [size_is][out] */ DISPID *rgDispId);
  512.         
  513.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  514.             _ADODynaADOCollection * This,
  515.             /* [in] */ DISPID dispIdMember,
  516.             /* [in] */ REFIID riid,
  517.             /* [in] */ LCID lcid,
  518.             /* [in] */ WORD wFlags,
  519.             /* [out][in] */ DISPPARAMS *pDispParams,
  520.             /* [out] */ VARIANT *pVarResult,
  521.             /* [out] */ EXCEPINFO *pExcepInfo,
  522.             /* [out] */ UINT *puArgErr);
  523.         
  524.         /* [helpcontext][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Count )( 
  525.             _ADODynaADOCollection * This,
  526.             /* [retval][out] */ long *c);
  527.         
  528.         /* [id][restricted] */ HRESULT ( STDMETHODCALLTYPE *_NewEnum )( 
  529.             _ADODynaADOCollection * This,
  530.             /* [retval][out] */ IUnknown **ppvObject);
  531.         
  532.         /* [helpcontext] */ HRESULT ( STDMETHODCALLTYPE *Refresh )( 
  533.             _ADODynaADOCollection * This);
  534.         
  535.         HRESULT ( STDMETHODCALLTYPE *Append )( 
  536.             _ADODynaADOCollection * This,
  537.             /* [in] */ IDispatch *Object);
  538.         
  539.         HRESULT ( STDMETHODCALLTYPE *Delete )( 
  540.             _ADODynaADOCollection * This,
  541.             /* [in] */ VARIANT Item);
  542.         
  543.         END_INTERFACE
  544.     } _ADODynaCollectionVtbl;
  545.     interface _ADODynaCollection
  546.     {
  547.         CONST_VTBL struct _ADODynaCollectionVtbl *lpVtbl;
  548.     };
  549.     
  550. #ifdef COBJMACROS
  551. #define _ADODynaCollection_QueryInterface(This,riid,ppvObject)
  552.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  553. #define _ADODynaCollection_AddRef(This)
  554.     (This)->lpVtbl -> AddRef(This)
  555. #define _ADODynaCollection_Release(This)
  556.     (This)->lpVtbl -> Release(This)
  557. #define _ADODynaCollection_GetTypeInfoCount(This,pctinfo)
  558.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  559. #define _ADODynaCollection_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  560.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  561. #define _ADODynaCollection_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  562.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  563. #define _ADODynaCollection_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  564.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  565. #define _DynaCollection_get_Count(This,c)
  566.     (This)->lpVtbl -> get_Count(This,c)
  567. #define _ADODynaCollection__NewEnum(This,ppvObject)
  568.     (This)->lpVtbl -> _NewEnum(This,ppvObject)
  569. #define _ADODynaCollection_Refresh(This)
  570.     (This)->lpVtbl -> Refresh(This)
  571. #define _ADODynaCollection_Append(This,Object)
  572.     (This)->lpVtbl -> Append(This,Object)
  573. #define _ADODynaCollection_Delete(This,Item)
  574.     (This)->lpVtbl -> Delete(This,Item)
  575. #endif /* COBJMACROS */
  576. #endif  /* C style interface */
  577. HRESULT STDMETHODCALLTYPE _ADODynaCollection_Append_Proxy( 
  578.     _ADODynaADOCollection * This,
  579.     /* [in] */ IDispatch *Object);
  580. void __RPC_STUB _ADODynaCollection_Append_Stub(
  581.     IRpcStubBuffer *This,
  582.     IRpcChannelBuffer *_pRpcChannelBuffer,
  583.     PRPC_MESSAGE _pRpcMessage,
  584.     DWORD *_pdwStubPhase);
  585. HRESULT STDMETHODCALLTYPE _ADODynaCollection_Delete_Proxy( 
  586.     _ADODynaADOCollection * This,
  587.     /* [in] */ VARIANT Item);
  588. void __RPC_STUB _ADODynaCollection_Delete_Stub(
  589.     IRpcStubBuffer *This,
  590.     IRpcChannelBuffer *_pRpcChannelBuffer,
  591.     PRPC_MESSAGE _pRpcMessage,
  592.     DWORD *_pdwStubPhase);
  593. #endif  /* ___ADODynaCollection_INTERFACE_DEFINED__ */
  594. #ifndef ___Catalog_INTERFACE_DEFINED__
  595. #define ___Catalog_INTERFACE_DEFINED__
  596. /* interface _ADOCatalog */
  597. /* [helpcontext][unique][dual][uuid][nonextensible][object] */ 
  598. EXTERN_C const IID IID__Catalog;
  599. #if defined(__cplusplus) && !defined(CINTERFACE)
  600.     
  601.     MIDL_INTERFACE("00000603-0000-0010-8000-00AA006D2EA4")
  602.     _ADOCatalog : public IDispatch
  603.     {
  604.     public:
  605.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Tables( 
  606.             /* [retval][out] */ ADOTables **ppvObject) = 0;
  607.         
  608.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ActiveConnection( 
  609.             /* [retval][out] */ VARIANT *pVal) = 0;
  610.         
  611.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ActiveConnection( 
  612.             /* [in] */ VARIANT newVal) = 0;
  613.         
  614.         virtual /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ActiveConnection( 
  615.             /* [in] */ IDispatch *pCon) = 0;
  616.         
  617.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Procedures( 
  618.             /* [retval][out] */ ADOProcedures **ppvObject) = 0;
  619.         
  620.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Views( 
  621.             /* [retval][out] */ ADOViews **ppvObject) = 0;
  622.         
  623.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Groups( 
  624.             /* [retval][out] */ ADOGroups **ppvObject) = 0;
  625.         
  626.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Users( 
  627.             /* [retval][out] */ ADOUsers **ppvObject) = 0;
  628.         
  629.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE Create( 
  630.             /* [in] */ BSTR ConnectString,
  631.             /* [retval][out] */ VARIANT *Connection) = 0;
  632.         
  633.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetObjectOwner( 
  634.             /* [in] */ BSTR ObjectName,
  635.             /* [in] */ ObjectTypeEnum ObjectType,
  636.             /* [optional][in] */ VARIANT ObjectTypeId,
  637.             /* [retval][out] */ BSTR *OwnerName) = 0;
  638.         
  639.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetObjectOwner( 
  640.             /* [in] */ BSTR ObjectName,
  641.             /* [in] */ ObjectTypeEnum ObjectType,
  642.             /* [in] */ BSTR UserName,
  643.             /* [optional][in] */ VARIANT ObjectTypeId) = 0;
  644.         
  645.     };
  646.     
  647. #else  /* C style interface */
  648.     typedef struct _CatalogVtbl
  649.     {
  650.         BEGIN_INTERFACE
  651.         
  652.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  653.             _ADOCatalog * This,
  654.             /* [in] */ REFIID riid,
  655.             /* [iid_is][out] */ void **ppvObject);
  656.         
  657.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  658.             _ADOCatalog * This);
  659.         
  660.         ULONG ( STDMETHODCALLTYPE *Release )( 
  661.             _ADOCatalog * This);
  662.         
  663.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  664.             _ADOCatalog * This,
  665.             /* [out] */ UINT *pctinfo);
  666.         
  667.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  668.             _ADOCatalog * This,
  669.             /* [in] */ UINT iTInfo,
  670.             /* [in] */ LCID lcid,
  671.             /* [out] */ ITypeInfo **ppTInfo);
  672.         
  673.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  674.             _ADOCatalog * This,
  675.             /* [in] */ REFIID riid,
  676.             /* [size_is][in] */ LPOLESTR *rgszNames,
  677.             /* [in] */ UINT cNames,
  678.             /* [in] */ LCID lcid,
  679.             /* [size_is][out] */ DISPID *rgDispId);
  680.         
  681.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  682.             _ADOCatalog * This,
  683.             /* [in] */ DISPID dispIdMember,
  684.             /* [in] */ REFIID riid,
  685.             /* [in] */ LCID lcid,
  686.             /* [in] */ WORD wFlags,
  687.             /* [out][in] */ DISPPARAMS *pDispParams,
  688.             /* [out] */ VARIANT *pVarResult,
  689.             /* [out] */ EXCEPINFO *pExcepInfo,
  690.             /* [out] */ UINT *puArgErr);
  691.         
  692.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tables )( 
  693.             _ADOCatalog * This,
  694.             /* [retval][out] */ ADOTables **ppvObject);
  695.         
  696.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ActiveConnection )( 
  697.             _ADOCatalog * This,
  698.             /* [retval][out] */ VARIANT *pVal);
  699.         
  700.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ActiveConnection )( 
  701.             _ADOCatalog * This,
  702.             /* [in] */ VARIANT newVal);
  703.         
  704.         /* [helpcontext][id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_ActiveConnection )( 
  705.             _ADOCatalog * This,
  706.             /* [in] */ IDispatch *pCon);
  707.         
  708.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Procedures )( 
  709.             _ADOCatalog * This,
  710.             /* [retval][out] */ ADOProcedures **ppvObject);
  711.         
  712.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Views )( 
  713.             _ADOCatalog * This,
  714.             /* [retval][out] */ ADOViews **ppvObject);
  715.         
  716.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Groups )( 
  717.             _ADOCatalog * This,
  718.             /* [retval][out] */ ADOGroups **ppvObject);
  719.         
  720.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Users )( 
  721.             _ADOCatalog * This,
  722.             /* [retval][out] */ ADOUsers **ppvObject);
  723.         
  724.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *Create )( 
  725.             _ADOCatalog * This,
  726.             /* [in] */ BSTR ConnectString,
  727.             /* [retval][out] */ VARIANT *Connection);
  728.         
  729.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetObjectOwner )( 
  730.             _ADOCatalog * This,
  731.             /* [in] */ BSTR ObjectName,
  732.             /* [in] */ ObjectTypeEnum ObjectType,
  733.             /* [optional][in] */ VARIANT ObjectTypeId,
  734.             /* [retval][out] */ BSTR *OwnerName);
  735.         
  736.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetObjectOwner )( 
  737.             _ADOCatalog * This,
  738.             /* [in] */ BSTR ObjectName,
  739.             /* [in] */ ObjectTypeEnum ObjectType,
  740.             /* [in] */ BSTR UserName,
  741.             /* [optional][in] */ VARIANT ObjectTypeId);
  742.         
  743.         END_INTERFACE
  744.     } _CatalogVtbl;
  745.     interface _Catalog
  746.     {
  747.         CONST_VTBL struct _CatalogVtbl *lpVtbl;
  748.     };
  749.     
  750. #ifdef COBJMACROS
  751. #define _Catalog_QueryInterface(This,riid,ppvObject)
  752.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  753. #define _Catalog_AddRef(This)
  754.     (This)->lpVtbl -> AddRef(This)
  755. #define _Catalog_Release(This)
  756.     (This)->lpVtbl -> Release(This)
  757. #define _Catalog_GetTypeInfoCount(This,pctinfo)
  758.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  759. #define _Catalog_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  760.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  761. #define _Catalog_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  762.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  763. #define _Catalog_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  764.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  765. #define _Catalog_get_Tables(This,ppvObject)
  766.     (This)->lpVtbl -> get_Tables(This,ppvObject)
  767. #define _Catalog_get_ActiveConnection(This,pVal)
  768.     (This)->lpVtbl -> get_ActiveConnection(This,pVal)
  769. #define _Catalog_put_ActiveConnection(This,newVal)
  770.     (This)->lpVtbl -> put_ActiveConnection(This,newVal)
  771. #define _Catalog_putref_ActiveConnection(This,pCon)
  772.     (This)->lpVtbl -> putref_ActiveConnection(This,pCon)
  773. #define _Catalog_get_Procedures(This,ppvObject)
  774.     (This)->lpVtbl -> get_Procedures(This,ppvObject)
  775. #define _Catalog_get_Views(This,ppvObject)
  776.     (This)->lpVtbl -> get_Views(This,ppvObject)
  777. #define _Catalog_get_Groups(This,ppvObject)
  778.     (This)->lpVtbl -> get_Groups(This,ppvObject)
  779. #define _Catalog_get_Users(This,ppvObject)
  780.     (This)->lpVtbl -> get_Users(This,ppvObject)
  781. #define _Catalog_Create(This,ConnectString,Connection)
  782.     (This)->lpVtbl -> Create(This,ConnectString,Connection)
  783. #define _Catalog_GetObjectOwner(This,ObjectName,ObjectType,ObjectTypeId,OwnerName)
  784.     (This)->lpVtbl -> GetObjectOwner(This,ObjectName,ObjectType,ObjectTypeId,OwnerName)
  785. #define _Catalog_SetObjectOwner(This,ObjectName,ObjectType,UserName,ObjectTypeId)
  786.     (This)->lpVtbl -> SetObjectOwner(This,ObjectName,ObjectType,UserName,ObjectTypeId)
  787. #endif /* COBJMACROS */
  788. #endif  /* C style interface */
  789. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Catalog_get_Tables_Proxy( 
  790.     _ADOCatalog * This,
  791.     /* [retval][out] */ ADOTables **ppvObject);
  792. void __RPC_STUB _Catalog_get_Tables_Stub(
  793.     IRpcStubBuffer *This,
  794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  795.     PRPC_MESSAGE _pRpcMessage,
  796.     DWORD *_pdwStubPhase);
  797. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Catalog_get_ActiveConnection_Proxy( 
  798.     _ADOCatalog * This,
  799.     /* [retval][out] */ VARIANT *pVal);
  800. void __RPC_STUB _Catalog_get_ActiveConnection_Stub(
  801.     IRpcStubBuffer *This,
  802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  803.     PRPC_MESSAGE _pRpcMessage,
  804.     DWORD *_pdwStubPhase);
  805. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Catalog_put_ActiveConnection_Proxy( 
  806.     _ADOCatalog * This,
  807.     /* [in] */ VARIANT newVal);
  808. void __RPC_STUB _Catalog_put_ActiveConnection_Stub(
  809.     IRpcStubBuffer *This,
  810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  811.     PRPC_MESSAGE _pRpcMessage,
  812.     DWORD *_pdwStubPhase);
  813. /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE _Catalog_putref_ActiveConnection_Proxy( 
  814.     _ADOCatalog * This,
  815.     /* [in] */ IDispatch *pCon);
  816. void __RPC_STUB _Catalog_putref_ActiveConnection_Stub(
  817.     IRpcStubBuffer *This,
  818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  819.     PRPC_MESSAGE _pRpcMessage,
  820.     DWORD *_pdwStubPhase);
  821. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Catalog_get_Procedures_Proxy( 
  822.     _ADOCatalog * This,
  823.     /* [retval][out] */ ADOProcedures **ppvObject);
  824. void __RPC_STUB _Catalog_get_Procedures_Stub(
  825.     IRpcStubBuffer *This,
  826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  827.     PRPC_MESSAGE _pRpcMessage,
  828.     DWORD *_pdwStubPhase);
  829. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Catalog_get_Views_Proxy( 
  830.     _ADOCatalog * This,
  831.     /* [retval][out] */ ADOViews **ppvObject);
  832. void __RPC_STUB _Catalog_get_Views_Stub(
  833.     IRpcStubBuffer *This,
  834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  835.     PRPC_MESSAGE _pRpcMessage,
  836.     DWORD *_pdwStubPhase);
  837. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Catalog_get_Groups_Proxy( 
  838.     _ADOCatalog * This,
  839.     /* [retval][out] */ ADOGroups **ppvObject);
  840. void __RPC_STUB _Catalog_get_Groups_Stub(
  841.     IRpcStubBuffer *This,
  842.     IRpcChannelBuffer *_pRpcChannelBuffer,
  843.     PRPC_MESSAGE _pRpcMessage,
  844.     DWORD *_pdwStubPhase);
  845. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Catalog_get_Users_Proxy( 
  846.     _ADOCatalog * This,
  847.     /* [retval][out] */ ADOUsers **ppvObject);
  848. void __RPC_STUB _Catalog_get_Users_Stub(
  849.     IRpcStubBuffer *This,
  850.     IRpcChannelBuffer *_pRpcChannelBuffer,
  851.     PRPC_MESSAGE _pRpcMessage,
  852.     DWORD *_pdwStubPhase);
  853. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Catalog_Create_Proxy( 
  854.     _ADOCatalog * This,
  855.     /* [in] */ BSTR ConnectString,
  856.     /* [retval][out] */ VARIANT *Connection);
  857. void __RPC_STUB _Catalog_Create_Stub(
  858.     IRpcStubBuffer *This,
  859.     IRpcChannelBuffer *_pRpcChannelBuffer,
  860.     PRPC_MESSAGE _pRpcMessage,
  861.     DWORD *_pdwStubPhase);
  862. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Catalog_GetObjectOwner_Proxy( 
  863.     _ADOCatalog * This,
  864.     /* [in] */ BSTR ObjectName,
  865.     /* [in] */ ObjectTypeEnum ObjectType,
  866.     /* [optional][in] */ VARIANT ObjectTypeId,
  867.     /* [retval][out] */ BSTR *OwnerName);
  868. void __RPC_STUB _Catalog_GetObjectOwner_Stub(
  869.     IRpcStubBuffer *This,
  870.     IRpcChannelBuffer *_pRpcChannelBuffer,
  871.     PRPC_MESSAGE _pRpcMessage,
  872.     DWORD *_pdwStubPhase);
  873. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Catalog_SetObjectOwner_Proxy( 
  874.     _ADOCatalog * This,
  875.     /* [in] */ BSTR ObjectName,
  876.     /* [in] */ ObjectTypeEnum ObjectType,
  877.     /* [in] */ BSTR UserName,
  878.     /* [optional][in] */ VARIANT ObjectTypeId);
  879. void __RPC_STUB _Catalog_SetObjectOwner_Stub(
  880.     IRpcStubBuffer *This,
  881.     IRpcChannelBuffer *_pRpcChannelBuffer,
  882.     PRPC_MESSAGE _pRpcMessage,
  883.     DWORD *_pdwStubPhase);
  884. #endif  /* ___Catalog_INTERFACE_DEFINED__ */
  885. #ifndef ___Table_INTERFACE_DEFINED__
  886. #define ___Table_INTERFACE_DEFINED__
  887. /* interface _ADOTable */
  888. /* [helpcontext][unique][dual][uuid][nonextensible][object] */ 
  889. EXTERN_C const IID IID__Table;
  890. #if defined(__cplusplus) && !defined(CINTERFACE)
  891.     
  892.     MIDL_INTERFACE("00000610-0000-0010-8000-00AA006D2EA4")
  893.     _ADOTable : public IDispatch
  894.     {
  895.     public:
  896.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Columns( 
  897.             /* [retval][out] */ ADOColumns **ppvObject) = 0;
  898.         
  899.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  900.             /* [retval][out] */ BSTR *pVal) = 0;
  901.         
  902.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  903.             /* [in] */ BSTR newVal) = 0;
  904.         
  905.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  906.             /* [retval][out] */ BSTR *pVal) = 0;
  907.         
  908.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Indexes( 
  909.             /* [retval][out] */ ADOIndexes **ppvObject) = 0;
  910.         
  911.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Keys( 
  912.             /* [retval][out] */ ADOKeys **ppvObject) = 0;
  913.         
  914.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  915.             /* [retval][out] */ ADOProperties **ppvObject) = 0;
  916.         
  917.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateCreated( 
  918.             /* [retval][out] */ VARIANT *pVal) = 0;
  919.         
  920.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DateModified( 
  921.             /* [retval][out] */ VARIANT *pVal) = 0;
  922.         
  923.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentCatalog( 
  924.             /* [retval][out] */ _ADOCatalog **ppvObject) = 0;
  925.         
  926.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentCatalog( 
  927.             /* [in] */ _ADOCatalog *ppvObject) = 0;
  928.         
  929.         virtual /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ParentCatalog( 
  930.             /* [in] */ _ADOCatalog *ppvObject) = 0;
  931.         
  932.     };
  933.     
  934. #else  /* C style interface */
  935.     typedef struct _TableVtbl
  936.     {
  937.         BEGIN_INTERFACE
  938.         
  939.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  940.             _ADOTable * This,
  941.             /* [in] */ REFIID riid,
  942.             /* [iid_is][out] */ void **ppvObject);
  943.         
  944.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  945.             _ADOTable * This);
  946.         
  947.         ULONG ( STDMETHODCALLTYPE *Release )( 
  948.             _ADOTable * This);
  949.         
  950.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  951.             _ADOTable * This,
  952.             /* [out] */ UINT *pctinfo);
  953.         
  954.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  955.             _ADOTable * This,
  956.             /* [in] */ UINT iTInfo,
  957.             /* [in] */ LCID lcid,
  958.             /* [out] */ ITypeInfo **ppTInfo);
  959.         
  960.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  961.             _ADOTable * This,
  962.             /* [in] */ REFIID riid,
  963.             /* [size_is][in] */ LPOLESTR *rgszNames,
  964.             /* [in] */ UINT cNames,
  965.             /* [in] */ LCID lcid,
  966.             /* [size_is][out] */ DISPID *rgDispId);
  967.         
  968.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  969.             _ADOTable * This,
  970.             /* [in] */ DISPID dispIdMember,
  971.             /* [in] */ REFIID riid,
  972.             /* [in] */ LCID lcid,
  973.             /* [in] */ WORD wFlags,
  974.             /* [out][in] */ DISPPARAMS *pDispParams,
  975.             /* [out] */ VARIANT *pVarResult,
  976.             /* [out] */ EXCEPINFO *pExcepInfo,
  977.             /* [out] */ UINT *puArgErr);
  978.         
  979.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Columns )( 
  980.             _ADOTable * This,
  981.             /* [retval][out] */ ADOColumns **ppvObject);
  982.         
  983.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  984.             _ADOTable * This,
  985.             /* [retval][out] */ BSTR *pVal);
  986.         
  987.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  988.             _ADOTable * This,
  989.             /* [in] */ BSTR newVal);
  990.         
  991.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  992.             _ADOTable * This,
  993.             /* [retval][out] */ BSTR *pVal);
  994.         
  995.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Indexes )( 
  996.             _ADOTable * This,
  997.             /* [retval][out] */ ADOIndexes **ppvObject);
  998.         
  999.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Keys )( 
  1000.             _ADOTable * This,
  1001.             /* [retval][out] */ ADOKeys **ppvObject);
  1002.         
  1003.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  1004.             _ADOTable * This,
  1005.             /* [retval][out] */ ADOProperties **ppvObject);
  1006.         
  1007.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateCreated )( 
  1008.             _ADOTable * This,
  1009.             /* [retval][out] */ VARIANT *pVal);
  1010.         
  1011.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DateModified )( 
  1012.             _ADOTable * This,
  1013.             /* [retval][out] */ VARIANT *pVal);
  1014.         
  1015.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentCatalog )( 
  1016.             _ADOTable * This,
  1017.             /* [retval][out] */ _ADOCatalog **ppvObject);
  1018.         
  1019.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentCatalog )( 
  1020.             _ADOTable * This,
  1021.             /* [in] */ _ADOCatalog *ppvObject);
  1022.         
  1023.         /* [helpcontext][id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_ParentADOCatalog )( 
  1024.             _ADOTable * This,
  1025.             /* [in] */ _ADOCatalog *ppvObject);
  1026.         
  1027.         END_INTERFACE
  1028.     } _TableVtbl;
  1029.     interface _Table
  1030.     {
  1031.         CONST_VTBL struct _TableVtbl *lpVtbl;
  1032.     };
  1033.     
  1034. #ifdef COBJMACROS
  1035. #define _Table_QueryInterface(This,riid,ppvObject)
  1036.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1037. #define _Table_AddRef(This)
  1038.     (This)->lpVtbl -> AddRef(This)
  1039. #define _Table_Release(This)
  1040.     (This)->lpVtbl -> Release(This)
  1041. #define _Table_GetTypeInfoCount(This,pctinfo)
  1042.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1043. #define _Table_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1044.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1045. #define _Table_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1046.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1047. #define _Table_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1048.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1049. #define _Table_get_Columns(This,ppvObject)
  1050.     (This)->lpVtbl -> get_Columns(This,ppvObject)
  1051. #define _Table_get_Name(This,pVal)
  1052.     (This)->lpVtbl -> get_Name(This,pVal)
  1053. #define _Table_put_Name(This,newVal)
  1054.     (This)->lpVtbl -> put_Name(This,newVal)
  1055. #define _Table_get_Type(This,pVal)
  1056.     (This)->lpVtbl -> get_Type(This,pVal)
  1057. #define _Table_get_Indexes(This,ppvObject)
  1058.     (This)->lpVtbl -> get_Indexes(This,ppvObject)
  1059. #define _Table_get_Keys(This,ppvObject)
  1060.     (This)->lpVtbl -> get_Keys(This,ppvObject)
  1061. #define _Table_get_Properties(This,ppvObject)
  1062.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1063. #define _Table_get_DateCreated(This,pVal)
  1064.     (This)->lpVtbl -> get_DateCreated(This,pVal)
  1065. #define _Table_get_DateModified(This,pVal)
  1066.     (This)->lpVtbl -> get_DateModified(This,pVal)
  1067. #define _Table_get_ParentCatalog(This,ppvObject)
  1068.     (This)->lpVtbl -> get_ParentCatalog(This,ppvObject)
  1069. #define _Table_put_ParentCatalog(This,ppvObject)
  1070.     (This)->lpVtbl -> put_ParentCatalog(This,ppvObject)
  1071. #define _Table_putref_ParentCatalog(This,ppvObject)
  1072.     (This)->lpVtbl -> putref_ParentCatalog(This,ppvObject)
  1073. #endif /* COBJMACROS */
  1074. #endif  /* C style interface */
  1075. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_Columns_Proxy( 
  1076.     _ADOTable * This,
  1077.     /* [retval][out] */ ADOColumns **ppvObject);
  1078. void __RPC_STUB _Table_get_Columns_Stub(
  1079.     IRpcStubBuffer *This,
  1080.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1081.     PRPC_MESSAGE _pRpcMessage,
  1082.     DWORD *_pdwStubPhase);
  1083. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_Name_Proxy( 
  1084.     _ADOTable * This,
  1085.     /* [retval][out] */ BSTR *pVal);
  1086. void __RPC_STUB _Table_get_Name_Stub(
  1087.     IRpcStubBuffer *This,
  1088.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1089.     PRPC_MESSAGE _pRpcMessage,
  1090.     DWORD *_pdwStubPhase);
  1091. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Table_put_Name_Proxy( 
  1092.     _ADOTable * This,
  1093.     /* [in] */ BSTR newVal);
  1094. void __RPC_STUB _Table_put_Name_Stub(
  1095.     IRpcStubBuffer *This,
  1096.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1097.     PRPC_MESSAGE _pRpcMessage,
  1098.     DWORD *_pdwStubPhase);
  1099. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_Type_Proxy( 
  1100.     _ADOTable * This,
  1101.     /* [retval][out] */ BSTR *pVal);
  1102. void __RPC_STUB _Table_get_Type_Stub(
  1103.     IRpcStubBuffer *This,
  1104.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1105.     PRPC_MESSAGE _pRpcMessage,
  1106.     DWORD *_pdwStubPhase);
  1107. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_Indexes_Proxy( 
  1108.     _ADOTable * This,
  1109.     /* [retval][out] */ ADOIndexes **ppvObject);
  1110. void __RPC_STUB _Table_get_Indexes_Stub(
  1111.     IRpcStubBuffer *This,
  1112.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1113.     PRPC_MESSAGE _pRpcMessage,
  1114.     DWORD *_pdwStubPhase);
  1115. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_Keys_Proxy( 
  1116.     _ADOTable * This,
  1117.     /* [retval][out] */ ADOKeys **ppvObject);
  1118. void __RPC_STUB _Table_get_Keys_Stub(
  1119.     IRpcStubBuffer *This,
  1120.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1121.     PRPC_MESSAGE _pRpcMessage,
  1122.     DWORD *_pdwStubPhase);
  1123. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_Properties_Proxy( 
  1124.     _ADOTable * This,
  1125.     /* [retval][out] */ ADOProperties **ppvObject);
  1126. void __RPC_STUB _Table_get_Properties_Stub(
  1127.     IRpcStubBuffer *This,
  1128.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1129.     PRPC_MESSAGE _pRpcMessage,
  1130.     DWORD *_pdwStubPhase);
  1131. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_DateCreated_Proxy( 
  1132.     _ADOTable * This,
  1133.     /* [retval][out] */ VARIANT *pVal);
  1134. void __RPC_STUB _Table_get_DateCreated_Stub(
  1135.     IRpcStubBuffer *This,
  1136.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1137.     PRPC_MESSAGE _pRpcMessage,
  1138.     DWORD *_pdwStubPhase);
  1139. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_DateModified_Proxy( 
  1140.     _ADOTable * This,
  1141.     /* [retval][out] */ VARIANT *pVal);
  1142. void __RPC_STUB _Table_get_DateModified_Stub(
  1143.     IRpcStubBuffer *This,
  1144.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1145.     PRPC_MESSAGE _pRpcMessage,
  1146.     DWORD *_pdwStubPhase);
  1147. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Table_get_ParentCatalog_Proxy( 
  1148.     _ADOTable * This,
  1149.     /* [retval][out] */ _ADOCatalog **ppvObject);
  1150. void __RPC_STUB _Table_get_ParentCatalog_Stub(
  1151.     IRpcStubBuffer *This,
  1152.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1153.     PRPC_MESSAGE _pRpcMessage,
  1154.     DWORD *_pdwStubPhase);
  1155. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Table_put_ParentCatalog_Proxy( 
  1156.     _ADOTable * This,
  1157.     /* [in] */ _ADOCatalog *ppvObject);
  1158. void __RPC_STUB _Table_put_ParentCatalog_Stub(
  1159.     IRpcStubBuffer *This,
  1160.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1161.     PRPC_MESSAGE _pRpcMessage,
  1162.     DWORD *_pdwStubPhase);
  1163. /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE _Table_putref_ParentCatalog_Proxy( 
  1164.     _ADOTable * This,
  1165.     /* [in] */ _ADOCatalog *ppvObject);
  1166. void __RPC_STUB _Table_putref_ParentCatalog_Stub(
  1167.     IRpcStubBuffer *This,
  1168.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1169.     PRPC_MESSAGE _pRpcMessage,
  1170.     DWORD *_pdwStubPhase);
  1171. #endif  /* ___Table_INTERFACE_DEFINED__ */
  1172. #ifndef ___Group25_INTERFACE_DEFINED__
  1173. #define ___Group25_INTERFACE_DEFINED__
  1174. /* interface _Group25 */
  1175. /* [helpcontext][unique][dual][uuid][hidden][nonextensible][object] */ 
  1176. EXTERN_C const IID IID__Group25;
  1177. #if defined(__cplusplus) && !defined(CINTERFACE)
  1178.     
  1179.     MIDL_INTERFACE("00000616-0000-0010-8000-00AA006D2EA4")
  1180.     _Group25 : public IDispatch
  1181.     {
  1182.     public:
  1183.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1184.             /* [retval][out] */ BSTR *pVal) = 0;
  1185.         
  1186.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  1187.             /* [in] */ BSTR newVal) = 0;
  1188.         
  1189.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetPermissions( 
  1190.             /* [in] */ VARIANT Name,
  1191.             /* [in] */ ObjectTypeEnum ObjectType,
  1192.             /* [optional][in] */ VARIANT ObjectTypeId,
  1193.             /* [retval][out] */ RightsEnum *Rights) = 0;
  1194.         
  1195.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetPermissions( 
  1196.             /* [in] */ VARIANT Name,
  1197.             /* [in] */ ObjectTypeEnum ObjectType,
  1198.             /* [in] */ ActionEnum Action,
  1199.             /* [in] */ RightsEnum Rights,
  1200.             /* [defaultvalue][in] */ InheritTypeEnum Inherit,
  1201.             /* [optional][in] */ VARIANT ObjectTypeId) = 0;
  1202.         
  1203.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Users( 
  1204.             /* [retval][out] */ ADOUsers **ppvObject) = 0;
  1205.         
  1206.     };
  1207.     
  1208. #else  /* C style interface */
  1209.     typedef struct _Group25Vtbl
  1210.     {
  1211.         BEGIN_INTERFACE
  1212.         
  1213.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1214.             _Group25 * This,
  1215.             /* [in] */ REFIID riid,
  1216.             /* [iid_is][out] */ void **ppvObject);
  1217.         
  1218.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1219.             _Group25 * This);
  1220.         
  1221.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1222.             _Group25 * This);
  1223.         
  1224.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1225.             _Group25 * This,
  1226.             /* [out] */ UINT *pctinfo);
  1227.         
  1228.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1229.             _Group25 * This,
  1230.             /* [in] */ UINT iTInfo,
  1231.             /* [in] */ LCID lcid,
  1232.             /* [out] */ ITypeInfo **ppTInfo);
  1233.         
  1234.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1235.             _Group25 * This,
  1236.             /* [in] */ REFIID riid,
  1237.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1238.             /* [in] */ UINT cNames,
  1239.             /* [in] */ LCID lcid,
  1240.             /* [size_is][out] */ DISPID *rgDispId);
  1241.         
  1242.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1243.             _Group25 * This,
  1244.             /* [in] */ DISPID dispIdMember,
  1245.             /* [in] */ REFIID riid,
  1246.             /* [in] */ LCID lcid,
  1247.             /* [in] */ WORD wFlags,
  1248.             /* [out][in] */ DISPPARAMS *pDispParams,
  1249.             /* [out] */ VARIANT *pVarResult,
  1250.             /* [out] */ EXCEPINFO *pExcepInfo,
  1251.             /* [out] */ UINT *puArgErr);
  1252.         
  1253.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1254.             _Group25 * This,
  1255.             /* [retval][out] */ BSTR *pVal);
  1256.         
  1257.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  1258.             _Group25 * This,
  1259.             /* [in] */ BSTR newVal);
  1260.         
  1261.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPermissions )( 
  1262.             _Group25 * This,
  1263.             /* [in] */ VARIANT Name,
  1264.             /* [in] */ ObjectTypeEnum ObjectType,
  1265.             /* [optional][in] */ VARIANT ObjectTypeId,
  1266.             /* [retval][out] */ RightsEnum *Rights);
  1267.         
  1268.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetPermissions )( 
  1269.             _Group25 * This,
  1270.             /* [in] */ VARIANT Name,
  1271.             /* [in] */ ObjectTypeEnum ObjectType,
  1272.             /* [in] */ ActionEnum Action,
  1273.             /* [in] */ RightsEnum Rights,
  1274.             /* [defaultvalue][in] */ InheritTypeEnum Inherit,
  1275.             /* [optional][in] */ VARIANT ObjectTypeId);
  1276.         
  1277.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Users )( 
  1278.             _Group25 * This,
  1279.             /* [retval][out] */ ADOUsers **ppvObject);
  1280.         
  1281.         END_INTERFACE
  1282.     } _Group25Vtbl;
  1283.     interface _Group25
  1284.     {
  1285.         CONST_VTBL struct _Group25Vtbl *lpVtbl;
  1286.     };
  1287.     
  1288. #ifdef COBJMACROS
  1289. #define _Group25_QueryInterface(This,riid,ppvObject)
  1290.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1291. #define _Group25_AddRef(This)
  1292.     (This)->lpVtbl -> AddRef(This)
  1293. #define _Group25_Release(This)
  1294.     (This)->lpVtbl -> Release(This)
  1295. #define _Group25_GetTypeInfoCount(This,pctinfo)
  1296.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1297. #define _Group25_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1298.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1299. #define _Group25_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1300.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1301. #define _Group25_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1302.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1303. #define _Group25_get_Name(This,pVal)
  1304.     (This)->lpVtbl -> get_Name(This,pVal)
  1305. #define _Group25_put_Name(This,newVal)
  1306.     (This)->lpVtbl -> put_Name(This,newVal)
  1307. #define _Group25_GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
  1308.     (This)->lpVtbl -> GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
  1309. #define _Group25_SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
  1310.     (This)->lpVtbl -> SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
  1311. #define _Group25_get_Users(This,ppvObject)
  1312.     (This)->lpVtbl -> get_Users(This,ppvObject)
  1313. #endif /* COBJMACROS */
  1314. #endif  /* C style interface */
  1315. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Group25_get_Name_Proxy( 
  1316.     _Group25 * This,
  1317.     /* [retval][out] */ BSTR *pVal);
  1318. void __RPC_STUB _Group25_get_Name_Stub(
  1319.     IRpcStubBuffer *This,
  1320.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1321.     PRPC_MESSAGE _pRpcMessage,
  1322.     DWORD *_pdwStubPhase);
  1323. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Group25_put_Name_Proxy( 
  1324.     _Group25 * This,
  1325.     /* [in] */ BSTR newVal);
  1326. void __RPC_STUB _Group25_put_Name_Stub(
  1327.     IRpcStubBuffer *This,
  1328.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1329.     PRPC_MESSAGE _pRpcMessage,
  1330.     DWORD *_pdwStubPhase);
  1331. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Group25_GetPermissions_Proxy( 
  1332.     _Group25 * This,
  1333.     /* [in] */ VARIANT Name,
  1334.     /* [in] */ ObjectTypeEnum ObjectType,
  1335.     /* [optional][in] */ VARIANT ObjectTypeId,
  1336.     /* [retval][out] */ RightsEnum *Rights);
  1337. void __RPC_STUB _Group25_GetPermissions_Stub(
  1338.     IRpcStubBuffer *This,
  1339.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1340.     PRPC_MESSAGE _pRpcMessage,
  1341.     DWORD *_pdwStubPhase);
  1342. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _Group25_SetPermissions_Proxy( 
  1343.     _Group25 * This,
  1344.     /* [in] */ VARIANT Name,
  1345.     /* [in] */ ObjectTypeEnum ObjectType,
  1346.     /* [in] */ ActionEnum Action,
  1347.     /* [in] */ RightsEnum Rights,
  1348.     /* [defaultvalue][in] */ InheritTypeEnum Inherit,
  1349.     /* [optional][in] */ VARIANT ObjectTypeId);
  1350. void __RPC_STUB _Group25_SetPermissions_Stub(
  1351.     IRpcStubBuffer *This,
  1352.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1353.     PRPC_MESSAGE _pRpcMessage,
  1354.     DWORD *_pdwStubPhase);
  1355. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Group25_get_Users_Proxy( 
  1356.     _Group25 * This,
  1357.     /* [retval][out] */ ADOUsers **ppvObject);
  1358. void __RPC_STUB _Group25_get_Users_Stub(
  1359.     IRpcStubBuffer *This,
  1360.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1361.     PRPC_MESSAGE _pRpcMessage,
  1362.     DWORD *_pdwStubPhase);
  1363. #endif  /* ___Group25_INTERFACE_DEFINED__ */
  1364. #ifndef ___Group_INTERFACE_DEFINED__
  1365. #define ___Group_INTERFACE_DEFINED__
  1366. /* interface _ADOGroup */
  1367. /* [helpcontext][unique][dual][uuid][nonextensible][object] */ 
  1368. EXTERN_C const IID IID__Group;
  1369. #if defined(__cplusplus) && !defined(CINTERFACE)
  1370.     
  1371.     MIDL_INTERFACE("00000628-0000-0010-8000-00AA006D2EA4")
  1372.     _ADOGroup : public _Group25
  1373.     {
  1374.     public:
  1375.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  1376.             /* [retval][out] */ ADOProperties **ppvObject) = 0;
  1377.         
  1378.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentCatalog( 
  1379.             /* [retval][out] */ _ADOCatalog **ppvObject) = 0;
  1380.         
  1381.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentCatalog( 
  1382.             /* [in] */ _ADOCatalog *ppvObject) = 0;
  1383.         
  1384.         virtual /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ParentCatalog( 
  1385.             /* [in] */ _ADOCatalog *ppvObject) = 0;
  1386.         
  1387.     };
  1388.     
  1389. #else  /* C style interface */
  1390.     typedef struct _GroupVtbl
  1391.     {
  1392.         BEGIN_INTERFACE
  1393.         
  1394.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1395.             _ADOGroup * This,
  1396.             /* [in] */ REFIID riid,
  1397.             /* [iid_is][out] */ void **ppvObject);
  1398.         
  1399.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1400.             _ADOGroup * This);
  1401.         
  1402.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1403.             _ADOGroup * This);
  1404.         
  1405.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1406.             _ADOGroup * This,
  1407.             /* [out] */ UINT *pctinfo);
  1408.         
  1409.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1410.             _ADOGroup * This,
  1411.             /* [in] */ UINT iTInfo,
  1412.             /* [in] */ LCID lcid,
  1413.             /* [out] */ ITypeInfo **ppTInfo);
  1414.         
  1415.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1416.             _ADOGroup * This,
  1417.             /* [in] */ REFIID riid,
  1418.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1419.             /* [in] */ UINT cNames,
  1420.             /* [in] */ LCID lcid,
  1421.             /* [size_is][out] */ DISPID *rgDispId);
  1422.         
  1423.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1424.             _ADOGroup * This,
  1425.             /* [in] */ DISPID dispIdMember,
  1426.             /* [in] */ REFIID riid,
  1427.             /* [in] */ LCID lcid,
  1428.             /* [in] */ WORD wFlags,
  1429.             /* [out][in] */ DISPPARAMS *pDispParams,
  1430.             /* [out] */ VARIANT *pVarResult,
  1431.             /* [out] */ EXCEPINFO *pExcepInfo,
  1432.             /* [out] */ UINT *puArgErr);
  1433.         
  1434.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1435.             _ADOGroup * This,
  1436.             /* [retval][out] */ BSTR *pVal);
  1437.         
  1438.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  1439.             _ADOGroup * This,
  1440.             /* [in] */ BSTR newVal);
  1441.         
  1442.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPermissions )( 
  1443.             _ADOGroup * This,
  1444.             /* [in] */ VARIANT Name,
  1445.             /* [in] */ ObjectTypeEnum ObjectType,
  1446.             /* [optional][in] */ VARIANT ObjectTypeId,
  1447.             /* [retval][out] */ RightsEnum *Rights);
  1448.         
  1449.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetPermissions )( 
  1450.             _ADOGroup * This,
  1451.             /* [in] */ VARIANT Name,
  1452.             /* [in] */ ObjectTypeEnum ObjectType,
  1453.             /* [in] */ ActionEnum Action,
  1454.             /* [in] */ RightsEnum Rights,
  1455.             /* [defaultvalue][in] */ InheritTypeEnum Inherit,
  1456.             /* [optional][in] */ VARIANT ObjectTypeId);
  1457.         
  1458.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Users )( 
  1459.             _ADOGroup * This,
  1460.             /* [retval][out] */ ADOUsers **ppvObject);
  1461.         
  1462.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  1463.             _ADOGroup * This,
  1464.             /* [retval][out] */ ADOProperties **ppvObject);
  1465.         
  1466.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentCatalog )( 
  1467.             _ADOGroup * This,
  1468.             /* [retval][out] */ _ADOCatalog **ppvObject);
  1469.         
  1470.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentCatalog )( 
  1471.             _ADOGroup * This,
  1472.             /* [in] */ _ADOCatalog *ppvObject);
  1473.         
  1474.         /* [helpcontext][id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_ParentADOCatalog )( 
  1475.             _ADOGroup * This,
  1476.             /* [in] */ _ADOCatalog *ppvObject);
  1477.         
  1478.         END_INTERFACE
  1479.     } _GroupVtbl;
  1480.     interface _Group
  1481.     {
  1482.         CONST_VTBL struct _GroupVtbl *lpVtbl;
  1483.     };
  1484.     
  1485. #ifdef COBJMACROS
  1486. #define _Group_QueryInterface(This,riid,ppvObject)
  1487.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1488. #define _Group_AddRef(This)
  1489.     (This)->lpVtbl -> AddRef(This)
  1490. #define _Group_Release(This)
  1491.     (This)->lpVtbl -> Release(This)
  1492. #define _Group_GetTypeInfoCount(This,pctinfo)
  1493.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1494. #define _Group_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1495.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1496. #define _Group_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1497.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1498. #define _Group_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1499.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1500. #define _Group_get_Name(This,pVal)
  1501.     (This)->lpVtbl -> get_Name(This,pVal)
  1502. #define _Group_put_Name(This,newVal)
  1503.     (This)->lpVtbl -> put_Name(This,newVal)
  1504. #define _Group_GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
  1505.     (This)->lpVtbl -> GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
  1506. #define _Group_SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
  1507.     (This)->lpVtbl -> SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
  1508. #define _Group_get_Users(This,ppvObject)
  1509.     (This)->lpVtbl -> get_Users(This,ppvObject)
  1510. #define _Group_get_Properties(This,ppvObject)
  1511.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1512. #define _Group_get_ParentCatalog(This,ppvObject)
  1513.     (This)->lpVtbl -> get_ParentCatalog(This,ppvObject)
  1514. #define _Group_put_ParentCatalog(This,ppvObject)
  1515.     (This)->lpVtbl -> put_ParentCatalog(This,ppvObject)
  1516. #define _Group_putref_ParentCatalog(This,ppvObject)
  1517.     (This)->lpVtbl -> putref_ParentCatalog(This,ppvObject)
  1518. #endif /* COBJMACROS */
  1519. #endif  /* C style interface */
  1520. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Group_get_Properties_Proxy( 
  1521.     _ADOGroup * This,
  1522.     /* [retval][out] */ ADOProperties **ppvObject);
  1523. void __RPC_STUB _Group_get_Properties_Stub(
  1524.     IRpcStubBuffer *This,
  1525.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1526.     PRPC_MESSAGE _pRpcMessage,
  1527.     DWORD *_pdwStubPhase);
  1528. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Group_get_ParentCatalog_Proxy( 
  1529.     _ADOGroup * This,
  1530.     /* [retval][out] */ _ADOCatalog **ppvObject);
  1531. void __RPC_STUB _Group_get_ParentCatalog_Stub(
  1532.     IRpcStubBuffer *This,
  1533.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1534.     PRPC_MESSAGE _pRpcMessage,
  1535.     DWORD *_pdwStubPhase);
  1536. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Group_put_ParentCatalog_Proxy( 
  1537.     _ADOGroup * This,
  1538.     /* [in] */ _ADOCatalog *ppvObject);
  1539. void __RPC_STUB _Group_put_ParentCatalog_Stub(
  1540.     IRpcStubBuffer *This,
  1541.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1542.     PRPC_MESSAGE _pRpcMessage,
  1543.     DWORD *_pdwStubPhase);
  1544. /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE _Group_putref_ParentCatalog_Proxy( 
  1545.     _ADOGroup * This,
  1546.     /* [in] */ _ADOCatalog *ppvObject);
  1547. void __RPC_STUB _Group_putref_ParentCatalog_Stub(
  1548.     IRpcStubBuffer *This,
  1549.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1550.     PRPC_MESSAGE _pRpcMessage,
  1551.     DWORD *_pdwStubPhase);
  1552. #endif  /* ___Group_INTERFACE_DEFINED__ */
  1553. #ifndef ___User25_INTERFACE_DEFINED__
  1554. #define ___User25_INTERFACE_DEFINED__
  1555. /* interface _User25 */
  1556. /* [helpcontext][unique][dual][uuid][nonextensible][object] */ 
  1557. EXTERN_C const IID IID__User25;
  1558. #if defined(__cplusplus) && !defined(CINTERFACE)
  1559.     
  1560.     MIDL_INTERFACE("00000619-0000-0010-8000-00AA006D2EA4")
  1561.     _User25 : public IDispatch
  1562.     {
  1563.     public:
  1564.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1565.             /* [retval][out] */ BSTR *pVal) = 0;
  1566.         
  1567.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  1568.             /* [in] */ BSTR newVal) = 0;
  1569.         
  1570.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE GetPermissions( 
  1571.             /* [in] */ VARIANT Name,
  1572.             /* [in] */ ObjectTypeEnum ObjectType,
  1573.             /* [optional][in] */ VARIANT ObjectTypeId,
  1574.             /* [retval][out] */ RightsEnum *Rights) = 0;
  1575.         
  1576.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE SetPermissions( 
  1577.             /* [in] */ VARIANT Name,
  1578.             /* [in] */ ObjectTypeEnum ObjectType,
  1579.             /* [in] */ ActionEnum Action,
  1580.             /* [in] */ RightsEnum Rights,
  1581.             /* [defaultvalue][in] */ InheritTypeEnum Inherit,
  1582.             /* [optional][in] */ VARIANT ObjectTypeId) = 0;
  1583.         
  1584.         virtual /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE ChangePassword( 
  1585.             /* [in] */ BSTR OldPassword,
  1586.             /* [in] */ BSTR NewPassword) = 0;
  1587.         
  1588.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Groups( 
  1589.             /* [retval][out] */ ADOGroups **ppvObject) = 0;
  1590.         
  1591.     };
  1592.     
  1593. #else  /* C style interface */
  1594.     typedef struct _User25Vtbl
  1595.     {
  1596.         BEGIN_INTERFACE
  1597.         
  1598.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1599.             _User25 * This,
  1600.             /* [in] */ REFIID riid,
  1601.             /* [iid_is][out] */ void **ppvObject);
  1602.         
  1603.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1604.             _User25 * This);
  1605.         
  1606.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1607.             _User25 * This);
  1608.         
  1609.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1610.             _User25 * This,
  1611.             /* [out] */ UINT *pctinfo);
  1612.         
  1613.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1614.             _User25 * This,
  1615.             /* [in] */ UINT iTInfo,
  1616.             /* [in] */ LCID lcid,
  1617.             /* [out] */ ITypeInfo **ppTInfo);
  1618.         
  1619.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1620.             _User25 * This,
  1621.             /* [in] */ REFIID riid,
  1622.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1623.             /* [in] */ UINT cNames,
  1624.             /* [in] */ LCID lcid,
  1625.             /* [size_is][out] */ DISPID *rgDispId);
  1626.         
  1627.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1628.             _User25 * This,
  1629.             /* [in] */ DISPID dispIdMember,
  1630.             /* [in] */ REFIID riid,
  1631.             /* [in] */ LCID lcid,
  1632.             /* [in] */ WORD wFlags,
  1633.             /* [out][in] */ DISPPARAMS *pDispParams,
  1634.             /* [out] */ VARIANT *pVarResult,
  1635.             /* [out] */ EXCEPINFO *pExcepInfo,
  1636.             /* [out] */ UINT *puArgErr);
  1637.         
  1638.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1639.             _User25 * This,
  1640.             /* [retval][out] */ BSTR *pVal);
  1641.         
  1642.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  1643.             _User25 * This,
  1644.             /* [in] */ BSTR newVal);
  1645.         
  1646.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPermissions )( 
  1647.             _User25 * This,
  1648.             /* [in] */ VARIANT Name,
  1649.             /* [in] */ ObjectTypeEnum ObjectType,
  1650.             /* [optional][in] */ VARIANT ObjectTypeId,
  1651.             /* [retval][out] */ RightsEnum *Rights);
  1652.         
  1653.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetPermissions )( 
  1654.             _User25 * This,
  1655.             /* [in] */ VARIANT Name,
  1656.             /* [in] */ ObjectTypeEnum ObjectType,
  1657.             /* [in] */ ActionEnum Action,
  1658.             /* [in] */ RightsEnum Rights,
  1659.             /* [defaultvalue][in] */ InheritTypeEnum Inherit,
  1660.             /* [optional][in] */ VARIANT ObjectTypeId);
  1661.         
  1662.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ChangePassword )( 
  1663.             _User25 * This,
  1664.             /* [in] */ BSTR OldPassword,
  1665.             /* [in] */ BSTR NewPassword);
  1666.         
  1667.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Groups )( 
  1668.             _User25 * This,
  1669.             /* [retval][out] */ ADOGroups **ppvObject);
  1670.         
  1671.         END_INTERFACE
  1672.     } _User25Vtbl;
  1673.     interface _User25
  1674.     {
  1675.         CONST_VTBL struct _User25Vtbl *lpVtbl;
  1676.     };
  1677.     
  1678. #ifdef COBJMACROS
  1679. #define _User25_QueryInterface(This,riid,ppvObject)
  1680.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1681. #define _User25_AddRef(This)
  1682.     (This)->lpVtbl -> AddRef(This)
  1683. #define _User25_Release(This)
  1684.     (This)->lpVtbl -> Release(This)
  1685. #define _User25_GetTypeInfoCount(This,pctinfo)
  1686.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1687. #define _User25_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1688.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1689. #define _User25_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1690.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1691. #define _User25_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1692.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1693. #define _User25_get_Name(This,pVal)
  1694.     (This)->lpVtbl -> get_Name(This,pVal)
  1695. #define _User25_put_Name(This,newVal)
  1696.     (This)->lpVtbl -> put_Name(This,newVal)
  1697. #define _User25_GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
  1698.     (This)->lpVtbl -> GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
  1699. #define _User25_SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
  1700.     (This)->lpVtbl -> SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
  1701. #define _User25_ChangePassword(This,OldPassword,NewPassword)
  1702.     (This)->lpVtbl -> ChangePassword(This,OldPassword,NewPassword)
  1703. #define _User25_get_Groups(This,ppvObject)
  1704.     (This)->lpVtbl -> get_Groups(This,ppvObject)
  1705. #endif /* COBJMACROS */
  1706. #endif  /* C style interface */
  1707. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _User25_get_Name_Proxy( 
  1708.     _User25 * This,
  1709.     /* [retval][out] */ BSTR *pVal);
  1710. void __RPC_STUB _User25_get_Name_Stub(
  1711.     IRpcStubBuffer *This,
  1712.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1713.     PRPC_MESSAGE _pRpcMessage,
  1714.     DWORD *_pdwStubPhase);
  1715. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _User25_put_Name_Proxy( 
  1716.     _User25 * This,
  1717.     /* [in] */ BSTR newVal);
  1718. void __RPC_STUB _User25_put_Name_Stub(
  1719.     IRpcStubBuffer *This,
  1720.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1721.     PRPC_MESSAGE _pRpcMessage,
  1722.     DWORD *_pdwStubPhase);
  1723. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _User25_GetPermissions_Proxy( 
  1724.     _User25 * This,
  1725.     /* [in] */ VARIANT Name,
  1726.     /* [in] */ ObjectTypeEnum ObjectType,
  1727.     /* [optional][in] */ VARIANT ObjectTypeId,
  1728.     /* [retval][out] */ RightsEnum *Rights);
  1729. void __RPC_STUB _User25_GetPermissions_Stub(
  1730.     IRpcStubBuffer *This,
  1731.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1732.     PRPC_MESSAGE _pRpcMessage,
  1733.     DWORD *_pdwStubPhase);
  1734. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _User25_SetPermissions_Proxy( 
  1735.     _User25 * This,
  1736.     /* [in] */ VARIANT Name,
  1737.     /* [in] */ ObjectTypeEnum ObjectType,
  1738.     /* [in] */ ActionEnum Action,
  1739.     /* [in] */ RightsEnum Rights,
  1740.     /* [defaultvalue][in] */ InheritTypeEnum Inherit,
  1741.     /* [optional][in] */ VARIANT ObjectTypeId);
  1742. void __RPC_STUB _User25_SetPermissions_Stub(
  1743.     IRpcStubBuffer *This,
  1744.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1745.     PRPC_MESSAGE _pRpcMessage,
  1746.     DWORD *_pdwStubPhase);
  1747. /* [helpcontext][id] */ HRESULT STDMETHODCALLTYPE _User25_ChangePassword_Proxy( 
  1748.     _User25 * This,
  1749.     /* [in] */ BSTR OldPassword,
  1750.     /* [in] */ BSTR NewPassword);
  1751. void __RPC_STUB _User25_ChangePassword_Stub(
  1752.     IRpcStubBuffer *This,
  1753.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1754.     PRPC_MESSAGE _pRpcMessage,
  1755.     DWORD *_pdwStubPhase);
  1756. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _User25_get_Groups_Proxy( 
  1757.     _User25 * This,
  1758.     /* [retval][out] */ ADOGroups **ppvObject);
  1759. void __RPC_STUB _User25_get_Groups_Stub(
  1760.     IRpcStubBuffer *This,
  1761.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1762.     PRPC_MESSAGE _pRpcMessage,
  1763.     DWORD *_pdwStubPhase);
  1764. #endif  /* ___User25_INTERFACE_DEFINED__ */
  1765. #ifndef ___User_INTERFACE_DEFINED__
  1766. #define ___User_INTERFACE_DEFINED__
  1767. /* interface _ADOUser */
  1768. /* [helpcontext][unique][dual][uuid][nonextensible][object] */ 
  1769. EXTERN_C const IID IID__User;
  1770. #if defined(__cplusplus) && !defined(CINTERFACE)
  1771.     
  1772.     MIDL_INTERFACE("00000627-0000-0010-8000-00AA006D2EA4")
  1773.     _ADOUser : public _User25
  1774.     {
  1775.     public:
  1776.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  1777.             /* [retval][out] */ ADOProperties **ppvObject) = 0;
  1778.         
  1779.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentCatalog( 
  1780.             /* [retval][out] */ _ADOCatalog **ppvObject) = 0;
  1781.         
  1782.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentCatalog( 
  1783.             /* [in] */ _ADOCatalog *ppvObject) = 0;
  1784.         
  1785.         virtual /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ParentCatalog( 
  1786.             /* [in] */ _ADOCatalog *ppvObject) = 0;
  1787.         
  1788.     };
  1789.     
  1790. #else  /* C style interface */
  1791.     typedef struct _UserVtbl
  1792.     {
  1793.         BEGIN_INTERFACE
  1794.         
  1795.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1796.             _ADOUser * This,
  1797.             /* [in] */ REFIID riid,
  1798.             /* [iid_is][out] */ void **ppvObject);
  1799.         
  1800.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1801.             _ADOUser * This);
  1802.         
  1803.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1804.             _ADOUser * This);
  1805.         
  1806.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1807.             _ADOUser * This,
  1808.             /* [out] */ UINT *pctinfo);
  1809.         
  1810.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1811.             _ADOUser * This,
  1812.             /* [in] */ UINT iTInfo,
  1813.             /* [in] */ LCID lcid,
  1814.             /* [out] */ ITypeInfo **ppTInfo);
  1815.         
  1816.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1817.             _ADOUser * This,
  1818.             /* [in] */ REFIID riid,
  1819.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1820.             /* [in] */ UINT cNames,
  1821.             /* [in] */ LCID lcid,
  1822.             /* [size_is][out] */ DISPID *rgDispId);
  1823.         
  1824.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1825.             _ADOUser * This,
  1826.             /* [in] */ DISPID dispIdMember,
  1827.             /* [in] */ REFIID riid,
  1828.             /* [in] */ LCID lcid,
  1829.             /* [in] */ WORD wFlags,
  1830.             /* [out][in] */ DISPPARAMS *pDispParams,
  1831.             /* [out] */ VARIANT *pVarResult,
  1832.             /* [out] */ EXCEPINFO *pExcepInfo,
  1833.             /* [out] */ UINT *puArgErr);
  1834.         
  1835.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  1836.             _ADOUser * This,
  1837.             /* [retval][out] */ BSTR *pVal);
  1838.         
  1839.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  1840.             _ADOUser * This,
  1841.             /* [in] */ BSTR newVal);
  1842.         
  1843.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *GetPermissions )( 
  1844.             _ADOUser * This,
  1845.             /* [in] */ VARIANT Name,
  1846.             /* [in] */ ObjectTypeEnum ObjectType,
  1847.             /* [optional][in] */ VARIANT ObjectTypeId,
  1848.             /* [retval][out] */ RightsEnum *Rights);
  1849.         
  1850.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *SetPermissions )( 
  1851.             _ADOUser * This,
  1852.             /* [in] */ VARIANT Name,
  1853.             /* [in] */ ObjectTypeEnum ObjectType,
  1854.             /* [in] */ ActionEnum Action,
  1855.             /* [in] */ RightsEnum Rights,
  1856.             /* [defaultvalue][in] */ InheritTypeEnum Inherit,
  1857.             /* [optional][in] */ VARIANT ObjectTypeId);
  1858.         
  1859.         /* [helpcontext][id] */ HRESULT ( STDMETHODCALLTYPE *ChangePassword )( 
  1860.             _ADOUser * This,
  1861.             /* [in] */ BSTR OldPassword,
  1862.             /* [in] */ BSTR NewPassword);
  1863.         
  1864.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Groups )( 
  1865.             _ADOUser * This,
  1866.             /* [retval][out] */ ADOGroups **ppvObject);
  1867.         
  1868.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  1869.             _ADOUser * This,
  1870.             /* [retval][out] */ ADOProperties **ppvObject);
  1871.         
  1872.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentCatalog )( 
  1873.             _ADOUser * This,
  1874.             /* [retval][out] */ _ADOCatalog **ppvObject);
  1875.         
  1876.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentCatalog )( 
  1877.             _ADOUser * This,
  1878.             /* [in] */ _ADOCatalog *ppvObject);
  1879.         
  1880.         /* [helpcontext][id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_ParentADOCatalog )( 
  1881.             _ADOUser * This,
  1882.             /* [in] */ _ADOCatalog *ppvObject);
  1883.         
  1884.         END_INTERFACE
  1885.     } _UserVtbl;
  1886.     interface _User
  1887.     {
  1888.         CONST_VTBL struct _UserVtbl *lpVtbl;
  1889.     };
  1890.     
  1891. #ifdef COBJMACROS
  1892. #define _User_QueryInterface(This,riid,ppvObject)
  1893.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1894. #define _User_AddRef(This)
  1895.     (This)->lpVtbl -> AddRef(This)
  1896. #define _User_Release(This)
  1897.     (This)->lpVtbl -> Release(This)
  1898. #define _User_GetTypeInfoCount(This,pctinfo)
  1899.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1900. #define _User_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1901.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1902. #define _User_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1903.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1904. #define _User_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1905.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1906. #define _User_get_Name(This,pVal)
  1907.     (This)->lpVtbl -> get_Name(This,pVal)
  1908. #define _User_put_Name(This,newVal)
  1909.     (This)->lpVtbl -> put_Name(This,newVal)
  1910. #define _User_GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
  1911.     (This)->lpVtbl -> GetPermissions(This,Name,ObjectType,ObjectTypeId,Rights)
  1912. #define _User_SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
  1913.     (This)->lpVtbl -> SetPermissions(This,Name,ObjectType,Action,Rights,Inherit,ObjectTypeId)
  1914. #define _User_ChangePassword(This,OldPassword,NewPassword)
  1915.     (This)->lpVtbl -> ChangePassword(This,OldPassword,NewPassword)
  1916. #define _User_get_Groups(This,ppvObject)
  1917.     (This)->lpVtbl -> get_Groups(This,ppvObject)
  1918. #define _User_get_Properties(This,ppvObject)
  1919.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  1920. #define _User_get_ParentCatalog(This,ppvObject)
  1921.     (This)->lpVtbl -> get_ParentCatalog(This,ppvObject)
  1922. #define _User_put_ParentCatalog(This,ppvObject)
  1923.     (This)->lpVtbl -> put_ParentCatalog(This,ppvObject)
  1924. #define _User_putref_ParentCatalog(This,ppvObject)
  1925.     (This)->lpVtbl -> putref_ParentCatalog(This,ppvObject)
  1926. #endif /* COBJMACROS */
  1927. #endif  /* C style interface */
  1928. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _User_get_Properties_Proxy( 
  1929.     _ADOUser * This,
  1930.     /* [retval][out] */ ADOProperties **ppvObject);
  1931. void __RPC_STUB _User_get_Properties_Stub(
  1932.     IRpcStubBuffer *This,
  1933.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1934.     PRPC_MESSAGE _pRpcMessage,
  1935.     DWORD *_pdwStubPhase);
  1936. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _User_get_ParentCatalog_Proxy( 
  1937.     _ADOUser * This,
  1938.     /* [retval][out] */ _ADOCatalog **ppvObject);
  1939. void __RPC_STUB _User_get_ParentCatalog_Stub(
  1940.     IRpcStubBuffer *This,
  1941.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1942.     PRPC_MESSAGE _pRpcMessage,
  1943.     DWORD *_pdwStubPhase);
  1944. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _User_put_ParentCatalog_Proxy( 
  1945.     _ADOUser * This,
  1946.     /* [in] */ _ADOCatalog *ppvObject);
  1947. void __RPC_STUB _User_put_ParentCatalog_Stub(
  1948.     IRpcStubBuffer *This,
  1949.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1950.     PRPC_MESSAGE _pRpcMessage,
  1951.     DWORD *_pdwStubPhase);
  1952. /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE _User_putref_ParentCatalog_Proxy( 
  1953.     _ADOUser * This,
  1954.     /* [in] */ _ADOCatalog *ppvObject);
  1955. void __RPC_STUB _User_putref_ParentCatalog_Stub(
  1956.     IRpcStubBuffer *This,
  1957.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1958.     PRPC_MESSAGE _pRpcMessage,
  1959.     DWORD *_pdwStubPhase);
  1960. #endif  /* ___User_INTERFACE_DEFINED__ */
  1961. #ifndef ___Column_INTERFACE_DEFINED__
  1962. #define ___Column_INTERFACE_DEFINED__
  1963. /* interface _ADOColumn */
  1964. /* [helpcontext][unique][dual][uuid][nonextensible][object] */ 
  1965. EXTERN_C const IID IID__Column;
  1966. #if defined(__cplusplus) && !defined(CINTERFACE)
  1967.     
  1968.     MIDL_INTERFACE("0000061C-0000-0010-8000-00AA006D2EA4")
  1969.     _ADOColumn : public IDispatch
  1970.     {
  1971.     public:
  1972.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  1973.             /* [retval][out] */ BSTR *pVal) = 0;
  1974.         
  1975.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  1976.             /* [in] */ BSTR newVal) = 0;
  1977.         
  1978.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Attributes( 
  1979.             /* [retval][out] */ ColumnAttributesEnum *pVal) = 0;
  1980.         
  1981.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Attributes( 
  1982.             /* [in] */ ColumnAttributesEnum newVal) = 0;
  1983.         
  1984.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_DefinedSize( 
  1985.             /* [retval][out] */ long *pVal) = 0;
  1986.         
  1987.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_DefinedSize( 
  1988.             /* [in] */ long DefinedSize) = 0;
  1989.         
  1990.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_NumericScale( 
  1991.             /* [retval][out] */ BYTE *pVal) = 0;
  1992.         
  1993.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_NumericScale( 
  1994.             /* [in] */ BYTE newVal) = 0;
  1995.         
  1996.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Precision( 
  1997.             /* [retval][out] */ long *pVal) = 0;
  1998.         
  1999.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Precision( 
  2000.             /* [in] */ long newVal) = 0;
  2001.         
  2002.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_RelatedColumn( 
  2003.             /* [retval][out] */ BSTR *pVal) = 0;
  2004.         
  2005.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_RelatedColumn( 
  2006.             /* [in] */ BSTR newVal) = 0;
  2007.         
  2008.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_SortOrder( 
  2009.             /* [retval][out] */ SortOrderEnum *pVal) = 0;
  2010.         
  2011.         virtual /* [id][propput] */ HRESULT STDMETHODCALLTYPE put_SortOrder( 
  2012.             /* [in] */ SortOrderEnum newVal) = 0;
  2013.         
  2014.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Type( 
  2015.             /* [retval][out] */ DataTypeEnum *pVal) = 0;
  2016.         
  2017.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Type( 
  2018.             /* [in] */ DataTypeEnum newVal) = 0;
  2019.         
  2020.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  2021.             /* [retval][out] */ ADOProperties **ppvObject) = 0;
  2022.         
  2023.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_ParentCatalog( 
  2024.             /* [retval][out] */ _ADOCatalog **ppvObject) = 0;
  2025.         
  2026.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_ParentCatalog( 
  2027.             /* [in] */ _ADOCatalog *ppvObject) = 0;
  2028.         
  2029.         virtual /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE putref_ParentCatalog( 
  2030.             /* [in] */ _ADOCatalog *ppvObject) = 0;
  2031.         
  2032.     };
  2033.     
  2034. #else  /* C style interface */
  2035.     typedef struct _ColumnVtbl
  2036.     {
  2037.         BEGIN_INTERFACE
  2038.         
  2039.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2040.             _ADOColumn * This,
  2041.             /* [in] */ REFIID riid,
  2042.             /* [iid_is][out] */ void **ppvObject);
  2043.         
  2044.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2045.             _ADOColumn * This);
  2046.         
  2047.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2048.             _ADOColumn * This);
  2049.         
  2050.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2051.             _ADOColumn * This,
  2052.             /* [out] */ UINT *pctinfo);
  2053.         
  2054.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2055.             _ADOColumn * This,
  2056.             /* [in] */ UINT iTInfo,
  2057.             /* [in] */ LCID lcid,
  2058.             /* [out] */ ITypeInfo **ppTInfo);
  2059.         
  2060.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2061.             _ADOColumn * This,
  2062.             /* [in] */ REFIID riid,
  2063.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2064.             /* [in] */ UINT cNames,
  2065.             /* [in] */ LCID lcid,
  2066.             /* [size_is][out] */ DISPID *rgDispId);
  2067.         
  2068.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2069.             _ADOColumn * This,
  2070.             /* [in] */ DISPID dispIdMember,
  2071.             /* [in] */ REFIID riid,
  2072.             /* [in] */ LCID lcid,
  2073.             /* [in] */ WORD wFlags,
  2074.             /* [out][in] */ DISPPARAMS *pDispParams,
  2075.             /* [out] */ VARIANT *pVarResult,
  2076.             /* [out] */ EXCEPINFO *pExcepInfo,
  2077.             /* [out] */ UINT *puArgErr);
  2078.         
  2079.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
  2080.             _ADOColumn * This,
  2081.             /* [retval][out] */ BSTR *pVal);
  2082.         
  2083.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
  2084.             _ADOColumn * This,
  2085.             /* [in] */ BSTR newVal);
  2086.         
  2087.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Attributes )( 
  2088.             _ADOColumn * This,
  2089.             /* [retval][out] */ ColumnAttributesEnum *pVal);
  2090.         
  2091.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Attributes )( 
  2092.             _ADOColumn * This,
  2093.             /* [in] */ ColumnAttributesEnum newVal);
  2094.         
  2095.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DefinedSize )( 
  2096.             _ADOColumn * This,
  2097.             /* [retval][out] */ long *pVal);
  2098.         
  2099.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DefinedSize )( 
  2100.             _ADOColumn * This,
  2101.             /* [in] */ long DefinedSize);
  2102.         
  2103.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_NumericScale )( 
  2104.             _ADOColumn * This,
  2105.             /* [retval][out] */ BYTE *pVal);
  2106.         
  2107.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_NumericScale )( 
  2108.             _ADOColumn * This,
  2109.             /* [in] */ BYTE newVal);
  2110.         
  2111.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Precision )( 
  2112.             _ADOColumn * This,
  2113.             /* [retval][out] */ long *pVal);
  2114.         
  2115.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Precision )( 
  2116.             _ADOColumn * This,
  2117.             /* [in] */ long newVal);
  2118.         
  2119.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RelatedColumn )( 
  2120.             _ADOColumn * This,
  2121.             /* [retval][out] */ BSTR *pVal);
  2122.         
  2123.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RelatedColumn )( 
  2124.             _ADOColumn * This,
  2125.             /* [in] */ BSTR newVal);
  2126.         
  2127.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SortOrder )( 
  2128.             _ADOColumn * This,
  2129.             /* [retval][out] */ SortOrderEnum *pVal);
  2130.         
  2131.         /* [id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_SortOrder )( 
  2132.             _ADOColumn * This,
  2133.             /* [in] */ SortOrderEnum newVal);
  2134.         
  2135.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Type )( 
  2136.             _ADOColumn * This,
  2137.             /* [retval][out] */ DataTypeEnum *pVal);
  2138.         
  2139.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_Type )( 
  2140.             _ADOColumn * This,
  2141.             /* [in] */ DataTypeEnum newVal);
  2142.         
  2143.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Properties )( 
  2144.             _ADOColumn * This,
  2145.             /* [retval][out] */ ADOProperties **ppvObject);
  2146.         
  2147.         /* [helpcontext][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ParentCatalog )( 
  2148.             _ADOColumn * This,
  2149.             /* [retval][out] */ _ADOCatalog **ppvObject);
  2150.         
  2151.         /* [helpcontext][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ParentCatalog )( 
  2152.             _ADOColumn * This,
  2153.             /* [in] */ _ADOCatalog *ppvObject);
  2154.         
  2155.         /* [helpcontext][id][propputref] */ HRESULT ( STDMETHODCALLTYPE *putref_ParentADOCatalog )( 
  2156.             _ADOColumn * This,
  2157.             /* [in] */ _ADOCatalog *ppvObject);
  2158.         
  2159.         END_INTERFACE
  2160.     } _ColumnVtbl;
  2161.     interface _Column
  2162.     {
  2163.         CONST_VTBL struct _ColumnVtbl *lpVtbl;
  2164.     };
  2165.     
  2166. #ifdef COBJMACROS
  2167. #define _Column_QueryInterface(This,riid,ppvObject)
  2168.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2169. #define _Column_AddRef(This)
  2170.     (This)->lpVtbl -> AddRef(This)
  2171. #define _Column_Release(This)
  2172.     (This)->lpVtbl -> Release(This)
  2173. #define _Column_GetTypeInfoCount(This,pctinfo)
  2174.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2175. #define _Column_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2176.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2177. #define _Column_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2178.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2179. #define _Column_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2180.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2181. #define _Column_get_Name(This,pVal)
  2182.     (This)->lpVtbl -> get_Name(This,pVal)
  2183. #define _Column_put_Name(This,newVal)
  2184.     (This)->lpVtbl -> put_Name(This,newVal)
  2185. #define _Column_get_Attributes(This,pVal)
  2186.     (This)->lpVtbl -> get_Attributes(This,pVal)
  2187. #define _Column_put_Attributes(This,newVal)
  2188.     (This)->lpVtbl -> put_Attributes(This,newVal)
  2189. #define _Column_get_DefinedSize(This,pVal)
  2190.     (This)->lpVtbl -> get_DefinedSize(This,pVal)
  2191. #define _Column_put_DefinedSize(This,DefinedSize)
  2192.     (This)->lpVtbl -> put_DefinedSize(This,DefinedSize)
  2193. #define _Column_get_NumericScale(This,pVal)
  2194.     (This)->lpVtbl -> get_NumericScale(This,pVal)
  2195. #define _Column_put_NumericScale(This,newVal)
  2196.     (This)->lpVtbl -> put_NumericScale(This,newVal)
  2197. #define _Column_get_Precision(This,pVal)
  2198.     (This)->lpVtbl -> get_Precision(This,pVal)
  2199. #define _Column_put_Precision(This,newVal)
  2200.     (This)->lpVtbl -> put_Precision(This,newVal)
  2201. #define _Column_get_RelatedColumn(This,pVal)
  2202.     (This)->lpVtbl -> get_RelatedColumn(This,pVal)
  2203. #define _Column_put_RelatedColumn(This,newVal)
  2204.     (This)->lpVtbl -> put_RelatedColumn(This,newVal)
  2205. #define _Column_get_SortOrder(This,pVal)
  2206.     (This)->lpVtbl -> get_SortOrder(This,pVal)
  2207. #define _Column_put_SortOrder(This,newVal)
  2208.     (This)->lpVtbl -> put_SortOrder(This,newVal)
  2209. #define _Column_get_Type(This,pVal)
  2210.     (This)->lpVtbl -> get_Type(This,pVal)
  2211. #define _Column_put_Type(This,newVal)
  2212.     (This)->lpVtbl -> put_Type(This,newVal)
  2213. #define _Column_get_Properties(This,ppvObject)
  2214.     (This)->lpVtbl -> get_Properties(This,ppvObject)
  2215. #define _Column_get_ParentCatalog(This,ppvObject)
  2216.     (This)->lpVtbl -> get_ParentCatalog(This,ppvObject)
  2217. #define _Column_put_ParentCatalog(This,ppvObject)
  2218.     (This)->lpVtbl -> put_ParentCatalog(This,ppvObject)
  2219. #define _Column_putref_ParentCatalog(This,ppvObject)
  2220.     (This)->lpVtbl -> putref_ParentCatalog(This,ppvObject)
  2221. #endif /* COBJMACROS */
  2222. #endif  /* C style interface */
  2223. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_Name_Proxy( 
  2224.     _ADOColumn * This,
  2225.     /* [retval][out] */ BSTR *pVal);
  2226. void __RPC_STUB _Column_get_Name_Stub(
  2227.     IRpcStubBuffer *This,
  2228.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2229.     PRPC_MESSAGE _pRpcMessage,
  2230.     DWORD *_pdwStubPhase);
  2231. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_Name_Proxy( 
  2232.     _ADOColumn * This,
  2233.     /* [in] */ BSTR newVal);
  2234. void __RPC_STUB _Column_put_Name_Stub(
  2235.     IRpcStubBuffer *This,
  2236.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2237.     PRPC_MESSAGE _pRpcMessage,
  2238.     DWORD *_pdwStubPhase);
  2239. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_Attributes_Proxy( 
  2240.     _ADOColumn * This,
  2241.     /* [retval][out] */ ColumnAttributesEnum *pVal);
  2242. void __RPC_STUB _Column_get_Attributes_Stub(
  2243.     IRpcStubBuffer *This,
  2244.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2245.     PRPC_MESSAGE _pRpcMessage,
  2246.     DWORD *_pdwStubPhase);
  2247. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_Attributes_Proxy( 
  2248.     _ADOColumn * This,
  2249.     /* [in] */ ColumnAttributesEnum newVal);
  2250. void __RPC_STUB _Column_put_Attributes_Stub(
  2251.     IRpcStubBuffer *This,
  2252.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2253.     PRPC_MESSAGE _pRpcMessage,
  2254.     DWORD *_pdwStubPhase);
  2255. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_DefinedSize_Proxy( 
  2256.     _ADOColumn * This,
  2257.     /* [retval][out] */ long *pVal);
  2258. void __RPC_STUB _Column_get_DefinedSize_Stub(
  2259.     IRpcStubBuffer *This,
  2260.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2261.     PRPC_MESSAGE _pRpcMessage,
  2262.     DWORD *_pdwStubPhase);
  2263. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_DefinedSize_Proxy( 
  2264.     _ADOColumn * This,
  2265.     /* [in] */ long DefinedSize);
  2266. void __RPC_STUB _Column_put_DefinedSize_Stub(
  2267.     IRpcStubBuffer *This,
  2268.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2269.     PRPC_MESSAGE _pRpcMessage,
  2270.     DWORD *_pdwStubPhase);
  2271. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_NumericScale_Proxy( 
  2272.     _ADOColumn * This,
  2273.     /* [retval][out] */ BYTE *pVal);
  2274. void __RPC_STUB _Column_get_NumericScale_Stub(
  2275.     IRpcStubBuffer *This,
  2276.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2277.     PRPC_MESSAGE _pRpcMessage,
  2278.     DWORD *_pdwStubPhase);
  2279. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_NumericScale_Proxy( 
  2280.     _ADOColumn * This,
  2281.     /* [in] */ BYTE newVal);
  2282. void __RPC_STUB _Column_put_NumericScale_Stub(
  2283.     IRpcStubBuffer *This,
  2284.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2285.     PRPC_MESSAGE _pRpcMessage,
  2286.     DWORD *_pdwStubPhase);
  2287. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_Precision_Proxy( 
  2288.     _ADOColumn * This,
  2289.     /* [retval][out] */ long *pVal);
  2290. void __RPC_STUB _Column_get_Precision_Stub(
  2291.     IRpcStubBuffer *This,
  2292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2293.     PRPC_MESSAGE _pRpcMessage,
  2294.     DWORD *_pdwStubPhase);
  2295. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_Precision_Proxy( 
  2296.     _ADOColumn * This,
  2297.     /* [in] */ long newVal);
  2298. void __RPC_STUB _Column_put_Precision_Stub(
  2299.     IRpcStubBuffer *This,
  2300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2301.     PRPC_MESSAGE _pRpcMessage,
  2302.     DWORD *_pdwStubPhase);
  2303. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_RelatedColumn_Proxy( 
  2304.     _ADOColumn * This,
  2305.     /* [retval][out] */ BSTR *pVal);
  2306. void __RPC_STUB _Column_get_RelatedColumn_Stub(
  2307.     IRpcStubBuffer *This,
  2308.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2309.     PRPC_MESSAGE _pRpcMessage,
  2310.     DWORD *_pdwStubPhase);
  2311. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_RelatedColumn_Proxy( 
  2312.     _ADOColumn * This,
  2313.     /* [in] */ BSTR newVal);
  2314. void __RPC_STUB _Column_put_RelatedColumn_Stub(
  2315.     IRpcStubBuffer *This,
  2316.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2317.     PRPC_MESSAGE _pRpcMessage,
  2318.     DWORD *_pdwStubPhase);
  2319. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_SortOrder_Proxy( 
  2320.     _ADOColumn * This,
  2321.     /* [retval][out] */ SortOrderEnum *pVal);
  2322. void __RPC_STUB _Column_get_SortOrder_Stub(
  2323.     IRpcStubBuffer *This,
  2324.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2325.     PRPC_MESSAGE _pRpcMessage,
  2326.     DWORD *_pdwStubPhase);
  2327. /* [id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_SortOrder_Proxy( 
  2328.     _ADOColumn * This,
  2329.     /* [in] */ SortOrderEnum newVal);
  2330. void __RPC_STUB _Column_put_SortOrder_Stub(
  2331.     IRpcStubBuffer *This,
  2332.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2333.     PRPC_MESSAGE _pRpcMessage,
  2334.     DWORD *_pdwStubPhase);
  2335. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_Type_Proxy( 
  2336.     _ADOColumn * This,
  2337.     /* [retval][out] */ DataTypeEnum *pVal);
  2338. void __RPC_STUB _Column_get_Type_Stub(
  2339.     IRpcStubBuffer *This,
  2340.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2341.     PRPC_MESSAGE _pRpcMessage,
  2342.     DWORD *_pdwStubPhase);
  2343. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_Type_Proxy( 
  2344.     _ADOColumn * This,
  2345.     /* [in] */ DataTypeEnum newVal);
  2346. void __RPC_STUB _Column_put_Type_Stub(
  2347.     IRpcStubBuffer *This,
  2348.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2349.     PRPC_MESSAGE _pRpcMessage,
  2350.     DWORD *_pdwStubPhase);
  2351. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_Properties_Proxy( 
  2352.     _ADOColumn * This,
  2353.     /* [retval][out] */ ADOProperties **ppvObject);
  2354. void __RPC_STUB _Column_get_Properties_Stub(
  2355.     IRpcStubBuffer *This,
  2356.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2357.     PRPC_MESSAGE _pRpcMessage,
  2358.     DWORD *_pdwStubPhase);
  2359. /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE _Column_get_ParentCatalog_Proxy( 
  2360.     _ADOColumn * This,
  2361.     /* [retval][out] */ _ADOCatalog **ppvObject);
  2362. void __RPC_STUB _Column_get_ParentCatalog_Stub(
  2363.     IRpcStubBuffer *This,
  2364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2365.     PRPC_MESSAGE _pRpcMessage,
  2366.     DWORD *_pdwStubPhase);
  2367. /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE _Column_put_ParentCatalog_Proxy( 
  2368.     _ADOColumn * This,
  2369.     /* [in] */ _ADOCatalog *ppvObject);
  2370. void __RPC_STUB _Column_put_ParentCatalog_Stub(
  2371.     IRpcStubBuffer *This,
  2372.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2373.     PRPC_MESSAGE _pRpcMessage,
  2374.     DWORD *_pdwStubPhase);
  2375. /* [helpcontext][id][propputref] */ HRESULT STDMETHODCALLTYPE _Column_putref_ParentCatalog_Proxy( 
  2376.     _ADOColumn * This,
  2377.     /* [in] */ _ADOCatalog *ppvObject);
  2378. void __RPC_STUB _Column_putref_ParentCatalog_Stub(
  2379.     IRpcStubBuffer *This,
  2380.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2381.     PRPC_MESSAGE _pRpcMessage,
  2382.     DWORD *_pdwStubPhase);
  2383. #endif  /* ___Column_INTERFACE_DEFINED__ */
  2384. #ifndef ___Index_INTERFACE_DEFINED__
  2385. #define ___Index_INTERFACE_DEFINED__
  2386. /* interface _ADOIndex */
  2387. /* [helpcontext][unique][dual][uuid][nonextensible][object] */ 
  2388. EXTERN_C const IID IID__Index;
  2389. #if defined(__cplusplus) && !defined(CINTERFACE)
  2390.     
  2391.     MIDL_INTERFACE("0000061F-0000-0010-8000-00AA006D2EA4")
  2392.     _ADOIndex : public IDispatch
  2393.     {
  2394.     public:
  2395.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Name( 
  2396.             /* [retval][out] */ BSTR *pVal) = 0;
  2397.         
  2398.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Name( 
  2399.             /* [in] */ BSTR newVal) = 0;
  2400.         
  2401.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Clustered( 
  2402.             /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  2403.         
  2404.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Clustered( 
  2405.             /* [in] */ VARIANT_BOOL newVal) = 0;
  2406.         
  2407.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_IndexNulls( 
  2408.             /* [retval][out] */ AllowNullsEnum *pVal) = 0;
  2409.         
  2410.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_IndexNulls( 
  2411.             /* [in] */ AllowNullsEnum newVal) = 0;
  2412.         
  2413.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_PrimaryKey( 
  2414.             /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  2415.         
  2416.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_PrimaryKey( 
  2417.             /* [in] */ VARIANT_BOOL newVal) = 0;
  2418.         
  2419.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Unique( 
  2420.             /* [retval][out] */ VARIANT_BOOL *pVal) = 0;
  2421.         
  2422.         virtual /* [helpcontext][id][propput] */ HRESULT STDMETHODCALLTYPE put_Unique( 
  2423.             /* [in] */ VARIANT_BOOL newVal) = 0;
  2424.         
  2425.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Columns( 
  2426.             /* [retval][out] */ ADOColumns **ppvObject) = 0;
  2427.         
  2428.         virtual /* [helpcontext][id][propget] */ HRESULT STDMETHODCALLTYPE get_Properties( 
  2429.             /* [retval][out] */ ADOProperties **ppvObject) = 0;
  2430.         
  2431.     };
  2432.     
  2433. #else  /* C style interface */
  2434.     typedef struct _IndexVtbl
  2435.     {
  2436.         BEGIN_INTERFACE
  2437.         
  2438.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2439.             _ADOIndex * This,
  2440.             /* [in] */ REFIID riid,
  2441.             /* [iid_is][out] */ void **ppvObject);
  2442.         
  2443.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2444.             _ADOIndex * This);
  2445.         
  2446.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2447.             _ADOIndex * This);
  2448.         
  2449.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2450.             _ADOIndex * This,
  2451.             /* [out] */ UINT *pctinfo);
  2452.         
  2453.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2454.             _ADOIndex * This,
  2455.             /* [in] */ UINT iTInfo,
  2456.             /* [in] */ LCID lcid,
  2457.             /* [out] */ ITypeInfo **ppTInfo);
  2458.         
  2459.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2460.             _ADOIndex * This,
  2461.             /* [in] */ REFIID riid,
  2462.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2463.             /* [in] */ UINT cNames,
  2464.             /* [in] */ LCID lcid,