home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / msimdb.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  44KB  |  1,159 lines

  1. //--------------------------------------------------------------------
  2. //
  3. // Microsoft In-Memory Database
  4. // (C) Copyright 1998 - 1999 Microsoft Corporation.
  5. //
  6. //
  7. //--------------------------------------------------------------------
  8.  
  9. #ifndef  _MSIMDB_H_
  10. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  11.     #define  _MSIMDB_H_
  12.  
  13.     //
  14.     // MSIMDB property specific definitions
  15.     //
  16.     // The GUID for the MSIMDB specific property set on the session
  17.     //
  18.     // {AFE68CE9-C367-11d1-AC4F-0000F8758E41}
  19.     _declspec(selectany) extern const GUID DBPROPSET_IMDBSESSION =
  20.             { 0xafe68ce9, 0xc367, 0x11d1, { 0xac, 0x4f, 0x0, 0x0, 0xf8, 0x75, 0x8e, 0x41 } };
  21.  
  22.  
  23.     //----------------------------------------------------------------------------
  24.     // Props for DBPROPSET_IMDBSESSION
  25.     //
  26.     #define IMDBPROP_SESS_ISOLEVEL                0x01    // I4
  27.                                                         //        DBPROPVAL_TI_READCOMMITTED (Default),
  28.                                                         //        DBPROPVAL_TI_REPEATABLEREAD,
  29.                                                         //        DBPROPVAL_TI_SERIALIZABLE
  30.  
  31.     #define IMDBPROP_SESS_OPENROWSET_TIMEOUT    0x02    // I2 0 (30s wait, Default)
  32.     #define IMDBPROP_SESS_SMALL_TABLES            0x03    // BOOL VARIANT_FALSE (Default)
  33.     #define IMDBPROP_SESS_PESSIMISTIC_LOCKING    0x04    // BOOL VARIANT_FALSE (Default)
  34.     #define IMDBPROP_SESS_WRITE_THROUGH            0x05    // BOOL VARIANT_FALSE (Default)
  35.     #define IMDBPROP_SESS_CREATE_COHERENT        0x06    // BOOL VARIANT_TRUE (Default)
  36.     #define IMDBPROP_SESS_DROP_COHERENT            0x07    // BOOL VARIANT_TRUE (Default)
  37.     #define IMDBPROP_SESS_ROWSET_LIFETIME        0x08    // I4 300 (300s wait, Default)
  38.  
  39.  
  40.     #define IMDBPROP_SESS_OPENROWSET_TIMEOUT_DEFAULT_VALUE  30
  41.     #define IMDBPROP_SESS_OPENROWSET_TIMEOUT_MIN_VALUE      0
  42.     #define IMDBPROP_SESS_OPENROWSET_TIMEOUT_MAX_VALUE      0xffff
  43.  
  44.  
  45. #pragma warning( disable: 4049 )  /* more than 64k source lines */
  46.  
  47. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  48.  
  49.  
  50.  /* File created by MIDL compiler version 5.02.0221 */
  51. /* at Mon Dec 14 12:35:36 1998
  52.  */
  53. /* Compiler settings for tspm.idl:
  54.     Oicf (OptLev=i2), W1, Zp8, env=Win32 (32b run), ms_ext, c_ext
  55.     error checks: allocation ref bounds_check enum stub_data
  56.     VC __declspec() decoration level:
  57.          __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  58.          DECLSPEC_UUID(), MIDL_INTERFACE()
  59. */
  60. //@@MIDL_FILE_HEADING(  )
  61.  
  62.  
  63. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  64. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  65. #define __REQUIRED_RPCNDR_H_VERSION__ 440
  66. #endif
  67.  
  68. #include "rpc.h"
  69. #include "rpcndr.h"
  70.  
  71. #ifndef __RPCNDR_H_VERSION__
  72. #error this stub requires an updated version of <rpcndr.h>
  73. #endif // __RPCNDR_H_VERSION__
  74.  
  75. #ifndef COM_NO_WINDOWS_H
  76. #include "windows.h"
  77. #include "ole2.h"
  78. #endif /*COM_NO_WINDOWS_H*/
  79.  
  80. #ifndef __tspm_h__
  81. #define __tspm_h__
  82.  
  83. /* Forward Declarations */
  84.  
  85. #ifndef __ITxProperty_FWD_DEFINED__
  86. #define __ITxProperty_FWD_DEFINED__
  87. typedef interface ITxProperty ITxProperty;
  88. #endif     /* __ITxProperty_FWD_DEFINED__ */
  89.  
  90.  
  91. #ifndef __ITxPropertyGroup_FWD_DEFINED__
  92. #define __ITxPropertyGroup_FWD_DEFINED__
  93. typedef interface ITxPropertyGroup ITxPropertyGroup;
  94. #endif     /* __ITxPropertyGroup_FWD_DEFINED__ */
  95.  
  96.  
  97. #ifndef __ITxPropertyGroupManager_FWD_DEFINED__
  98. #define __ITxPropertyGroupManager_FWD_DEFINED__
  99. typedef interface ITxPropertyGroupManager ITxPropertyGroupManager;
  100. #endif     /* __ITxPropertyGroupManager_FWD_DEFINED__ */
  101.  
  102.  
  103. #ifndef __TransactedPropertyGroupManager_FWD_DEFINED__
  104. #define __TransactedPropertyGroupManager_FWD_DEFINED__
  105.  
  106. #ifdef __cplusplus
  107. typedef class TransactedPropertyGroupManager TransactedPropertyGroupManager;
  108. #else
  109. typedef struct TransactedPropertyGroupManager TransactedPropertyGroupManager;
  110. #endif /* __cplusplus */
  111.  
  112. #endif     /* __TransactedPropertyGroupManager_FWD_DEFINED__ */
  113.  
  114.  
  115. #ifndef __TransactedPropertyGroup_FWD_DEFINED__
  116. #define __TransactedPropertyGroup_FWD_DEFINED__
  117.  
  118. #ifdef __cplusplus
  119. typedef class TransactedPropertyGroup TransactedPropertyGroup;
  120. #else
  121. typedef struct TransactedPropertyGroup TransactedPropertyGroup;
  122. #endif /* __cplusplus */
  123.  
  124. #endif     /* __TransactedPropertyGroup_FWD_DEFINED__ */
  125.  
  126.  
  127. #ifndef __TransactedProperty_FWD_DEFINED__
  128. #define __TransactedProperty_FWD_DEFINED__
  129.  
  130. #ifdef __cplusplus
  131. typedef class TransactedProperty TransactedProperty;
  132. #else
  133. typedef struct TransactedProperty TransactedProperty;
  134. #endif /* __cplusplus */
  135.  
  136. #endif     /* __TransactedProperty_FWD_DEFINED__ */
  137.  
  138.  
  139. /* header files for imported files */
  140. #include "oaidl.h"
  141. #include "ocidl.h"
  142.  
  143. #ifdef __cplusplus
  144. extern "C"{
  145. #endif
  146.  
  147. void __RPC_FAR * __RPC_USER MIDL_user_allocate(size_t);
  148. void __RPC_USER MIDL_user_free( void __RPC_FAR * );
  149.  
  150. /* interface __MIDL_itf_tspm_0000 */
  151. /* [local] */
  152.  
  153. //=--------------------------------------------------------------------------=
  154. // @doc
  155. //
  156. // @module    TSPM.H | TSPM interfaces:
  157. //                      ITxProperty
  158. //                      ITxPropertyGroup
  159. //                      ITxPropertyGroupManager
  160. //
  161. // Copyright (c) 1998 - 1999 Microsoft Corporation, All Rights Reserved
  162. //=--------------------------------------------------------------------------=
  163.  
  164.  
  165. //=--------------------------------------------------------------------------=
  166. // Interface Definitions
  167. //=--------------------------------------------------------------------------=
  168.  
  169. typedef /* [public] */
  170. enum __MIDL___MIDL_itf_tspm_0000_0001
  171.     {    DISPID_CREATEGROUP    = 1,
  172.     DISPID_REMOVEGROUP    = DISPID_CREATEGROUP + 1,
  173.     DISPID_CREATEPROPERTY    = DISPID_REMOVEGROUP + 1,
  174.     DISPID_GETPROPERTY    = DISPID_CREATEPROPERTY + 1,
  175.     DISPID_REMOVEPROPERTY    = DISPID_GETPROPERTY + 1,
  176.     DISPID_GETGROUP    = DISPID_REMOVEPROPERTY + 1
  177.     }    TSPM_METHODS;
  178.  
  179. typedef /* [public] */
  180. enum __MIDL___MIDL_itf_tspm_0000_0002
  181.     {    DISPID_NAME    = 140,
  182.     DISPID_PROPERTYGROUP    = DISPID_NAME + 1,
  183.     DISPID_ISOLATIONLEVEL    = DISPID_PROPERTYGROUP + 1,
  184.     DISPID_CONCURRENCYMODE    = DISPID_ISOLATIONLEVEL + 1,
  185.     DISPID_PROPERTYGROUPMANAGER    = DISPID_CONCURRENCYMODE + 1,
  186.     DISPID_COUNT    = DISPID_PROPERTYGROUPMANAGER + 1,
  187.     DISPID_CACHECOHERENTLY    = DISPID_COUNT + 1,
  188.     DISPID_WRITETHROUGH    = DISPID_CACHECOHERENTLY + 1
  189.     }    TSPM_PROPERTIES;
  190.  
  191.  
  192. extern RPC_IF_HANDLE __MIDL_itf_tspm_0000_v0_0_c_ifspec;
  193. extern RPC_IF_HANDLE __MIDL_itf_tspm_0000_v0_0_s_ifspec;
  194.  
  195. #ifndef __ITxProperty_INTERFACE_DEFINED__
  196. #define __ITxProperty_INTERFACE_DEFINED__
  197.  
  198. /* interface ITxProperty */
  199. /* [unique][helpstring][dual][uuid][object] */
  200.  
  201.  
  202. EXTERN_C const IID IID_ITxProperty;
  203.  
  204. #if defined(__cplusplus) && !defined(CINTERFACE)
  205.  
  206.     MIDL_INTERFACE("6A8DEEA8-4101-11D2-912C-0000F8758E8D")
  207.     ITxProperty : public IDispatch
  208.     {
  209.     public:
  210.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name(
  211.             /* [retval][out] */ BSTR __RPC_FAR *pbstrPropertyName) = 0;
  212.  
  213.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PropertyGroup(
  214.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppPropertyGroup) = 0;
  215.  
  216.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Value(
  217.             /* [retval][out] */ VARIANT __RPC_FAR *pvarPropertyValue) = 0;
  218.  
  219.         virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Value(
  220.             /* [in] */ VARIANT varPropertyValue) = 0;
  221.  
  222.     };
  223.  
  224. #else     /* C style interface */
  225.  
  226.     typedef struct ITxPropertyVtbl
  227.     {
  228.         BEGIN_INTERFACE
  229.  
  230.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  231.             ITxProperty __RPC_FAR * This,
  232.             /* [in] */ REFIID riid,
  233.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  234.  
  235.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  236.             ITxProperty __RPC_FAR * This);
  237.  
  238.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  239.             ITxProperty __RPC_FAR * This);
  240.  
  241.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  242.             ITxProperty __RPC_FAR * This,
  243.             /* [out] */ UINT __RPC_FAR *pctinfo);
  244.  
  245.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  246.             ITxProperty __RPC_FAR * This,
  247.             /* [in] */ UINT iTInfo,
  248.             /* [in] */ LCID lcid,
  249.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  250.  
  251.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  252.             ITxProperty __RPC_FAR * This,
  253.             /* [in] */ REFIID riid,
  254.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  255.             /* [in] */ UINT cNames,
  256.             /* [in] */ LCID lcid,
  257.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  258.  
  259.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  260.             ITxProperty __RPC_FAR * This,
  261.             /* [in] */ DISPID dispIdMember,
  262.             /* [in] */ REFIID riid,
  263.             /* [in] */ LCID lcid,
  264.             /* [in] */ WORD wFlags,
  265.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  266.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  267.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  268.             /* [out] */ UINT __RPC_FAR *puArgErr);
  269.  
  270.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )(
  271.             ITxProperty __RPC_FAR * This,
  272.             /* [retval][out] */ BSTR __RPC_FAR *pbstrPropertyName);
  273.  
  274.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PropertyGroup )(
  275.             ITxProperty __RPC_FAR * This,
  276.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppPropertyGroup);
  277.  
  278.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Value )(
  279.             ITxProperty __RPC_FAR * This,
  280.             /* [retval][out] */ VARIANT __RPC_FAR *pvarPropertyValue);
  281.  
  282.         /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_Value )(
  283.             ITxProperty __RPC_FAR * This,
  284.             /* [in] */ VARIANT varPropertyValue);
  285.  
  286.         END_INTERFACE
  287.     } ITxPropertyVtbl;
  288.  
  289.     interface ITxProperty
  290.     {
  291.         CONST_VTBL struct ITxPropertyVtbl __RPC_FAR *lpVtbl;
  292.     };
  293.  
  294.  
  295.  
  296. #ifdef COBJMACROS
  297.  
  298.  
  299. #define ITxProperty_QueryInterface(This,riid,ppvObject)    \
  300.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  301.  
  302. #define ITxProperty_AddRef(This)    \
  303.     (This)->lpVtbl -> AddRef(This)
  304.  
  305. #define ITxProperty_Release(This)    \
  306.     (This)->lpVtbl -> Release(This)
  307.  
  308. #define ITxProperty_GetTypeInfoCount(This,pctinfo)    \
  309.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  310.  
  311. #define ITxProperty_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  312.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  313.  
  314. #define ITxProperty_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  315.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  316.  
  317. #define ITxProperty_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  318.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  319.  
  320.  
  321. #define ITxProperty_get_Name(This,pbstrPropertyName)    \
  322.     (This)->lpVtbl -> get_Name(This,pbstrPropertyName)
  323.  
  324. #define ITxProperty_get_PropertyGroup(This,ppPropertyGroup)    \
  325.     (This)->lpVtbl -> get_PropertyGroup(This,ppPropertyGroup)
  326.  
  327. #define ITxProperty_get_Value(This,pvarPropertyValue)    \
  328.     (This)->lpVtbl -> get_Value(This,pvarPropertyValue)
  329.  
  330. #define ITxProperty_put_Value(This,varPropertyValue)    \
  331.     (This)->lpVtbl -> put_Value(This,varPropertyValue)
  332.  
  333. #endif /* COBJMACROS */
  334.  
  335.  
  336. #endif     /* C style interface */
  337.  
  338.  
  339.  
  340. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxProperty_get_Name_Proxy(
  341.     ITxProperty __RPC_FAR * This,
  342.     /* [retval][out] */ BSTR __RPC_FAR *pbstrPropertyName);
  343.  
  344.  
  345. void __RPC_STUB ITxProperty_get_Name_Stub(
  346.     IRpcStubBuffer *This,
  347.     IRpcChannelBuffer *_pRpcChannelBuffer,
  348.     PRPC_MESSAGE _pRpcMessage,
  349.     DWORD *_pdwStubPhase);
  350.  
  351.  
  352. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxProperty_get_PropertyGroup_Proxy(
  353.     ITxProperty __RPC_FAR * This,
  354.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppPropertyGroup);
  355.  
  356.  
  357. void __RPC_STUB ITxProperty_get_PropertyGroup_Stub(
  358.     IRpcStubBuffer *This,
  359.     IRpcChannelBuffer *_pRpcChannelBuffer,
  360.     PRPC_MESSAGE _pRpcMessage,
  361.     DWORD *_pdwStubPhase);
  362.  
  363.  
  364. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxProperty_get_Value_Proxy(
  365.     ITxProperty __RPC_FAR * This,
  366.     /* [retval][out] */ VARIANT __RPC_FAR *pvarPropertyValue);
  367.  
  368.  
  369. void __RPC_STUB ITxProperty_get_Value_Stub(
  370.     IRpcStubBuffer *This,
  371.     IRpcChannelBuffer *_pRpcChannelBuffer,
  372.     PRPC_MESSAGE _pRpcMessage,
  373.     DWORD *_pdwStubPhase);
  374.  
  375.  
  376. /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITxProperty_put_Value_Proxy(
  377.     ITxProperty __RPC_FAR * This,
  378.     /* [in] */ VARIANT varPropertyValue);
  379.  
  380.  
  381. void __RPC_STUB ITxProperty_put_Value_Stub(
  382.     IRpcStubBuffer *This,
  383.     IRpcChannelBuffer *_pRpcChannelBuffer,
  384.     PRPC_MESSAGE _pRpcMessage,
  385.     DWORD *_pdwStubPhase);
  386.  
  387.  
  388.  
  389. #endif     /* __ITxProperty_INTERFACE_DEFINED__ */
  390.  
  391.  
  392. #ifndef __ITxPropertyGroup_INTERFACE_DEFINED__
  393. #define __ITxPropertyGroup_INTERFACE_DEFINED__
  394.  
  395. /* interface ITxPropertyGroup */
  396. /* [unique][helpstring][dual][uuid][object] */
  397.  
  398.  
  399. EXTERN_C const IID IID_ITxPropertyGroup;
  400.  
  401. #if defined(__cplusplus) && !defined(CINTERFACE)
  402.  
  403.     MIDL_INTERFACE("46DB591E-4101-11D2-912C-0000F8758E8D")
  404.     ITxPropertyGroup : public IDispatch
  405.     {
  406.     public:
  407.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreateProperty(
  408.             /* [string][in] */ const BSTR bstrPropertyName,
  409.             /* [in] */ VARIANT_BOOL __RPC_FAR *pvarboolExists,
  410.             /* [retval][out] */ ITxProperty __RPC_FAR *__RPC_FAR *ppTxProperty) = 0;
  411.  
  412.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetProperty(
  413.             /* [string][in] */ const BSTR bstrPropertyName,
  414.             /* [retval][out] */ ITxProperty __RPC_FAR *__RPC_FAR *ppTxProperty) = 0;
  415.  
  416.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveProperty(
  417.             /* [string][in] */ const BSTR bstrPropertyName) = 0;
  418.  
  419.         virtual /* [helpstring][id][hidden] */ HRESULT STDMETHODCALLTYPE _NewEnum(
  420.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppIEnumObjects) = 0;
  421.  
  422.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name(
  423.             /* [retval][out] */ BSTR __RPC_FAR *pbstrPropertyGroupName) = 0;
  424.  
  425.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_WriteThrough(
  426.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pvarboolWriteThrough) = 0;
  427.  
  428.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_CacheCoherently(
  429.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pvarboolCacheCoherently) = 0;
  430.  
  431.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_PropertyGroupManager(
  432.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppPropertyGroupManager) = 0;
  433.  
  434.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count(
  435.             /* [retval][out] */ long __RPC_FAR *plCountProperties) = 0;
  436.  
  437.     };
  438.  
  439. #else     /* C style interface */
  440.  
  441.     typedef struct ITxPropertyGroupVtbl
  442.     {
  443.         BEGIN_INTERFACE
  444.  
  445.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  446.             ITxPropertyGroup __RPC_FAR * This,
  447.             /* [in] */ REFIID riid,
  448.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  449.  
  450.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  451.             ITxPropertyGroup __RPC_FAR * This);
  452.  
  453.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  454.             ITxPropertyGroup __RPC_FAR * This);
  455.  
  456.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  457.             ITxPropertyGroup __RPC_FAR * This,
  458.             /* [out] */ UINT __RPC_FAR *pctinfo);
  459.  
  460.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  461.             ITxPropertyGroup __RPC_FAR * This,
  462.             /* [in] */ UINT iTInfo,
  463.             /* [in] */ LCID lcid,
  464.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  465.  
  466.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  467.             ITxPropertyGroup __RPC_FAR * This,
  468.             /* [in] */ REFIID riid,
  469.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  470.             /* [in] */ UINT cNames,
  471.             /* [in] */ LCID lcid,
  472.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  473.  
  474.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  475.             ITxPropertyGroup __RPC_FAR * This,
  476.             /* [in] */ DISPID dispIdMember,
  477.             /* [in] */ REFIID riid,
  478.             /* [in] */ LCID lcid,
  479.             /* [in] */ WORD wFlags,
  480.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  481.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  482.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  483.             /* [out] */ UINT __RPC_FAR *puArgErr);
  484.  
  485.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreateProperty )(
  486.             ITxPropertyGroup __RPC_FAR * This,
  487.             /* [string][in] */ const BSTR bstrPropertyName,
  488.             /* [in] */ VARIANT_BOOL __RPC_FAR *pvarboolExists,
  489.             /* [retval][out] */ ITxProperty __RPC_FAR *__RPC_FAR *ppTxProperty);
  490.  
  491.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetProperty )(
  492.             ITxPropertyGroup __RPC_FAR * This,
  493.             /* [string][in] */ const BSTR bstrPropertyName,
  494.             /* [retval][out] */ ITxProperty __RPC_FAR *__RPC_FAR *ppTxProperty);
  495.  
  496.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemoveProperty )(
  497.             ITxPropertyGroup __RPC_FAR * This,
  498.             /* [string][in] */ const BSTR bstrPropertyName);
  499.  
  500.         /* [helpstring][id][hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )(
  501.             ITxPropertyGroup __RPC_FAR * This,
  502.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppIEnumObjects);
  503.  
  504.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Name )(
  505.             ITxPropertyGroup __RPC_FAR * This,
  506.             /* [retval][out] */ BSTR __RPC_FAR *pbstrPropertyGroupName);
  507.  
  508.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_WriteThrough )(
  509.             ITxPropertyGroup __RPC_FAR * This,
  510.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pvarboolWriteThrough);
  511.  
  512.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_CacheCoherently )(
  513.             ITxPropertyGroup __RPC_FAR * This,
  514.             /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pvarboolCacheCoherently);
  515.  
  516.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_PropertyGroupManager )(
  517.             ITxPropertyGroup __RPC_FAR * This,
  518.             /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppPropertyGroupManager);
  519.  
  520.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  521.             ITxPropertyGroup __RPC_FAR * This,
  522.             /* [retval][out] */ long __RPC_FAR *plCountProperties);
  523.  
  524.         END_INTERFACE
  525.     } ITxPropertyGroupVtbl;
  526.  
  527.     interface ITxPropertyGroup
  528.     {
  529.         CONST_VTBL struct ITxPropertyGroupVtbl __RPC_FAR *lpVtbl;
  530.     };
  531.  
  532.  
  533.  
  534. #ifdef COBJMACROS
  535.  
  536.  
  537. #define ITxPropertyGroup_QueryInterface(This,riid,ppvObject)    \
  538.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  539.  
  540. #define ITxPropertyGroup_AddRef(This)    \
  541.     (This)->lpVtbl -> AddRef(This)
  542.  
  543. #define ITxPropertyGroup_Release(This)    \
  544.     (This)->lpVtbl -> Release(This)
  545.  
  546.  
  547. #define ITxPropertyGroup_GetTypeInfoCount(This,pctinfo)    \
  548.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  549.  
  550. #define ITxPropertyGroup_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  551.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  552.  
  553. #define ITxPropertyGroup_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  554.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  555.  
  556. #define ITxPropertyGroup_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  557.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  558.  
  559.  
  560. #define ITxPropertyGroup_CreateProperty(This,bstrPropertyName,pvarboolExists,ppTxProperty)    \
  561.     (This)->lpVtbl -> CreateProperty(This,bstrPropertyName,pvarboolExists,ppTxProperty)
  562.  
  563. #define ITxPropertyGroup_GetProperty(This,bstrPropertyName,ppTxProperty)    \
  564.     (This)->lpVtbl -> GetProperty(This,bstrPropertyName,ppTxProperty)
  565.  
  566. #define ITxPropertyGroup_RemoveProperty(This,bstrPropertyName)    \
  567.     (This)->lpVtbl -> RemoveProperty(This,bstrPropertyName)
  568.  
  569. #define ITxPropertyGroup__NewEnum(This,ppIEnumObjects)    \
  570.     (This)->lpVtbl -> _NewEnum(This,ppIEnumObjects)
  571.  
  572. #define ITxPropertyGroup_get_Name(This,pbstrPropertyGroupName)    \
  573.     (This)->lpVtbl -> get_Name(This,pbstrPropertyGroupName)
  574.  
  575. #define ITxPropertyGroup_get_WriteThrough(This,pvarboolWriteThrough)    \
  576.     (This)->lpVtbl -> get_WriteThrough(This,pvarboolWriteThrough)
  577.  
  578. #define ITxPropertyGroup_get_CacheCoherently(This,pvarboolCacheCoherently)    \
  579.     (This)->lpVtbl -> get_CacheCoherently(This,pvarboolCacheCoherently)
  580.  
  581. #define ITxPropertyGroup_get_PropertyGroupManager(This,ppPropertyGroupManager)    \
  582.     (This)->lpVtbl -> get_PropertyGroupManager(This,ppPropertyGroupManager)
  583.  
  584. #define ITxPropertyGroup_get_Count(This,plCountProperties)    \
  585.     (This)->lpVtbl -> get_Count(This,plCountProperties)
  586.  
  587. #endif /* COBJMACROS */
  588.  
  589.  
  590. #endif     /* C style interface */
  591.  
  592.  
  593.  
  594. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup_CreateProperty_Proxy(
  595.     ITxPropertyGroup __RPC_FAR * This,
  596.     /* [string][in] */ const BSTR bstrPropertyName,
  597.     /* [in] */ VARIANT_BOOL __RPC_FAR *pvarboolExists,
  598.     /* [retval][out] */ ITxProperty __RPC_FAR *__RPC_FAR *ppTxProperty);
  599.  
  600.  
  601. void __RPC_STUB ITxPropertyGroup_CreateProperty_Stub(
  602.     IRpcStubBuffer *This,
  603.     IRpcChannelBuffer *_pRpcChannelBuffer,
  604.     PRPC_MESSAGE _pRpcMessage,
  605.     DWORD *_pdwStubPhase);
  606.  
  607.  
  608. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup_GetProperty_Proxy(
  609.     ITxPropertyGroup __RPC_FAR * This,
  610.     /* [string][in] */ const BSTR bstrPropertyName,
  611.     /* [retval][out] */ ITxProperty __RPC_FAR *__RPC_FAR *ppTxProperty);
  612.  
  613.  
  614. void __RPC_STUB ITxPropertyGroup_GetProperty_Stub(
  615.     IRpcStubBuffer *This,
  616.     IRpcChannelBuffer *_pRpcChannelBuffer,
  617.     PRPC_MESSAGE _pRpcMessage,
  618.     DWORD *_pdwStubPhase);
  619.  
  620.  
  621. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup_RemoveProperty_Proxy(
  622.     ITxPropertyGroup __RPC_FAR * This,
  623.     /* [string][in] */ const BSTR bstrPropertyName);
  624.  
  625.  
  626. void __RPC_STUB ITxPropertyGroup_RemoveProperty_Stub(
  627.     IRpcStubBuffer *This,
  628.     IRpcChannelBuffer *_pRpcChannelBuffer,
  629.     PRPC_MESSAGE _pRpcMessage,
  630.     DWORD *_pdwStubPhase);
  631.  
  632.  
  633. /* [helpstring][id][hidden] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup__NewEnum_Proxy(
  634.     ITxPropertyGroup __RPC_FAR * This,
  635.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppIEnumObjects);
  636.  
  637.  
  638. void __RPC_STUB ITxPropertyGroup__NewEnum_Stub(
  639.     IRpcStubBuffer *This,
  640.     IRpcChannelBuffer *_pRpcChannelBuffer,
  641.     PRPC_MESSAGE _pRpcMessage,
  642.     DWORD *_pdwStubPhase);
  643.  
  644.  
  645. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup_get_Name_Proxy(
  646.     ITxPropertyGroup __RPC_FAR * This,
  647.     /* [retval][out] */ BSTR __RPC_FAR *pbstrPropertyGroupName);
  648.  
  649.  
  650. void __RPC_STUB ITxPropertyGroup_get_Name_Stub(
  651.     IRpcStubBuffer *This,
  652.     IRpcChannelBuffer *_pRpcChannelBuffer,
  653.     PRPC_MESSAGE _pRpcMessage,
  654.     DWORD *_pdwStubPhase);
  655.  
  656.  
  657. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup_get_WriteThrough_Proxy(
  658.     ITxPropertyGroup __RPC_FAR * This,
  659.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pvarboolWriteThrough);
  660.  
  661.  
  662. void __RPC_STUB ITxPropertyGroup_get_WriteThrough_Stub(
  663.     IRpcStubBuffer *This,
  664.     IRpcChannelBuffer *_pRpcChannelBuffer,
  665.     PRPC_MESSAGE _pRpcMessage,
  666.     DWORD *_pdwStubPhase);
  667.  
  668.  
  669. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup_get_CacheCoherently_Proxy(
  670.     ITxPropertyGroup __RPC_FAR * This,
  671.     /* [retval][out] */ VARIANT_BOOL __RPC_FAR *pvarboolCacheCoherently);
  672.  
  673.  
  674. void __RPC_STUB ITxPropertyGroup_get_CacheCoherently_Stub(
  675.     IRpcStubBuffer *This,
  676.     IRpcChannelBuffer *_pRpcChannelBuffer,
  677.     PRPC_MESSAGE _pRpcMessage,
  678.     DWORD *_pdwStubPhase);
  679.  
  680.  
  681. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup_get_PropertyGroupManager_Proxy(
  682.     ITxPropertyGroup __RPC_FAR * This,
  683.     /* [retval][out] */ IDispatch __RPC_FAR *__RPC_FAR *ppPropertyGroupManager);
  684.  
  685.  
  686. void __RPC_STUB ITxPropertyGroup_get_PropertyGroupManager_Stub(
  687.     IRpcStubBuffer *This,
  688.     IRpcChannelBuffer *_pRpcChannelBuffer,
  689.     PRPC_MESSAGE _pRpcMessage,
  690.     DWORD *_pdwStubPhase);
  691.  
  692.  
  693. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroup_get_Count_Proxy(
  694.     ITxPropertyGroup __RPC_FAR * This,
  695.     /* [retval][out] */ long __RPC_FAR *plCountProperties);
  696.  
  697.  
  698. void __RPC_STUB ITxPropertyGroup_get_Count_Stub(
  699.     IRpcStubBuffer *This,
  700.     IRpcChannelBuffer *_pRpcChannelBuffer,
  701.     PRPC_MESSAGE _pRpcMessage,
  702.     DWORD *_pdwStubPhase);
  703.  
  704.  
  705.  
  706. #endif     /* __ITxPropertyGroup_INTERFACE_DEFINED__ */
  707.  
  708.  
  709. #ifndef __ITxPropertyGroupManager_INTERFACE_DEFINED__
  710. #define __ITxPropertyGroupManager_INTERFACE_DEFINED__
  711.  
  712. /* interface ITxPropertyGroupManager */
  713. /* [unique][helpstring][dual][uuid][object] */
  714.  
  715. //=--------------------------------------------------------------------------=
  716. // Enumerated Properties
  717. //=--------------------------------------------------------------------------=
  718.  
  719.  
  720. typedef 
  721. enum tagTSPM_ISOLATIONLEVEL
  722.     {    
  723.     IsoLevelReadCommitted        = 0,
  724.     IsoLevelRepeatableRead        = 1,
  725.     IsoLevelSerializable        = 2
  726.     }    TSPM_ISOLATIONLEVEL;
  727.  
  728. typedef 
  729. enum tagTSPM_CONCURRENCYMODE
  730.     {    
  731.     ConcurModeOptimistic        = 0,
  732.     ConcurModePessimistic        = 1
  733.     }    TSPM_CONCURRENCYMODE;
  734.  
  735. typedef 
  736. enum tagTSPM_SECURITYSETTING
  737.     {    
  738.     SecurityAllAccess            = 0,
  739.     SecurityUserAccount            = 1,
  740.     SecuritySelectedAccounts    = 2
  741.     }    TSPM_SECURITYSETTING;
  742.  
  743.  
  744. EXTERN_C const IID IID_ITxPropertyGroupManager;
  745.  
  746. #if defined(__cplusplus) && !defined(CINTERFACE)
  747.  
  748.     MIDL_INTERFACE("B97C237C-7D7E-11D2-BEA0-00805F0D8F97")
  749.     ITxPropertyGroupManager : public IDispatch
  750.     {
  751.     public:
  752.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE CreatePropertyGroup(
  753.             /* [string][in] */ const BSTR bstrPropertyGroupName,
  754.             /* [out] */ VARIANT_BOOL __RPC_FAR *pvarboolExists,
  755.             /* [in] */ VARIANT_BOOL varboolWriteThrough,
  756.             /* [in] */ VARIANT_BOOL varboolRemoveAtProcessTermination,
  757.             /* [in] */ TSPM_SECURITYSETTING eSecuritySetting,
  758.             /* [string][in] */ const BSTR bstrAccessAccounts,
  759.             /* [in] */ VARIANT_BOOL varboolReserved,
  760.             /* [retval][out] */ ITxPropertyGroup __RPC_FAR *__RPC_FAR *ppTxPropertyGroup) = 0;
  761.  
  762.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPropertyGroup(
  763.             /* [string][in] */ const BSTR bstrPropertyGroupName,
  764.             /* [in] */ VARIANT_BOOL varboolWriteThrough,
  765.             /* [retval][out] */ ITxPropertyGroup __RPC_FAR *__RPC_FAR *ppTxPropertyGroup) = 0;
  766.  
  767.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemovePropertyGroup(
  768.             /* [string][in] */ const BSTR bstrPropertyGroupName) = 0;
  769.  
  770.         virtual /* [helpstring][id][hidden] */ HRESULT STDMETHODCALLTYPE _NewEnum(
  771.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppIEnumObjects) = 0;
  772.  
  773.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_IsolationLevel(
  774.             /* [retval][out] */ TSPM_ISOLATIONLEVEL __RPC_FAR *peIsolationLevel) = 0;
  775.  
  776.         virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_IsolationLevel(
  777.             /* [in] */ TSPM_ISOLATIONLEVEL eIsolationLevel) = 0;
  778.  
  779.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ConcurrencyMode(
  780.             /* [retval][out] */ TSPM_CONCURRENCYMODE __RPC_FAR *peConcurrencyMode) = 0;
  781.  
  782.         virtual /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ConcurrencyMode(
  783.             /* [in] */ TSPM_CONCURRENCYMODE eConcurrencyMode) = 0;
  784.  
  785.         virtual /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Count(
  786.             /* [retval][out] */ long __RPC_FAR *plCountPropertyGroups) = 0;
  787.  
  788.     };
  789.  
  790. #else     /* C style interface */
  791.  
  792.     typedef struct ITxPropertyGroupManagerVtbl
  793.     {
  794.         BEGIN_INTERFACE
  795.  
  796.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *QueryInterface )(
  797.             ITxPropertyGroupManager __RPC_FAR * This,
  798.             /* [in] */ REFIID riid,
  799.             /* [iid_is][out] */ void __RPC_FAR *__RPC_FAR *ppvObject);
  800.  
  801.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *AddRef )(
  802.             ITxPropertyGroupManager __RPC_FAR * This);
  803.  
  804.         ULONG ( STDMETHODCALLTYPE __RPC_FAR *Release )(
  805.             ITxPropertyGroupManager __RPC_FAR * This);
  806.  
  807.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfoCount )(
  808.             ITxPropertyGroupManager __RPC_FAR * This,
  809.             /* [out] */ UINT __RPC_FAR *pctinfo);
  810.  
  811.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetTypeInfo )(
  812.             ITxPropertyGroupManager __RPC_FAR * This,
  813.             /* [in] */ UINT iTInfo,
  814.             /* [in] */ LCID lcid,
  815.             /* [out] */ ITypeInfo __RPC_FAR *__RPC_FAR *ppTInfo);
  816.  
  817.         HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetIDsOfNames )(
  818.             ITxPropertyGroupManager __RPC_FAR * This,
  819.             /* [in] */ REFIID riid,
  820.             /* [size_is][in] */ LPOLESTR __RPC_FAR *rgszNames,
  821.             /* [in] */ UINT cNames,
  822.             /* [in] */ LCID lcid,
  823.             /* [size_is][out] */ DISPID __RPC_FAR *rgDispId);
  824.  
  825.         /* [local] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *Invoke )(
  826.             ITxPropertyGroupManager __RPC_FAR * This,
  827.             /* [in] */ DISPID dispIdMember,
  828.             /* [in] */ REFIID riid,
  829.             /* [in] */ LCID lcid,
  830.             /* [in] */ WORD wFlags,
  831.             /* [out][in] */ DISPPARAMS __RPC_FAR *pDispParams,
  832.             /* [out] */ VARIANT __RPC_FAR *pVarResult,
  833.             /* [out] */ EXCEPINFO __RPC_FAR *pExcepInfo,
  834.             /* [out] */ UINT __RPC_FAR *puArgErr);
  835.  
  836.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *CreatePropertyGroup )(
  837.             ITxPropertyGroupManager __RPC_FAR * This,
  838.             /* [string][in] */ const BSTR bstrPropertyGroupName,
  839.             /* [out] */ VARIANT_BOOL __RPC_FAR *pvarboolExists,
  840.             /* [in] */ VARIANT_BOOL varboolWriteThrough,
  841.             /* [in] */ VARIANT_BOOL varboolRemoveAtProcessTermination,
  842.             /* [in] */ TSPM_SECURITYSETTING eSecuritySetting,
  843.             /* [string][in] */ const BSTR bstrAccessAccounts,
  844.             /* [in] */ VARIANT_BOOL varboolReserved,
  845.             /* [retval][out] */ ITxPropertyGroup __RPC_FAR *__RPC_FAR *ppTxPropertyGroup);
  846.  
  847.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *GetPropertyGroup )(
  848.             ITxPropertyGroupManager __RPC_FAR * This,
  849.             /* [string][in] */ const BSTR bstrPropertyGroupName,
  850.             /* [in] */ VARIANT_BOOL varboolWriteThrough,
  851.             /* [retval][out] */ ITxPropertyGroup __RPC_FAR *__RPC_FAR *ppTxPropertyGroup);
  852.  
  853.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *RemovePropertyGroup )(
  854.             ITxPropertyGroupManager __RPC_FAR * This,
  855.             /* [string][in] */ const BSTR bstrPropertyGroupName);
  856.  
  857.         /* [helpstring][id][hidden] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *_NewEnum )(
  858.             ITxPropertyGroupManager __RPC_FAR * This,
  859.             /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppIEnumObjects);
  860.  
  861.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_IsolationLevel )(
  862.             ITxPropertyGroupManager __RPC_FAR * This,
  863.             /* [retval][out] */ TSPM_ISOLATIONLEVEL __RPC_FAR *peIsolationLevel);
  864.  
  865.         /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_IsolationLevel )(
  866.             ITxPropertyGroupManager __RPC_FAR * This,
  867.             /* [in] */ TSPM_ISOLATIONLEVEL eIsolationLevel);
  868.  
  869.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_ConcurrencyMode )(
  870.             ITxPropertyGroupManager __RPC_FAR * This,
  871.             /* [retval][out] */ TSPM_CONCURRENCYMODE __RPC_FAR *peConcurrencyMode);
  872.  
  873.         /* [helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *put_ConcurrencyMode )(
  874.             ITxPropertyGroupManager __RPC_FAR * This,
  875.             /* [in] */ TSPM_CONCURRENCYMODE eConcurrencyMode);
  876.  
  877.         /* [helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE __RPC_FAR *get_Count )(
  878.             ITxPropertyGroupManager __RPC_FAR * This,
  879.             /* [retval][out] */ long __RPC_FAR *plCountPropertyGroups);
  880.  
  881.         END_INTERFACE
  882.     } ITxPropertyGroupManagerVtbl;
  883.  
  884.     interface ITxPropertyGroupManager
  885.     {
  886.         CONST_VTBL struct ITxPropertyGroupManagerVtbl __RPC_FAR *lpVtbl;
  887.     };
  888.  
  889.  
  890.  
  891. #ifdef COBJMACROS
  892.  
  893.  
  894. #define ITxPropertyGroupManager_QueryInterface(This,riid,ppvObject)    \
  895.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  896.  
  897. #define ITxPropertyGroupManager_AddRef(This)    \
  898.     (This)->lpVtbl -> AddRef(This)
  899.  
  900. #define ITxPropertyGroupManager_Release(This)    \
  901.     (This)->lpVtbl -> Release(This)
  902.  
  903.  
  904. #define ITxPropertyGroupManager_GetTypeInfoCount(This,pctinfo)    \
  905.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  906.  
  907. #define ITxPropertyGroupManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo)    \
  908.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  909.  
  910. #define ITxPropertyGroupManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)    \
  911.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  912.  
  913. #define ITxPropertyGroupManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)    \
  914.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  915.  
  916.  
  917. #define ITxPropertyGroupManager_CreatePropertyGroup(This,bstrPropertyGroupName,pvarboolExists,varboolWriteThrough,varboolRemoveAtProcessTermination,eSecuritySetting,bstrAccessAccounts,varboolReserved,ppTxPropertyGroup)    \
  918.     (This)->lpVtbl -> CreatePropertyGroup(This,bstrPropertyGroupName,pvarboolExists,varboolWriteThrough,varboolRemoveAtProcessTermination,eSecuritySetting,bstrAccessAccounts,varboolReserved,ppTxPropertyGroup)
  919.  
  920. #define ITxPropertyGroupManager_GetPropertyGroup(This,bstrPropertyGroupName,varboolWriteThrough,ppTxPropertyGroup)    \
  921.     (This)->lpVtbl -> GetPropertyGroup(This,bstrPropertyGroupName,varboolWriteThrough,ppTxPropertyGroup)
  922.  
  923. #define ITxPropertyGroupManager_RemovePropertyGroup(This,bstrPropertyGroupName)    \
  924.     (This)->lpVtbl -> RemovePropertyGroup(This,bstrPropertyGroupName)
  925.  
  926. #define ITxPropertyGroupManager__NewEnum(This,ppIEnumObjects)    \
  927.     (This)->lpVtbl -> _NewEnum(This,ppIEnumObjects)
  928.  
  929. #define ITxPropertyGroupManager_get_IsolationLevel(This,peIsolationLevel)    \
  930.     (This)->lpVtbl -> get_IsolationLevel(This,peIsolationLevel)
  931.  
  932. #define ITxPropertyGroupManager_put_IsolationLevel(This,eIsolationLevel)    \
  933.     (This)->lpVtbl -> put_IsolationLevel(This,eIsolationLevel)
  934.  
  935. #define ITxPropertyGroupManager_get_ConcurrencyMode(This,peConcurrencyMode)    \
  936.     (This)->lpVtbl -> get_ConcurrencyMode(This,peConcurrencyMode)
  937.  
  938. #define ITxPropertyGroupManager_put_ConcurrencyMode(This,eConcurrencyMode)    \
  939.     (This)->lpVtbl -> put_ConcurrencyMode(This,eConcurrencyMode)
  940.  
  941. #define ITxPropertyGroupManager_get_Count(This,plCountPropertyGroups)    \
  942.     (This)->lpVtbl -> get_Count(This,plCountPropertyGroups)
  943.  
  944. #endif /* COBJMACROS */
  945.  
  946.  
  947. #endif     /* C style interface */
  948.  
  949.  
  950.  
  951. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager_CreatePropertyGroup_Proxy(
  952.     ITxPropertyGroupManager __RPC_FAR * This,
  953.     /* [string][in] */ const BSTR bstrPropertyGroupName,
  954.     /* [out] */ VARIANT_BOOL __RPC_FAR *pvarboolExists,
  955.     /* [in] */ VARIANT_BOOL varboolWriteThrough,
  956.     /* [in] */ VARIANT_BOOL varboolRemoveAtProcessTermination,
  957.     /* [in] */ TSPM_SECURITYSETTING eSecuritySetting,
  958.     /* [string][in] */ const BSTR bstrAccessAccounts,
  959.     /* [in] */ VARIANT_BOOL varboolReserved,
  960.     /* [retval][out] */ ITxPropertyGroup __RPC_FAR *__RPC_FAR *ppTxPropertyGroup);
  961.  
  962.  
  963. void __RPC_STUB ITxPropertyGroupManager_CreatePropertyGroup_Stub(
  964.     IRpcStubBuffer *This,
  965.     IRpcChannelBuffer *_pRpcChannelBuffer,
  966.     PRPC_MESSAGE _pRpcMessage,
  967.     DWORD *_pdwStubPhase);
  968.  
  969.  
  970. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager_GetPropertyGroup_Proxy(
  971.     ITxPropertyGroupManager __RPC_FAR * This,
  972.     /* [string][in] */ const BSTR bstrPropertyGroupName,
  973.     /* [in] */ VARIANT_BOOL varboolWriteThrough,
  974.     /* [retval][out] */ ITxPropertyGroup __RPC_FAR *__RPC_FAR *ppTxPropertyGroup);
  975.  
  976.  
  977. void __RPC_STUB ITxPropertyGroupManager_GetPropertyGroup_Stub(
  978.     IRpcStubBuffer *This,
  979.     IRpcChannelBuffer *_pRpcChannelBuffer,
  980.     PRPC_MESSAGE _pRpcMessage,
  981.     DWORD *_pdwStubPhase);
  982.  
  983.  
  984. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager_RemovePropertyGroup_Proxy(
  985.     ITxPropertyGroupManager __RPC_FAR * This,
  986.     /* [string][in] */ const BSTR bstrPropertyGroupName);
  987.  
  988.  
  989. void __RPC_STUB ITxPropertyGroupManager_RemovePropertyGroup_Stub(
  990.     IRpcStubBuffer *This,
  991.     IRpcChannelBuffer *_pRpcChannelBuffer,
  992.     PRPC_MESSAGE _pRpcMessage,
  993.     DWORD *_pdwStubPhase);
  994.  
  995.  
  996. /* [helpstring][id][hidden] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager__NewEnum_Proxy(
  997.     ITxPropertyGroupManager __RPC_FAR * This,
  998.     /* [retval][out] */ IUnknown __RPC_FAR *__RPC_FAR *ppIEnumObjects);
  999.  
  1000.  
  1001. void __RPC_STUB ITxPropertyGroupManager__NewEnum_Stub(
  1002.     IRpcStubBuffer *This,
  1003.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1004.     PRPC_MESSAGE _pRpcMessage,
  1005.     DWORD *_pdwStubPhase);
  1006.  
  1007.  
  1008. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager_get_IsolationLevel_Proxy(
  1009.     ITxPropertyGroupManager __RPC_FAR * This,
  1010.     /* [retval][out] */ TSPM_ISOLATIONLEVEL __RPC_FAR *peIsolationLevel);
  1011.  
  1012.  
  1013. void __RPC_STUB ITxPropertyGroupManager_get_IsolationLevel_Stub(
  1014.     IRpcStubBuffer *This,
  1015.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1016.     PRPC_MESSAGE _pRpcMessage,
  1017.     DWORD *_pdwStubPhase);
  1018.  
  1019.  
  1020. /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager_put_IsolationLevel_Proxy(
  1021.     ITxPropertyGroupManager __RPC_FAR * This,
  1022.     /* [in] */ TSPM_ISOLATIONLEVEL eIsolationLevel);
  1023.  
  1024.  
  1025. void __RPC_STUB ITxPropertyGroupManager_put_IsolationLevel_Stub(
  1026.     IRpcStubBuffer *This,
  1027.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1028.     PRPC_MESSAGE _pRpcMessage,
  1029.     DWORD *_pdwStubPhase);
  1030.  
  1031.  
  1032. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager_get_ConcurrencyMode_Proxy(
  1033.     ITxPropertyGroupManager __RPC_FAR * This,
  1034.     /* [retval][out] */ TSPM_CONCURRENCYMODE __RPC_FAR *peConcurrencyMode);
  1035.  
  1036.  
  1037. void __RPC_STUB ITxPropertyGroupManager_get_ConcurrencyMode_Stub(
  1038.     IRpcStubBuffer *This,
  1039.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1040.     PRPC_MESSAGE _pRpcMessage,
  1041.     DWORD *_pdwStubPhase);
  1042.  
  1043.  
  1044. /* [helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager_put_ConcurrencyMode_Proxy(
  1045.     ITxPropertyGroupManager __RPC_FAR * This,
  1046.     /* [in] */ TSPM_CONCURRENCYMODE eConcurrencyMode);
  1047.  
  1048.  
  1049. void __RPC_STUB ITxPropertyGroupManager_put_ConcurrencyMode_Stub(
  1050.     IRpcStubBuffer *This,
  1051.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1052.     PRPC_MESSAGE _pRpcMessage,
  1053.     DWORD *_pdwStubPhase);
  1054.  
  1055.  
  1056. /* [helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITxPropertyGroupManager_get_Count_Proxy(
  1057.     ITxPropertyGroupManager __RPC_FAR * This,
  1058.     /* [retval][out] */ long __RPC_FAR *plCountPropertyGroups);
  1059.  
  1060.  
  1061. void __RPC_STUB ITxPropertyGroupManager_get_Count_Stub(
  1062.     IRpcStubBuffer *This,
  1063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1064.     PRPC_MESSAGE _pRpcMessage,
  1065.     DWORD *_pdwStubPhase);
  1066.  
  1067.  
  1068.  
  1069. #endif     /* __ITxPropertyGroupManager_INTERFACE_DEFINED__ */
  1070.  
  1071.  
  1072.  
  1073. #ifndef __TSPM_LIBRARY_DEFINED__
  1074. #define __TSPM_LIBRARY_DEFINED__
  1075.  
  1076. /* library TSPM */
  1077. /* [helpstring][version][uuid] */
  1078.  
  1079.  
  1080. EXTERN_C const IID LIBID_TSPM;
  1081.  
  1082. EXTERN_C const CLSID CLSID_TransactedPropertyGroupManager;
  1083.  
  1084. #ifdef __cplusplus
  1085.  
  1086. class DECLSPEC_UUID("DEBCE1BC-7D7E-11D2-BEA0-00805F0D8F97")
  1087. TransactedPropertyGroupManager;
  1088. #endif
  1089.  
  1090. EXTERN_C const CLSID CLSID_TransactedPropertyGroup;
  1091.  
  1092. #ifdef __cplusplus
  1093.  
  1094. class DECLSPEC_UUID("46DB591F-4101-11D2-912C-0000F8758E8D")
  1095. TransactedPropertyGroup;
  1096. #endif
  1097.  
  1098. EXTERN_C const CLSID CLSID_TransactedProperty;
  1099.  
  1100. #ifdef __cplusplus
  1101.  
  1102. class DECLSPEC_UUID("6A8DEEA9-4101-11D2-912C-0000F8758E8D")
  1103. TransactedProperty;
  1104. #endif
  1105. #endif /* __TSPM_LIBRARY_DEFINED__ */
  1106.  
  1107. /* Additional Prototypes for ALL interfaces */
  1108.  
  1109. unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long __RPC_FAR *, unsigned long            , BSTR __RPC_FAR * );
  1110. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * );
  1111. unsigned char __RPC_FAR * __RPC_USER  BSTR_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, BSTR __RPC_FAR * );
  1112. void                      __RPC_USER  BSTR_UserFree(     unsigned long __RPC_FAR *, BSTR __RPC_FAR * );
  1113.  
  1114. unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long __RPC_FAR *, unsigned long            , VARIANT __RPC_FAR * );
  1115. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserMarshal(  unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * );
  1116. unsigned char __RPC_FAR * __RPC_USER  VARIANT_UserUnmarshal(unsigned long __RPC_FAR *, unsigned char __RPC_FAR *, VARIANT __RPC_FAR * );
  1117. void                      __RPC_USER  VARIANT_UserFree(     unsigned long __RPC_FAR *, VARIANT __RPC_FAR * );
  1118.  
  1119. /* end of Additional Prototypes */
  1120.  
  1121. #ifdef __cplusplus
  1122. }
  1123. #endif
  1124.  
  1125. #endif
  1126.  
  1127.  
  1128. // The interface IIDs for TSPM
  1129. _declspec(selectany) extern
  1130. const IID IID_ITxProperty = {0x6A8DEEA8,0x4101,0x11D2,{0x91,0x2C,0x00,0x00,0xF8,0x75,0x8E,0x8D}};
  1131.  
  1132. _declspec(selectany) extern
  1133. const IID IID_ITxPropertyGroup = {0x46DB591E,0x4101,0x11D2,{0x91,0x2C,0x00,0x00,0xF8,0x75,0x8E,0x8D}};
  1134.  
  1135. _declspec(selectany) extern
  1136. const IID IID_ITxPropertyGroupManager = {0xB97C237C,0x7D7E,0x11D2,{0xBE,0xA0,0x00,0x80,0x5F,0x0D,0x8F,0x97}};
  1137.  
  1138. _declspec(selectany) extern
  1139. const IID LIBID_TSPM = {0xBA4B54BC,0x4101,0x11D2,{0x91,0x2C,0x00,0x00,0xF8,0x75,0x8E,0x8D}};
  1140.  
  1141. _declspec(selectany) extern
  1142. const CLSID CLSID_TransactedPropertyGroupManager = {0xDEBCE1BC,0x7D7E,0x11D2,{0xBE,0xA0,0x00,0x80,0x5F,0x0D,0x8F,0x97}};
  1143.  
  1144. _declspec(selectany) extern
  1145. const CLSID CLSID_TransactedPropertyGroup = {0x46DB591F,0x4101,0x11D2,{0x91,0x2C,0x00,0x00,0xF8,0x75,0x8E,0x8D}};
  1146.  
  1147. _declspec(selectany) extern
  1148. const CLSID CLSID_TransactedProperty = {0x6A8DEEA9,0x4101,0x11D2,{0x91,0x2C,0x00,0x00,0xF8,0x75,0x8E,0x8D}};
  1149.  
  1150. #pragma option pop /*P_O_Pop*/
  1151. #endif // _MSIMDB_H_
  1152.  
  1153. //
  1154. // End Of File
  1155. //
  1156.  
  1157.  
  1158.  
  1159.