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

模拟服务器

开发平台:

C/C++

  1. //-----------------------------------------------------------------------------
  2. // File: msdasql.h
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation     
  5. //
  6. // Contents:  Provider Specific definitions
  7. //
  8. // Comments: 
  9. //
  10. //-----------------------------------------------------------------------------
  11. #ifndef  _MSDASQL_H_
  12. #define  _MSDASQL_H_
  13. #undef MSDASQLDECLSPEC
  14. #if _MSC_VER >= 1100
  15. #define MSDASQLDECLSPEC __declspec(selectany)
  16. #else
  17. #define MSDASQLDECLSPEC
  18. #endif //_MSC_VER
  19. // Provider Class Id
  20. #ifdef DBINITCONSTANTS
  21. // IID_ISQLRequestDiagFields {228972F0-B5FF-11d0-8A80-00C04FD611CD}
  22. extern const MSDASQLDECLSPEC GUID IID_ISQLRequestDiagFields = { 0x228972f0, 0xb5ff, 0x11d0, { 0x8a, 0x80, 0x0, 0xc0, 0x4f, 0xd6, 0x11, 0xcd } };
  23. // IID_ISQLGetDiagField {228972F1-B5FF-11d0-8A80-00C04FD611CD}
  24. extern const MSDASQLDECLSPEC GUID IID_ISQLGetDiagField = { 0x228972f1, 0xb5ff, 0x11d0, { 0x8a, 0x80, 0x0, 0xc0, 0x4f, 0xd6, 0x11, 0xcd } };
  25. // @msg IID_IRowsetChangeExtInfo | {0c733a8f-2a1c-11ce-ade5-00aa0044773d}
  26. extern const MSDASQLDECLSPEC GUID IID_IRowsetChangeExtInfo    = {0x0C733A8FL,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}};
  27. extern const MSDASQLDECLSPEC GUID CLSID_MSDASQL               = {0xC8B522CBL,0x5CF3,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}};
  28. extern const MSDASQLDECLSPEC GUID CLSID_MSDASQL_ENUMERATOR    = {0xC8B522CDL,0x5CF3,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}};
  29. #else // !DBINITCONSTANTS
  30. extern const GUID IID_ISQLRequestDiagFields;
  31. extern const GUID IID_ISQLGetDiagField;
  32. extern const GUID IID_IRowsetChangeExtInfo;
  33. extern const GUID CLSID_MSDASQL;
  34. extern const GUID CLSID_MSDASQL_ENUMERATOR;
  35. #endif // DBINITCONSTANTS
  36. //----------------------------------------------------------------------------
  37. // MSDASQL specific properties
  38. #ifdef DBINITCONSTANTS
  39. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERDATASOURCEINFO = {0x497c60e0,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  40. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERROWSET   = {0x497c60e1,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  41. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERDBINIT   = {0x497c60e2,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  42. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERSTMTATTR   = {0x497c60e3,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  43. extern const MSDASQLDECLSPEC GUID DBPROPSET_PROVIDERCONNATTR   = {0x497c60e4,0x7123,0x11cf,{0xb1,0x71,0x0,0xaa,0x0,0x57,0x59,0x9e}};
  44. #else // !DBINITCONSTANTS
  45. extern const GUID DBPROPSET_PROVIDERDATASOURCEINFO;
  46. extern const GUID DBPROPSET_PROVIDERROWSET;
  47. extern const GUID DBPROPSET_PROVIDERDBINIT;
  48. extern const GUID DBPROPSET_PROVIDERSTMTATTR;
  49. extern const GUID DBPROPSET_PROVIDERCONNATTR;
  50. #endif // DBINITCONSTANTS
  51. // PropIds under DBPROPSET_PROVIDERROWSET 
  52. #define KAGPROP_QUERYBASEDUPDATES 2
  53. #define KAGPROP_MARSHALLABLE 3
  54. #define KAGPROP_POSITIONONNEWROW 4
  55. #define KAGPROP_IRowsetChangeExtInfo 5
  56. #define KAGPROP_CURSOR 6
  57. #define KAGPROP_CONCURRENCY 7
  58. #define KAGPROP_BLOBSONFOCURSOR 8
  59. #define KAGPROP_INCLUDENONEXACT 9
  60. #define KAGPROP_FORCESSFIREHOSEMODE 10
  61. #define KAGPROP_FORCENOPARAMETERREBIND 11
  62. #define KAGPROP_FORCENOPREPARE 12
  63. #define KAGPROP_FORCENOREEXECUTE 13
  64. // PropIds under DPBROPSET_PROVIDERDATASOURCEINFO
  65. #define KAGPROP_ACCESSIBLEPROCEDURES 2
  66. #define KAGPROP_ACCESSIBLETABLES 3
  67. #define KAGPROP_ODBCSQLOPTIEF 4
  68. #define KAGPROP_OJCAPABILITY 5
  69. #define KAGPROP_PROCEDURES 6
  70. #define KAGPROP_DRIVERNAME 7
  71. #define KAGPROP_DRIVERVER 8
  72. #define KAGPROP_DRIVERODBCVER 9
  73. #define KAGPROP_LIKEESCAPECLAUSE 10
  74. #define KAGPROP_SPECIALCHARACTERS 11
  75. #define KAGPROP_MAXCOLUMNSINGROUPBY 12
  76. #define KAGPROP_MAXCOLUMNSININDEX 13
  77. #define KAGPROP_MAXCOLUMNSINORDERBY 14
  78. #define KAGPROP_MAXCOLUMNSINSELECT 15
  79. #define KAGPROP_MAXCOLUMNSINTABLE 16
  80. #define KAGPROP_NUMERICFUNCTIONS 17
  81. #define KAGPROP_ODBCSQLCONFORMANCE 18
  82. #define KAGPROP_OUTERJOINS 19
  83. #define KAGPROP_STRINGFUNCTIONS 20
  84. #define KAGPROP_SYSTEMFUNCTIONS 21
  85. #define KAGPROP_TIMEDATEFUNCTIONS 22
  86. #define KAGPROP_FILEUSAGE 23
  87. #define KAGPROP_ACTIVESTATEMENTS 24
  88. // PropIds under DBPROPSET_PROVIDERDBINIT 
  89. #define KAGPROP_AUTH_TRUSTEDCONNECTION 2
  90. #define KAGPROP_AUTH_SERVERINTEGRATED 3
  91. // Bitmask values for KAGPROP_CONCURRENCY
  92. #define KAGPROPVAL_CONCUR_ROWVER 0x00000001
  93. #define KAGPROPVAL_CONCUR_VALUES 0x00000002
  94. #define KAGPROPVAL_CONCUR_LOCK 0x00000004
  95. #define KAGPROPVAL_CONCUR_READ_ONLY 0x00000008
  96. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  97. /* File created by MIDL compiler version 3.00.15 */
  98. /* at Tue Sep 24 13:38:00 1996
  99.  */
  100. /* Compiler settings for rstcei.idl:
  101.     Os, W1, Zp8, env=Win32, ms_ext, c_ext
  102.     error checks: none
  103. */
  104. //@@MIDL_FILE_HEADING(  )
  105. #include "rpc.h"
  106. #include "rpcndr.h"
  107. #ifndef COM_NO_WINDOWS_H
  108. #include "windows.h"
  109. #include "ole2.h"
  110. #endif /*COM_NO_WINDOWS_H*/
  111. #ifndef __rstcei_h__
  112. #define __rstcei_h__
  113. #ifdef __cplusplus
  114. extern "C"{
  115. #endif 
  116. /* Forward Declarations */ 
  117. #ifndef __IRowsetChangeExtInfo_FWD_DEFINED__
  118. #define __IRowsetChangeExtInfo_FWD_DEFINED__
  119. typedef interface IRowsetChangeExtInfo IRowsetChangeExtInfo;
  120. #endif  /* __IRowsetChangeExtInfo_FWD_DEFINED__ */
  121. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  122. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  123. #ifndef __IRowsetChangeExtInfo_INTERFACE_DEFINED__
  124. #define __IRowsetChangeExtInfo_INTERFACE_DEFINED__
  125. /****************************************
  126.  * Generated header for interface: IRowsetChangeExtInfo
  127.  * at Tue Sep 24 13:38:00 1996
  128.  * using MIDL 3.00.15
  129.  ****************************************/
  130. /* [unique][uuid][object][local] */ 
  131. EXTERN_C const IID IID_IRowsetChangeExtInfo;
  132. #if defined(__cplusplus) && !defined(CINTERFACE)
  133.     
  134.     interface IRowsetChangeExtInfo : public IUnknown
  135.     {
  136.     public:
  137.         virtual HRESULT STDMETHODCALLTYPE GetOriginalRow( 
  138.             /* [in] */ HCHAPTER hReserved,
  139.             /* [in] */ HROW hRow,
  140.             /* [out] */ HROW __RPC_FAR *phRowOriginal) = 0;
  141.         
  142.         virtual HRESULT STDMETHODCALLTYPE GetPendingColumns( 
  143.             /* [in] */ HCHAPTER hReserved,
  144.             /* [in] */ HROW hRow,
  145.             /* [in] */ ULONG cColumnOrdinals,
  146.             /* [size_is][in] */ const ULONG __RPC_FAR rgiOrdinals[  ],
  147.             /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgColumnStatus[  ]) = 0;
  148.         
  149.     };
  150.     
  151. #else  /* C style interface */
  152.     typedef struct IRowsetChangeExtInfoVtbl
  153.     {
  154.         BEGIN_INTERFACE
  155.         
  156.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  157.             IRowsetChangeExtInfo __RPC_FAR * This,
  158.             /* [in] */ REFIID riid,
  159.             /* [out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  160.         
  161.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  162.             IRowsetChangeExtInfo __RPC_FAR * This);
  163.         
  164.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  165.             IRowsetChangeExtInfo __RPC_FAR * This);
  166.         
  167.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetOriginalRow )( 
  168.             IRowsetChangeExtInfo __RPC_FAR * This,
  169.             /* [in] */ HCHAPTER hReserved,
  170.             /* [in] */ HROW hRow,
  171.             /* [out] */ HROW __RPC_FAR *phRowOriginal);
  172.         
  173.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPendingColumns )( 
  174.             IRowsetChangeExtInfo __RPC_FAR * This,
  175.             /* [in] */ HCHAPTER hReserved,
  176.             /* [in] */ HROW hRow,
  177.             /* [in] */ ULONG cColumnOrdinals,
  178.             /* [size_is][in] */ const ULONG __RPC_FAR rgiOrdinals[  ],
  179.             /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgColumnStatus[  ]);
  180.         
  181.         END_INTERFACE
  182.     } IRowsetChangeExtInfoVtbl;
  183.     interface IRowsetChangeExtInfo
  184.     {
  185.         CONST_VTBL struct IRowsetChangeExtInfoVtbl __RPC_FAR *lpVtbl;
  186.     };
  187.     
  188. #ifdef COBJMACROS
  189. #define IRowsetChangeExtInfo_QueryInterface(This,riid,ppvObject)
  190.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  191. #define IRowsetChangeExtInfo_AddRef(This)
  192.     (This)->lpVtbl -> AddRef(This)
  193. #define IRowsetChangeExtInfo_Release(This)
  194.     (This)->lpVtbl -> Release(This)
  195. #define IRowsetChangeExtInfo_GetOriginalRow(This,hReserved,hRow,phRowOriginal)
  196.     (This)->lpVtbl -> GetOriginalRow(This,hReserved,hRow,phRowOriginal)
  197. #define IRowsetChangeExtInfo_GetPendingColumns(This,hReserved,hRow,cColumnOrdinals,rgiOrdinals,rgColumnStatus)
  198.     (This)->lpVtbl -> GetPendingColumns(This,hReserved,hRow,cColumnOrdinals,rgiOrdinals,rgColumnStatus)
  199. #endif /* COBJMACROS */
  200. #endif  /* C style interface */
  201. HRESULT STDMETHODCALLTYPE IRowsetChangeExtInfo_GetOriginalRow_Proxy( 
  202.     IRowsetChangeExtInfo __RPC_FAR * This,
  203.     /* [in] */ HCHAPTER hReserved,
  204.     /* [in] */ HROW hRow,
  205.     /* [out] */ HROW __RPC_FAR *phRowOriginal);
  206. void __RPC_STUB IRowsetChangeExtInfo_GetOriginalRow_Stub(
  207.     IRpcStubBuffer *This,
  208.     IRpcChannelBuffer *_pRpcChannelBuffer,
  209.     PRPC_MESSAGE _pRpcMessage,
  210.     DWORD *_pdwStubPhase);
  211. HRESULT STDMETHODCALLTYPE IRowsetChangeExtInfo_GetPendingColumns_Proxy( 
  212.     IRowsetChangeExtInfo __RPC_FAR * This,
  213.     /* [in] */ HCHAPTER hReserved,
  214.     /* [in] */ HROW hRow,
  215.     /* [in] */ ULONG cColumnOrdinals,
  216.     /* [size_is][in] */ const ULONG __RPC_FAR rgiOrdinals[  ],
  217.     /* [size_is][out] */ DBPENDINGSTATUS __RPC_FAR rgColumnStatus[  ]);
  218. void __RPC_STUB IRowsetChangeExtInfo_GetPendingColumns_Stub(
  219.     IRpcStubBuffer *This,
  220.     IRpcChannelBuffer *_pRpcChannelBuffer,
  221.     PRPC_MESSAGE _pRpcMessage,
  222.     DWORD *_pdwStubPhase);
  223. #endif  /* __IRowsetChangeExtInfo_INTERFACE_DEFINED__ */
  224. /* Additional Prototypes for ALL interfaces */
  225. /* end of Additional Prototypes */
  226. #ifdef __cplusplus
  227. }
  228. #endif
  229. #endif
  230. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  231. /* File created by MIDL compiler version 3.00.44 */
  232. /* at Sun May 11 15:03:47 1997
  233.  */
  234. /* Compiler settings for KAGDIAG.IDL:
  235.     Os (OptLev=s), W1, Zp8, env=Win32, ms_ext, c_ext
  236.     error checks: none
  237. */
  238. //@@MIDL_FILE_HEADING(  )
  239. #include "rpc.h"
  240. #include "rpcndr.h"
  241. #ifndef COM_NO_WINDOWS_H
  242. #include "windows.h"
  243. #include "ole2.h"
  244. #endif /*COM_NO_WINDOWS_H*/
  245. #ifndef __KAGDIAG_H__
  246. #define __KAGDIAG_H__
  247. #ifdef __cplusplus
  248. extern "C"{
  249. #endif 
  250. /* Forward Declarations */ 
  251. #ifndef __ISQLRequestDiagFields_FWD_DEFINED__
  252. #define __ISQLRequestDiagFields_FWD_DEFINED__
  253. typedef interface ISQLRequestDiagFields ISQLRequestDiagFields;
  254. #endif  /* __ISQLRequestDiagFields_FWD_DEFINED__ */
  255. #ifndef __ISQLGetDiagField_FWD_DEFINED__
  256. #define __ISQLGetDiagField_FWD_DEFINED__
  257. typedef interface ISQLGetDiagField ISQLGetDiagField;
  258. #endif  /* __ISQLGetDiagField_FWD_DEFINED__ */
  259. /* header files for imported files */
  260. #include "unknwn.h"
  261. #include "oaidl.h"
  262. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  263. void __RPC_USER MIDL_user_free( void __RPC_FAR * ); 
  264. /****************************************
  265.  * Generated header for interface: __MIDL__intf_0000
  266.  * at Sun May 11 15:03:47 1997
  267.  * using MIDL 3.00.44
  268.  ****************************************/
  269. /* [local] */ 
  270. enum KAGREQDIAGFLAGSENUM
  271.     { KAGREQDIAGFLAGS_HEADER = 0x1,
  272. KAGREQDIAGFLAGS_RECORD = 0x2
  273.     };
  274. // the structure passed in in IRequestDiagFields::RequestDiagFields
  275. typedef struct  tagKAGREQDIAG
  276.     {
  277.     ULONG ulDiagFlags;
  278.     VARTYPE vt;
  279.     SHORT sDiagField;
  280.     } KAGREQDIAG;
  281. // the structure passed in in IGetDiagField::GetDiagField
  282. typedef struct  tagKAGGETDIAG
  283.     {
  284.     ULONG ulSize;
  285.     VARIANTARG vDiagInfo;
  286.     SHORT sDiagField;
  287.     } KAGGETDIAG;
  288. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_c_ifspec;
  289. extern RPC_IF_HANDLE __MIDL__intf_0000_v0_0_s_ifspec;
  290. #ifndef __ISQLRequestDiagFields_INTERFACE_DEFINED__
  291. #define __ISQLRequestDiagFields_INTERFACE_DEFINED__
  292. /****************************************
  293.  * Generated header for interface: ISQLRequestDiagFields
  294.  * at Sun May 11 15:03:47 1997
  295.  * using MIDL 3.00.44
  296.  ****************************************/
  297. /* [object][uuid] */ 
  298. EXTERN_C const IID IID_ISQLRequestDiagFields;
  299. #if defined(__cplusplus) && !defined(CINTERFACE)
  300.     
  301.     interface ISQLRequestDiagFields : public IUnknown
  302.     {
  303.     public:
  304.         virtual HRESULT STDMETHODCALLTYPE RequestDiagFields( 
  305.             /* [in] */ ULONG cDiagFields,
  306.             /* [size_is][in] */ KAGREQDIAG __RPC_FAR rgDiagFields[  ]) = 0;
  307.         
  308.     };
  309.     
  310. #else  /* C style interface */
  311.     typedef struct ISQLRequestDiagFieldsVtbl
  312.     {
  313.         BEGIN_INTERFACE
  314.         
  315.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  316.             ISQLRequestDiagFields __RPC_FAR * This,
  317.             /* [in] */ REFIID riid,
  318.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  319.         
  320.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  321.             ISQLRequestDiagFields __RPC_FAR * This);
  322.         
  323.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  324.             ISQLRequestDiagFields __RPC_FAR * This);
  325.         
  326.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RequestDiagFields )( 
  327.             ISQLRequestDiagFields __RPC_FAR * This,
  328.             /* [in] */ ULONG cDiagFields,
  329.             /* [size_is][in] */ KAGREQDIAG __RPC_FAR rgDiagFields[  ]);
  330.         
  331.         END_INTERFACE
  332.     } ISQLRequestDiagFieldsVtbl;
  333.     interface ISQLRequestDiagFields
  334.     {
  335.         CONST_VTBL struct ISQLRequestDiagFieldsVtbl __RPC_FAR *lpVtbl;
  336.     };
  337.     
  338. #ifdef COBJMACROS
  339. #define ISQLRequestDiagFields_QueryInterface(This,riid,ppvObject)
  340.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  341. #define ISQLRequestDiagFields_AddRef(This)
  342.     (This)->lpVtbl -> AddRef(This)
  343. #define ISQLRequestDiagFields_Release(This)
  344.     (This)->lpVtbl -> Release(This)
  345. #define ISQLRequestDiagFields_RequestDiagFields(This,cDiagFields,rgDiagFields)
  346.     (This)->lpVtbl -> RequestDiagFields(This,cDiagFields,rgDiagFields)
  347. #endif /* COBJMACROS */
  348. #endif  /* C style interface */
  349. HRESULT STDMETHODCALLTYPE ISQLRequestDiagFields_RequestDiagFields_Proxy( 
  350.     ISQLRequestDiagFields __RPC_FAR * This,
  351.     /* [in] */ ULONG cDiagFields,
  352.     /* [size_is][in] */ KAGREQDIAG __RPC_FAR rgDiagFields[  ]);
  353. void __RPC_STUB ISQLRequestDiagFields_RequestDiagFields_Stub(
  354.     IRpcStubBuffer *This,
  355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  356.     PRPC_MESSAGE _pRpcMessage,
  357.     DWORD *_pdwStubPhase);
  358. #endif  /* __ISQLRequestDiagFields_INTERFACE_DEFINED__ */
  359. #ifndef __ISQLGetDiagField_INTERFACE_DEFINED__
  360. #define __ISQLGetDiagField_INTERFACE_DEFINED__
  361. /****************************************
  362.  * Generated header for interface: ISQLGetDiagField
  363.  * at Sun May 11 15:03:47 1997
  364.  * using MIDL 3.00.44
  365.  ****************************************/
  366. /* [object][uuid] */ 
  367. EXTERN_C const IID IID_ISQLGetDiagField;
  368. #if defined(__cplusplus) && !defined(CINTERFACE)
  369.     
  370.     interface ISQLGetDiagField : public IUnknown
  371.     {
  372.     public:
  373.         virtual HRESULT STDMETHODCALLTYPE GetDiagField( 
  374.             /* [unique][out][in] */ KAGGETDIAG __RPC_FAR *pDiagInfo) = 0;
  375.         
  376.     };
  377.     
  378. #else  /* C style interface */
  379.     typedef struct ISQLGetDiagFieldVtbl
  380.     {
  381.         BEGIN_INTERFACE
  382.         
  383.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )( 
  384.             ISQLGetDiagField __RPC_FAR * This,
  385.             /* [in] */ REFIID riid,
  386.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  387.         
  388.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )( 
  389.             ISQLGetDiagField __RPC_FAR * This);
  390.         
  391.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )( 
  392.             ISQLGetDiagField __RPC_FAR * This);
  393.         
  394.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetDiagField )( 
  395.             ISQLGetDiagField __RPC_FAR * This,
  396.             /* [unique][out][in] */ KAGGETDIAG __RPC_FAR *pDiagInfo);
  397.         
  398.         END_INTERFACE
  399.     } ISQLGetDiagFieldVtbl;
  400.     interface ISQLGetDiagField
  401.     {
  402.         CONST_VTBL struct ISQLGetDiagFieldVtbl __RPC_FAR *lpVtbl;
  403.     };
  404.     
  405. #ifdef COBJMACROS
  406. #define ISQLGetDiagField_QueryInterface(This,riid,ppvObject)
  407.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  408. #define ISQLGetDiagField_AddRef(This)
  409.     (This)->lpVtbl -> AddRef(This)
  410. #define ISQLGetDiagField_Release(This)
  411.     (This)->lpVtbl -> Release(This)
  412. #define ISQLGetDiagField_GetDiagField(This,pDiagInfo)
  413.     (This)->lpVtbl -> GetDiagField(This,pDiagInfo)
  414. #endif /* COBJMACROS */
  415. #endif  /* C style interface */
  416. HRESULT STDMETHODCALLTYPE ISQLGetDiagField_GetDiagField_Proxy( 
  417.     ISQLGetDiagField __RPC_FAR * This,
  418.     /* [unique][out][in] */ KAGGETDIAG __RPC_FAR *pDiagInfo);
  419. void __RPC_STUB ISQLGetDiagField_GetDiagField_Stub(
  420.     IRpcStubBuffer *This,
  421.     IRpcChannelBuffer *_pRpcChannelBuffer,
  422.     PRPC_MESSAGE _pRpcMessage,
  423.     DWORD *_pdwStubPhase);
  424. #endif  /* __ISQLGetDiagField_INTERFACE_DEFINED__ */
  425. /* Additional Prototypes for ALL interfaces */
  426. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * ); 
  427. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  428. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * ); 
  429. void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * ); 
  430. /* end of Additional Prototypes */
  431. #ifdef __cplusplus
  432. }
  433. #endif
  434. #endif
  435. #endif
  436. //----