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

模拟服务器

开发平台:

C/C++

  1. #ifndef __ITAddress2_INTERFACE_DEFINED__
  2. #define __ITAddress2_INTERFACE_DEFINED__
  3. /* interface ITAddress2 */
  4. /* [object][dual][helpstring][uuid] */ 
  5. EXTERN_C const IID IID_ITAddress2;
  6. #if defined(__cplusplus) && !defined(CINTERFACE)
  7.     
  8.     MIDL_INTERFACE("B0AE5D9B-BE51-46c9-B0F7-DFA8A22A8BC4")
  9.     ITAddress2 : public ITAddress
  10.     {
  11.     public:
  12.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Phones( 
  13.             /* [retval][out] */ VARIANT *pPhones) = 0;
  14.         
  15.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE EnumeratePhones( 
  16.             /* [retval][out] */ IEnumPhone **ppEnumPhone) = 0;
  17.         
  18.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPhoneFromTerminal( 
  19.             /* [in] */ ITTerminal *pTerminal,
  20.             /* [retval][out] */ ITPhone **ppPhone) = 0;
  21.         
  22.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PreferredPhones( 
  23.             /* [retval][out] */ VARIANT *pPhones) = 0;
  24.         
  25.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE EnumeratePreferredPhones( 
  26.             /* [retval][out] */ IEnumPhone **ppEnumPhone) = 0;
  27.         
  28.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EventFilter( 
  29.             /* [in] */ TAPI_EVENT TapiEvent,
  30.             /* [in] */ long lSubEvent,
  31.             /* [retval][out] */ VARIANT_BOOL *pEnable) = 0;
  32.         
  33.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_EventFilter( 
  34.             /* [in] */ TAPI_EVENT TapiEvent,
  35.             /* [in] */ long lSubEvent,
  36.             /* [in] */ VARIANT_BOOL bEnable) = 0;
  37.         
  38.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE DeviceSpecific( 
  39.             /* [in] */ ITCallInfo *pCall,
  40.             /* [in] */ BYTE *pParams,
  41.             /* [in] */ DWORD dwSize) = 0;
  42.         
  43.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeviceSpecificVariant( 
  44.             /* [in] */ ITCallInfo *pCall,
  45.             /* [in] */ VARIANT varDevSpecificByteArray) = 0;
  46.         
  47.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NegotiateExtVersion( 
  48.             /* [in] */ long lLowVersion,
  49.             /* [in] */ long lHighVersion,
  50.             /* [retval][out] */ long *plExtVersion) = 0;
  51.         
  52.     };
  53.     
  54. #else  /* C style interface */
  55.     typedef struct ITAddress2Vtbl
  56.     {
  57.         BEGIN_INTERFACE
  58.         
  59.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  60.             ITAddress2 * This,
  61.             /* [in] */ REFIID riid,
  62.             /* [iid_is][out] */ void **ppvObject);
  63.         
  64.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  65.             ITAddress2 * This);
  66.         
  67.         ULONG ( STDMETHODCALLTYPE *Release )( 
  68.             ITAddress2 * This);
  69.         
  70.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  71.             ITAddress2 * This,
  72.             /* [out] */ UINT *pctinfo);
  73.         
  74.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  75.             ITAddress2 * This,
  76.             /* [in] */ UINT iTInfo,
  77.             /* [in] */ LCID lcid,
  78.             /* [out] */ ITypeInfo **ppTInfo);
  79.         
  80.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  81.             ITAddress2 * This,
  82.             /* [in] */ REFIID riid,
  83.             /* [size_is][in] */ LPOLESTR *rgszNames,
  84.             /* [in] */ UINT cNames,
  85.             /* [in] */ LCID lcid,
  86.             /* [size_is][out] */ DISPID *rgDispId);
  87.         
  88.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  89.             ITAddress2 * This,
  90.             /* [in] */ DISPID dispIdMember,
  91.             /* [in] */ REFIID riid,
  92.             /* [in] */ LCID lcid,
  93.             /* [in] */ WORD wFlags,
  94.             /* [out][in] */ DISPPARAMS *pDispParams,
  95.             /* [out] */ VARIANT *pVarResult,
  96.             /* [out] */ EXCEPINFO *pExcepInfo,
  97.             /* [out] */ UINT *puArgErr);
  98.         
  99.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_State )( 
  100.             ITAddress2 * This,
  101.             /* [retval][out] */ ADDRESS_STATE *pAddressState);
  102.         
  103.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AddressName )( 
  104.             ITAddress2 * This,
  105.             /* [retval][out] */ BSTR *ppName);
  106.         
  107.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ServiceProviderName )( 
  108.             ITAddress2 * This,
  109.             /* [retval][out] */ BSTR *ppName);
  110.         
  111.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_TAPIObject )( 
  112.             ITAddress2 * This,
  113.             /* [retval][out] */ ITTAPI **ppTapiObject);
  114.         
  115.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateCall )( 
  116.             ITAddress2 * This,
  117.             /* [in] */ BSTR pDestAddress,
  118.             /* [in] */ long lAddressType,
  119.             /* [in] */ long lMediaTypes,
  120.             /* [retval][out] */ ITBasicCallControl **ppCall);
  121.         
  122.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Calls )( 
  123.             ITAddress2 * This,
  124.             /* [retval][out] */ VARIANT *pVariant);
  125.         
  126.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumerateCalls )( 
  127.             ITAddress2 * This,
  128.             /* [retval][out] */ IEnumCall **ppCallEnum);
  129.         
  130.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DialableAddress )( 
  131.             ITAddress2 * This,
  132.             /* [retval][out] */ BSTR *pDialableAddress);
  133.         
  134.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreateForwardInfoObject )( 
  135.             ITAddress2 * This,
  136.             /* [retval][out] */ ITForwardInformation **ppForwardInfo);
  137.         
  138.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Forward )( 
  139.             ITAddress2 * This,
  140.             /* [in] */ ITForwardInformation *pForwardInfo,
  141.             /* [in] */ ITBasicCallControl *pCall);
  142.         
  143.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CurrentForwardInfo )( 
  144.             ITAddress2 * This,
  145.             /* [retval][out] */ ITForwardInformation **ppForwardInfo);
  146.         
  147.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MessageWaiting )( 
  148.             ITAddress2 * This,
  149.             /* [in] */ VARIANT_BOOL fMessageWaiting);
  150.         
  151.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MessageWaiting )( 
  152.             ITAddress2 * This,
  153.             /* [retval][out] */ VARIANT_BOOL *pfMessageWaiting);
  154.         
  155.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_DoNotDisturb )( 
  156.             ITAddress2 * This,
  157.             /* [in] */ VARIANT_BOOL fDoNotDisturb);
  158.         
  159.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DoNotDisturb )( 
  160.             ITAddress2 * This,
  161.             /* [retval][out] */ VARIANT_BOOL *pfDoNotDisturb);
  162.         
  163.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Phones )( 
  164.             ITAddress2 * This,
  165.             /* [retval][out] */ VARIANT *pPhones);
  166.         
  167.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumeratePhones )( 
  168.             ITAddress2 * This,
  169.             /* [retval][out] */ IEnumPhone **ppEnumPhone);
  170.         
  171.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPhoneFromTerminal )( 
  172.             ITAddress2 * This,
  173.             /* [in] */ ITTerminal *pTerminal,
  174.             /* [retval][out] */ ITPhone **ppPhone);
  175.         
  176.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredPhones )( 
  177.             ITAddress2 * This,
  178.             /* [retval][out] */ VARIANT *pPhones);
  179.         
  180.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumeratePreferredPhones )( 
  181.             ITAddress2 * This,
  182.             /* [retval][out] */ IEnumPhone **ppEnumPhone);
  183.         
  184.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventFilter )( 
  185.             ITAddress2 * This,
  186.             /* [in] */ TAPI_EVENT TapiEvent,
  187.             /* [in] */ long lSubEvent,
  188.             /* [retval][out] */ VARIANT_BOOL *pEnable);
  189.         
  190.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventFilter )( 
  191.             ITAddress2 * This,
  192.             /* [in] */ TAPI_EVENT TapiEvent,
  193.             /* [in] */ long lSubEvent,
  194.             /* [in] */ VARIANT_BOOL bEnable);
  195.         
  196.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *DeviceSpecific )( 
  197.             ITAddress2 * This,
  198.             /* [in] */ ITCallInfo *pCall,
  199.             /* [in] */ BYTE *pParams,
  200.             /* [in] */ DWORD dwSize);
  201.         
  202.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeviceSpecificVariant )( 
  203.             ITAddress2 * This,
  204.             /* [in] */ ITCallInfo *pCall,
  205.             /* [in] */ VARIANT varDevSpecificByteArray);
  206.         
  207.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NegotiateExtVersion )( 
  208.             ITAddress2 * This,
  209.             /* [in] */ long lLowVersion,
  210.             /* [in] */ long lHighVersion,
  211.             /* [retval][out] */ long *plExtVersion);
  212.         
  213.         END_INTERFACE
  214.     } ITAddress2Vtbl;
  215.     interface ITAddress2
  216.     {
  217.         CONST_VTBL struct ITAddress2Vtbl *lpVtbl;
  218.     };
  219.     
  220. #ifdef COBJMACROS
  221. #define ITAddress2_QueryInterface(This,riid,ppvObject)
  222.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  223. #define ITAddress2_AddRef(This)
  224.     (This)->lpVtbl -> AddRef(This)
  225. #define ITAddress2_Release(This)
  226.     (This)->lpVtbl -> Release(This)
  227. #define ITAddress2_GetTypeInfoCount(This,pctinfo)
  228.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  229. #define ITAddress2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  230.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  231. #define ITAddress2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  232.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  233. #define ITAddress2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  234.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  235. #define ITAddress2_get_State(This,pAddressState)
  236.     (This)->lpVtbl -> get_State(This,pAddressState)
  237. #define ITAddress2_get_AddressName(This,ppName)
  238.     (This)->lpVtbl -> get_AddressName(This,ppName)
  239. #define ITAddress2_get_ServiceProviderName(This,ppName)
  240.     (This)->lpVtbl -> get_ServiceProviderName(This,ppName)
  241. #define ITAddress2_get_TAPIObject(This,ppTapiObject)
  242.     (This)->lpVtbl -> get_TAPIObject(This,ppTapiObject)
  243. #define ITAddress2_CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall)
  244.     (This)->lpVtbl -> CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall)
  245. #define ITAddress2_get_Calls(This,pVariant)
  246.     (This)->lpVtbl -> get_Calls(This,pVariant)
  247. #define ITAddress2_EnumerateCalls(This,ppCallEnum)
  248.     (This)->lpVtbl -> EnumerateCalls(This,ppCallEnum)
  249. #define ITAddress2_get_DialableAddress(This,pDialableAddress)
  250.     (This)->lpVtbl -> get_DialableAddress(This,pDialableAddress)
  251. #define ITAddress2_CreateForwardInfoObject(This,ppForwardInfo)
  252.     (This)->lpVtbl -> CreateForwardInfoObject(This,ppForwardInfo)
  253. #define ITAddress2_Forward(This,pForwardInfo,pCall)
  254.     (This)->lpVtbl -> Forward(This,pForwardInfo,pCall)
  255. #define ITAddress2_get_CurrentForwardInfo(This,ppForwardInfo)
  256.     (This)->lpVtbl -> get_CurrentForwardInfo(This,ppForwardInfo)
  257. #define ITAddress2_put_MessageWaiting(This,fMessageWaiting)
  258.     (This)->lpVtbl -> put_MessageWaiting(This,fMessageWaiting)
  259. #define ITAddress2_get_MessageWaiting(This,pfMessageWaiting)
  260.     (This)->lpVtbl -> get_MessageWaiting(This,pfMessageWaiting)
  261. #define ITAddress2_put_DoNotDisturb(This,fDoNotDisturb)
  262.     (This)->lpVtbl -> put_DoNotDisturb(This,fDoNotDisturb)
  263. #define ITAddress2_get_DoNotDisturb(This,pfDoNotDisturb)
  264.     (This)->lpVtbl -> get_DoNotDisturb(This,pfDoNotDisturb)
  265. #define ITAddress2_get_Phones(This,pPhones)
  266.     (This)->lpVtbl -> get_Phones(This,pPhones)
  267. #define ITAddress2_EnumeratePhones(This,ppEnumPhone)
  268.     (This)->lpVtbl -> EnumeratePhones(This,ppEnumPhone)
  269. #define ITAddress2_GetPhoneFromTerminal(This,pTerminal,ppPhone)
  270.     (This)->lpVtbl -> GetPhoneFromTerminal(This,pTerminal,ppPhone)
  271. #define ITAddress2_get_PreferredPhones(This,pPhones)
  272.     (This)->lpVtbl -> get_PreferredPhones(This,pPhones)
  273. #define ITAddress2_EnumeratePreferredPhones(This,ppEnumPhone)
  274.     (This)->lpVtbl -> EnumeratePreferredPhones(This,ppEnumPhone)
  275. #define ITAddress2_get_EventFilter(This,TapiEvent,lSubEvent,pEnable)
  276.     (This)->lpVtbl -> get_EventFilter(This,TapiEvent,lSubEvent,pEnable)
  277. #define ITAddress2_put_EventFilter(This,TapiEvent,lSubEvent,bEnable)
  278.     (This)->lpVtbl -> put_EventFilter(This,TapiEvent,lSubEvent,bEnable)
  279. #define ITAddress2_DeviceSpecific(This,pCall,pParams,dwSize)
  280.     (This)->lpVtbl -> DeviceSpecific(This,pCall,pParams,dwSize)
  281. #define ITAddress2_DeviceSpecificVariant(This,pCall,varDevSpecificByteArray)
  282.     (This)->lpVtbl -> DeviceSpecificVariant(This,pCall,varDevSpecificByteArray)
  283. #define ITAddress2_NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion)
  284.     (This)->lpVtbl -> NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion)
  285. #endif /* COBJMACROS */
  286. #endif  /* C style interface */
  287. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAddress2_get_Phones_Proxy( 
  288.     ITAddress2 * This,
  289.     /* [retval][out] */ VARIANT *pPhones);
  290. void __RPC_STUB ITAddress2_get_Phones_Stub(
  291.     IRpcStubBuffer *This,
  292.     IRpcChannelBuffer *_pRpcChannelBuffer,
  293.     PRPC_MESSAGE _pRpcMessage,
  294.     DWORD *_pdwStubPhase);
  295. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITAddress2_EnumeratePhones_Proxy( 
  296.     ITAddress2 * This,
  297.     /* [retval][out] */ IEnumPhone **ppEnumPhone);
  298. void __RPC_STUB ITAddress2_EnumeratePhones_Stub(
  299.     IRpcStubBuffer *This,
  300.     IRpcChannelBuffer *_pRpcChannelBuffer,
  301.     PRPC_MESSAGE _pRpcMessage,
  302.     DWORD *_pdwStubPhase);
  303. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAddress2_GetPhoneFromTerminal_Proxy( 
  304.     ITAddress2 * This,
  305.     /* [in] */ ITTerminal *pTerminal,
  306.     /* [retval][out] */ ITPhone **ppPhone);
  307. void __RPC_STUB ITAddress2_GetPhoneFromTerminal_Stub(
  308.     IRpcStubBuffer *This,
  309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  310.     PRPC_MESSAGE _pRpcMessage,
  311.     DWORD *_pdwStubPhase);
  312. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAddress2_get_PreferredPhones_Proxy( 
  313.     ITAddress2 * This,
  314.     /* [retval][out] */ VARIANT *pPhones);
  315. void __RPC_STUB ITAddress2_get_PreferredPhones_Stub(
  316.     IRpcStubBuffer *This,
  317.     IRpcChannelBuffer *_pRpcChannelBuffer,
  318.     PRPC_MESSAGE _pRpcMessage,
  319.     DWORD *_pdwStubPhase);
  320. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITAddress2_EnumeratePreferredPhones_Proxy( 
  321.     ITAddress2 * This,
  322.     /* [retval][out] */ IEnumPhone **ppEnumPhone);
  323. void __RPC_STUB ITAddress2_EnumeratePreferredPhones_Stub(
  324.     IRpcStubBuffer *This,
  325.     IRpcChannelBuffer *_pRpcChannelBuffer,
  326.     PRPC_MESSAGE _pRpcMessage,
  327.     DWORD *_pdwStubPhase);
  328. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAddress2_get_EventFilter_Proxy( 
  329.     ITAddress2 * This,
  330.     /* [in] */ TAPI_EVENT TapiEvent,
  331.     /* [in] */ long lSubEvent,
  332.     /* [retval][out] */ VARIANT_BOOL *pEnable);
  333. void __RPC_STUB ITAddress2_get_EventFilter_Stub(
  334.     IRpcStubBuffer *This,
  335.     IRpcChannelBuffer *_pRpcChannelBuffer,
  336.     PRPC_MESSAGE _pRpcMessage,
  337.     DWORD *_pdwStubPhase);
  338. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAddress2_put_EventFilter_Proxy( 
  339.     ITAddress2 * This,
  340.     /* [in] */ TAPI_EVENT TapiEvent,
  341.     /* [in] */ long lSubEvent,
  342.     /* [in] */ VARIANT_BOOL bEnable);
  343. void __RPC_STUB ITAddress2_put_EventFilter_Stub(
  344.     IRpcStubBuffer *This,
  345.     IRpcChannelBuffer *_pRpcChannelBuffer,
  346.     PRPC_MESSAGE _pRpcMessage,
  347.     DWORD *_pdwStubPhase);
  348. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITAddress2_DeviceSpecific_Proxy( 
  349.     ITAddress2 * This,
  350.     /* [in] */ ITCallInfo *pCall,
  351.     /* [in] */ BYTE *pParams,
  352.     /* [in] */ DWORD dwSize);
  353. void __RPC_STUB ITAddress2_DeviceSpecific_Stub(
  354.     IRpcStubBuffer *This,
  355.     IRpcChannelBuffer *_pRpcChannelBuffer,
  356.     PRPC_MESSAGE _pRpcMessage,
  357.     DWORD *_pdwStubPhase);
  358. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAddress2_DeviceSpecificVariant_Proxy( 
  359.     ITAddress2 * This,
  360.     /* [in] */ ITCallInfo *pCall,
  361.     /* [in] */ VARIANT varDevSpecificByteArray);
  362. void __RPC_STUB ITAddress2_DeviceSpecificVariant_Stub(
  363.     IRpcStubBuffer *This,
  364.     IRpcChannelBuffer *_pRpcChannelBuffer,
  365.     PRPC_MESSAGE _pRpcMessage,
  366.     DWORD *_pdwStubPhase);
  367. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAddress2_NegotiateExtVersion_Proxy( 
  368.     ITAddress2 * This,
  369.     /* [in] */ long lLowVersion,
  370.     /* [in] */ long lHighVersion,
  371.     /* [retval][out] */ long *plExtVersion);
  372. void __RPC_STUB ITAddress2_NegotiateExtVersion_Stub(
  373.     IRpcStubBuffer *This,
  374.     IRpcChannelBuffer *_pRpcChannelBuffer,
  375.     PRPC_MESSAGE _pRpcMessage,
  376.     DWORD *_pdwStubPhase);
  377. #endif  /* __ITAddress2_INTERFACE_DEFINED__ */
  378. #ifndef __ITAddressCapabilities_INTERFACE_DEFINED__
  379. #define __ITAddressCapabilities_INTERFACE_DEFINED__
  380. /* interface ITAddressCapabilities */
  381. /* [object][dual][helpstring][uuid] */ 
  382. EXTERN_C const IID IID_ITAddressCapabilities;
  383. #if defined(__cplusplus) && !defined(CINTERFACE)
  384.     
  385.     MIDL_INTERFACE("8DF232F5-821B-11d1-BB5C-00C04FB6809F")
  386.     ITAddressCapabilities : public IDispatch
  387.     {
  388.     public:
  389.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AddressCapability( 
  390.             /* [in] */ ADDRESS_CAPABILITY AddressCap,
  391.             /* [retval][out] */ long *plCapability) = 0;
  392.         
  393.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AddressCapabilityString( 
  394.             /* [in] */ ADDRESS_CAPABILITY_STRING AddressCapString,
  395.             /* [retval][out] */ BSTR *ppCapabilityString) = 0;
  396.         
  397.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CallTreatments( 
  398.             /* [retval][out] */ VARIANT *pVariant) = 0;
  399.         
  400.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE EnumerateCallTreatments( 
  401.             /* [retval][out] */ IEnumBstr **ppEnumCallTreatment) = 0;
  402.         
  403.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CompletionMessages( 
  404.             /* [retval][out] */ VARIANT *pVariant) = 0;
  405.         
  406.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE EnumerateCompletionMessages( 
  407.             /* [retval][out] */ IEnumBstr **ppEnumCompletionMessage) = 0;
  408.         
  409.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DeviceClasses( 
  410.             /* [retval][out] */ VARIANT *pVariant) = 0;
  411.         
  412.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE EnumerateDeviceClasses( 
  413.             /* [retval][out] */ IEnumBstr **ppEnumDeviceClass) = 0;
  414.         
  415.     };
  416.     
  417. #else  /* C style interface */
  418.     typedef struct ITAddressCapabilitiesVtbl
  419.     {
  420.         BEGIN_INTERFACE
  421.         
  422.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  423.             ITAddressCapabilities * This,
  424.             /* [in] */ REFIID riid,
  425.             /* [iid_is][out] */ void **ppvObject);
  426.         
  427.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  428.             ITAddressCapabilities * This);
  429.         
  430.         ULONG ( STDMETHODCALLTYPE *Release )( 
  431.             ITAddressCapabilities * This);
  432.         
  433.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  434.             ITAddressCapabilities * This,
  435.             /* [out] */ UINT *pctinfo);
  436.         
  437.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  438.             ITAddressCapabilities * This,
  439.             /* [in] */ UINT iTInfo,
  440.             /* [in] */ LCID lcid,
  441.             /* [out] */ ITypeInfo **ppTInfo);
  442.         
  443.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  444.             ITAddressCapabilities * This,
  445.             /* [in] */ REFIID riid,
  446.             /* [size_is][in] */ LPOLESTR *rgszNames,
  447.             /* [in] */ UINT cNames,
  448.             /* [in] */ LCID lcid,
  449.             /* [size_is][out] */ DISPID *rgDispId);
  450.         
  451.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  452.             ITAddressCapabilities * This,
  453.             /* [in] */ DISPID dispIdMember,
  454.             /* [in] */ REFIID riid,
  455.             /* [in] */ LCID lcid,
  456.             /* [in] */ WORD wFlags,
  457.             /* [out][in] */ DISPPARAMS *pDispParams,
  458.             /* [out] */ VARIANT *pVarResult,
  459.             /* [out] */ EXCEPINFO *pExcepInfo,
  460.             /* [out] */ UINT *puArgErr);
  461.         
  462.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AddressCapability )( 
  463.             ITAddressCapabilities * This,
  464.             /* [in] */ ADDRESS_CAPABILITY AddressCap,
  465.             /* [retval][out] */ long *plCapability);
  466.         
  467.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AddressCapabilityString )( 
  468.             ITAddressCapabilities * This,
  469.             /* [in] */ ADDRESS_CAPABILITY_STRING AddressCapString,
  470.             /* [retval][out] */ BSTR *ppCapabilityString);
  471.         
  472.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallTreatments )( 
  473.             ITAddressCapabilities * This,
  474.             /* [retval][out] */ VARIANT *pVariant);
  475.         
  476.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumerateCallTreatments )( 
  477.             ITAddressCapabilities * This,
  478.             /* [retval][out] */ IEnumBstr **ppEnumCallTreatment);
  479.         
  480.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CompletionMessages )( 
  481.             ITAddressCapabilities * This,
  482.             /* [retval][out] */ VARIANT *pVariant);
  483.         
  484.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumerateCompletionMessages )( 
  485.             ITAddressCapabilities * This,
  486.             /* [retval][out] */ IEnumBstr **ppEnumCompletionMessage);
  487.         
  488.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DeviceClasses )( 
  489.             ITAddressCapabilities * This,
  490.             /* [retval][out] */ VARIANT *pVariant);
  491.         
  492.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumerateDeviceClasses )( 
  493.             ITAddressCapabilities * This,
  494.             /* [retval][out] */ IEnumBstr **ppEnumDeviceClass);
  495.         
  496.         END_INTERFACE
  497.     } ITAddressCapabilitiesVtbl;
  498.     interface ITAddressCapabilities
  499.     {
  500.         CONST_VTBL struct ITAddressCapabilitiesVtbl *lpVtbl;
  501.     };
  502.     
  503. #ifdef COBJMACROS
  504. #define ITAddressCapabilities_QueryInterface(This,riid,ppvObject)
  505.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  506. #define ITAddressCapabilities_AddRef(This)
  507.     (This)->lpVtbl -> AddRef(This)
  508. #define ITAddressCapabilities_Release(This)
  509.     (This)->lpVtbl -> Release(This)
  510. #define ITAddressCapabilities_GetTypeInfoCount(This,pctinfo)
  511.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  512. #define ITAddressCapabilities_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  513.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  514. #define ITAddressCapabilities_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  515.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  516. #define ITAddressCapabilities_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  517.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  518. #define ITAddressCapabilities_get_AddressCapability(This,AddressCap,plCapability)
  519.     (This)->lpVtbl -> get_AddressCapability(This,AddressCap,plCapability)
  520. #define ITAddressCapabilities_get_AddressCapabilityString(This,AddressCapString,ppCapabilityString)
  521.     (This)->lpVtbl -> get_AddressCapabilityString(This,AddressCapString,ppCapabilityString)
  522. #define ITAddressCapabilities_get_CallTreatments(This,pVariant)
  523.     (This)->lpVtbl -> get_CallTreatments(This,pVariant)
  524. #define ITAddressCapabilities_EnumerateCallTreatments(This,ppEnumCallTreatment)
  525.     (This)->lpVtbl -> EnumerateCallTreatments(This,ppEnumCallTreatment)
  526. #define ITAddressCapabilities_get_CompletionMessages(This,pVariant)
  527.     (This)->lpVtbl -> get_CompletionMessages(This,pVariant)
  528. #define ITAddressCapabilities_EnumerateCompletionMessages(This,ppEnumCompletionMessage)
  529.     (This)->lpVtbl -> EnumerateCompletionMessages(This,ppEnumCompletionMessage)
  530. #define ITAddressCapabilities_get_DeviceClasses(This,pVariant)
  531.     (This)->lpVtbl -> get_DeviceClasses(This,pVariant)
  532. #define ITAddressCapabilities_EnumerateDeviceClasses(This,ppEnumDeviceClass)
  533.     (This)->lpVtbl -> EnumerateDeviceClasses(This,ppEnumDeviceClass)
  534. #endif /* COBJMACROS */
  535. #endif  /* C style interface */
  536. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAddressCapabilities_get_AddressCapability_Proxy( 
  537.     ITAddressCapabilities * This,
  538.     /* [in] */ ADDRESS_CAPABILITY AddressCap,
  539.     /* [retval][out] */ long *plCapability);
  540. void __RPC_STUB ITAddressCapabilities_get_AddressCapability_Stub(
  541.     IRpcStubBuffer *This,
  542.     IRpcChannelBuffer *_pRpcChannelBuffer,
  543.     PRPC_MESSAGE _pRpcMessage,
  544.     DWORD *_pdwStubPhase);
  545. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAddressCapabilities_get_AddressCapabilityString_Proxy( 
  546.     ITAddressCapabilities * This,
  547.     /* [in] */ ADDRESS_CAPABILITY_STRING AddressCapString,
  548.     /* [retval][out] */ BSTR *ppCapabilityString);
  549. void __RPC_STUB ITAddressCapabilities_get_AddressCapabilityString_Stub(
  550.     IRpcStubBuffer *This,
  551.     IRpcChannelBuffer *_pRpcChannelBuffer,
  552.     PRPC_MESSAGE _pRpcMessage,
  553.     DWORD *_pdwStubPhase);
  554. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAddressCapabilities_get_CallTreatments_Proxy( 
  555.     ITAddressCapabilities * This,
  556.     /* [retval][out] */ VARIANT *pVariant);
  557. void __RPC_STUB ITAddressCapabilities_get_CallTreatments_Stub(
  558.     IRpcStubBuffer *This,
  559.     IRpcChannelBuffer *_pRpcChannelBuffer,
  560.     PRPC_MESSAGE _pRpcMessage,
  561.     DWORD *_pdwStubPhase);
  562. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE ITAddressCapabilities_EnumerateCallTreatments_Proxy( 
  563.     ITAddressCapabilities * This,
  564.     /* [retval][out] */ IEnumBstr **ppEnumCallTreatment);
  565. void __RPC_STUB ITAddressCapabilities_EnumerateCallTreatments_Stub(
  566.     IRpcStubBuffer *This,
  567.     IRpcChannelBuffer *_pRpcChannelBuffer,
  568.     PRPC_MESSAGE _pRpcMessage,
  569.     DWORD *_pdwStubPhase);
  570. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAddressCapabilities_get_CompletionMessages_Proxy( 
  571.     ITAddressCapabilities * This,
  572.     /* [retval][out] */ VARIANT *pVariant);
  573. void __RPC_STUB ITAddressCapabilities_get_CompletionMessages_Stub(
  574.     IRpcStubBuffer *This,
  575.     IRpcChannelBuffer *_pRpcChannelBuffer,
  576.     PRPC_MESSAGE _pRpcMessage,
  577.     DWORD *_pdwStubPhase);
  578. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE ITAddressCapabilities_EnumerateCompletionMessages_Proxy( 
  579.     ITAddressCapabilities * This,
  580.     /* [retval][out] */ IEnumBstr **ppEnumCompletionMessage);
  581. void __RPC_STUB ITAddressCapabilities_EnumerateCompletionMessages_Stub(
  582.     IRpcStubBuffer *This,
  583.     IRpcChannelBuffer *_pRpcChannelBuffer,
  584.     PRPC_MESSAGE _pRpcMessage,
  585.     DWORD *_pdwStubPhase);
  586. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAddressCapabilities_get_DeviceClasses_Proxy( 
  587.     ITAddressCapabilities * This,
  588.     /* [retval][out] */ VARIANT *pVariant);
  589. void __RPC_STUB ITAddressCapabilities_get_DeviceClasses_Stub(
  590.     IRpcStubBuffer *This,
  591.     IRpcChannelBuffer *_pRpcChannelBuffer,
  592.     PRPC_MESSAGE _pRpcMessage,
  593.     DWORD *_pdwStubPhase);
  594. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE ITAddressCapabilities_EnumerateDeviceClasses_Proxy( 
  595.     ITAddressCapabilities * This,
  596.     /* [retval][out] */ IEnumBstr **ppEnumDeviceClass);
  597. void __RPC_STUB ITAddressCapabilities_EnumerateDeviceClasses_Stub(
  598.     IRpcStubBuffer *This,
  599.     IRpcChannelBuffer *_pRpcChannelBuffer,
  600.     PRPC_MESSAGE _pRpcMessage,
  601.     DWORD *_pdwStubPhase);
  602. #endif  /* __ITAddressCapabilities_INTERFACE_DEFINED__ */
  603. #ifndef __ITPhone_INTERFACE_DEFINED__
  604. #define __ITPhone_INTERFACE_DEFINED__
  605. /* interface ITPhone */
  606. /* [object][dual][helpstring][uuid] */ 
  607. EXTERN_C const IID IID_ITPhone;
  608. #if defined(__cplusplus) && !defined(CINTERFACE)
  609.     
  610.     MIDL_INTERFACE("09D48DB4-10CC-4388-9DE7-A8465618975A")
  611.     ITPhone : public IDispatch
  612.     {
  613.     public:
  614.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Open( 
  615.             /* [in] */ PHONE_PRIVILEGE Privilege) = 0;
  616.         
  617.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Close( void) = 0;
  618.         
  619.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Addresses( 
  620.             /* [retval][out] */ VARIANT *pAddresses) = 0;
  621.         
  622.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE EnumerateAddresses( 
  623.             /* [retval][out] */ IEnumAddress **ppEnumAddress) = 0;
  624.         
  625.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PhoneCapsLong( 
  626.             /* [in] */ PHONECAPS_LONG pclCap,
  627.             /* [retval][out] */ long *plCapability) = 0;
  628.         
  629.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PhoneCapsString( 
  630.             /* [in] */ PHONECAPS_STRING pcsCap,
  631.             /* [retval][out] */ BSTR *ppCapability) = 0;
  632.         
  633.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Terminals( 
  634.             /* [in] */ ITAddress *pAddress,
  635.             /* [retval][out] */ VARIANT *pTerminals) = 0;
  636.         
  637.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE EnumerateTerminals( 
  638.             /* [in] */ ITAddress *pAddress,
  639.             /* [retval][out] */ IEnumTerminal **ppEnumTerminal) = 0;
  640.         
  641.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ButtonMode( 
  642.             /* [in] */ long lButtonID,
  643.             /* [retval][out] */ PHONE_BUTTON_MODE *pButtonMode) = 0;
  644.         
  645.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ButtonMode( 
  646.             /* [in] */ long lButtonID,
  647.             /* [in] */ PHONE_BUTTON_MODE ButtonMode) = 0;
  648.         
  649.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ButtonFunction( 
  650.             /* [in] */ long lButtonID,
  651.             /* [retval][out] */ PHONE_BUTTON_FUNCTION *pButtonFunction) = 0;
  652.         
  653.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ButtonFunction( 
  654.             /* [in] */ long lButtonID,
  655.             /* [in] */ PHONE_BUTTON_FUNCTION ButtonFunction) = 0;
  656.         
  657.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ButtonText( 
  658.             /* [in] */ long lButtonID,
  659.             /* [retval][out] */ BSTR *ppButtonText) = 0;
  660.         
  661.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_ButtonText( 
  662.             /* [in] */ long lButtonID,
  663.             /* [in] */ BSTR bstrButtonText) = 0;
  664.         
  665.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_ButtonState( 
  666.             /* [in] */ long lButtonID,
  667.             /* [retval][out] */ PHONE_BUTTON_STATE *pButtonState) = 0;
  668.         
  669.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_HookSwitchState( 
  670.             /* [in] */ PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,
  671.             /* [retval][out] */ PHONE_HOOK_SWITCH_STATE *pHookSwitchState) = 0;
  672.         
  673.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_HookSwitchState( 
  674.             /* [in] */ PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,
  675.             /* [in] */ PHONE_HOOK_SWITCH_STATE HookSwitchState) = 0;
  676.         
  677.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_RingMode( 
  678.             /* [in] */ long lRingMode) = 0;
  679.         
  680.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_RingMode( 
  681.             /* [retval][out] */ long *plRingMode) = 0;
  682.         
  683.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_RingVolume( 
  684.             /* [in] */ long lRingVolume) = 0;
  685.         
  686.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_RingVolume( 
  687.             /* [retval][out] */ long *plRingVolume) = 0;
  688.         
  689.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Privilege( 
  690.             /* [retval][out] */ PHONE_PRIVILEGE *pPrivilege) = 0;
  691.         
  692.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE GetPhoneCapsBuffer( 
  693.             /* [in] */ PHONECAPS_BUFFER pcbCaps,
  694.             /* [out] */ DWORD *pdwSize,
  695.             /* [out] */ BYTE **ppPhoneCapsBuffer) = 0;
  696.         
  697.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PhoneCapsBuffer( 
  698.             /* [in] */ PHONECAPS_BUFFER pcbCaps,
  699.             /* [retval][out] */ VARIANT *pVarBuffer) = 0;
  700.         
  701.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_LampMode( 
  702.             /* [in] */ long lLampID,
  703.             /* [retval][out] */ PHONE_LAMP_MODE *pLampMode) = 0;
  704.         
  705.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_LampMode( 
  706.             /* [in] */ long lLampID,
  707.             /* [in] */ PHONE_LAMP_MODE LampMode) = 0;
  708.         
  709.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Display( 
  710.             /* [retval][out] */ BSTR *pbstrDisplay) = 0;
  711.         
  712.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetDisplay( 
  713.             /* [in] */ long lRow,
  714.             /* [in] */ long lColumn,
  715.             /* [in] */ BSTR bstrDisplay) = 0;
  716.         
  717.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PreferredAddresses( 
  718.             /* [retval][out] */ VARIANT *pAddresses) = 0;
  719.         
  720.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE EnumeratePreferredAddresses( 
  721.             /* [retval][out] */ IEnumAddress **ppEnumAddress) = 0;
  722.         
  723.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE DeviceSpecific( 
  724.             /* [in] */ BYTE *pParams,
  725.             /* [in] */ DWORD dwSize) = 0;
  726.         
  727.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeviceSpecificVariant( 
  728.             /* [in] */ VARIANT varDevSpecificByteArray) = 0;
  729.         
  730.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE NegotiateExtVersion( 
  731.             /* [in] */ long lLowVersion,
  732.             /* [in] */ long lHighVersion,
  733.             /* [retval][out] */ long *plExtVersion) = 0;
  734.         
  735.     };
  736.     
  737. #else  /* C style interface */
  738.     typedef struct ITPhoneVtbl
  739.     {
  740.         BEGIN_INTERFACE
  741.         
  742.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  743.             ITPhone * This,
  744.             /* [in] */ REFIID riid,
  745.             /* [iid_is][out] */ void **ppvObject);
  746.         
  747.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  748.             ITPhone * This);
  749.         
  750.         ULONG ( STDMETHODCALLTYPE *Release )( 
  751.             ITPhone * This);
  752.         
  753.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  754.             ITPhone * This,
  755.             /* [out] */ UINT *pctinfo);
  756.         
  757.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  758.             ITPhone * This,
  759.             /* [in] */ UINT iTInfo,
  760.             /* [in] */ LCID lcid,
  761.             /* [out] */ ITypeInfo **ppTInfo);
  762.         
  763.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  764.             ITPhone * This,
  765.             /* [in] */ REFIID riid,
  766.             /* [size_is][in] */ LPOLESTR *rgszNames,
  767.             /* [in] */ UINT cNames,
  768.             /* [in] */ LCID lcid,
  769.             /* [size_is][out] */ DISPID *rgDispId);
  770.         
  771.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  772.             ITPhone * This,
  773.             /* [in] */ DISPID dispIdMember,
  774.             /* [in] */ REFIID riid,
  775.             /* [in] */ LCID lcid,
  776.             /* [in] */ WORD wFlags,
  777.             /* [out][in] */ DISPPARAMS *pDispParams,
  778.             /* [out] */ VARIANT *pVarResult,
  779.             /* [out] */ EXCEPINFO *pExcepInfo,
  780.             /* [out] */ UINT *puArgErr);
  781.         
  782.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
  783.             ITPhone * This,
  784.             /* [in] */ PHONE_PRIVILEGE Privilege);
  785.         
  786.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Close )( 
  787.             ITPhone * This);
  788.         
  789.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Addresses )( 
  790.             ITPhone * This,
  791.             /* [retval][out] */ VARIANT *pAddresses);
  792.         
  793.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumerateAddresses )( 
  794.             ITPhone * This,
  795.             /* [retval][out] */ IEnumAddress **ppEnumAddress);
  796.         
  797.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhoneCapsLong )( 
  798.             ITPhone * This,
  799.             /* [in] */ PHONECAPS_LONG pclCap,
  800.             /* [retval][out] */ long *plCapability);
  801.         
  802.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhoneCapsString )( 
  803.             ITPhone * This,
  804.             /* [in] */ PHONECAPS_STRING pcsCap,
  805.             /* [retval][out] */ BSTR *ppCapability);
  806.         
  807.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Terminals )( 
  808.             ITPhone * This,
  809.             /* [in] */ ITAddress *pAddress,
  810.             /* [retval][out] */ VARIANT *pTerminals);
  811.         
  812.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumerateTerminals )( 
  813.             ITPhone * This,
  814.             /* [in] */ ITAddress *pAddress,
  815.             /* [retval][out] */ IEnumTerminal **ppEnumTerminal);
  816.         
  817.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonMode )( 
  818.             ITPhone * This,
  819.             /* [in] */ long lButtonID,
  820.             /* [retval][out] */ PHONE_BUTTON_MODE *pButtonMode);
  821.         
  822.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ButtonMode )( 
  823.             ITPhone * This,
  824.             /* [in] */ long lButtonID,
  825.             /* [in] */ PHONE_BUTTON_MODE ButtonMode);
  826.         
  827.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonFunction )( 
  828.             ITPhone * This,
  829.             /* [in] */ long lButtonID,
  830.             /* [retval][out] */ PHONE_BUTTON_FUNCTION *pButtonFunction);
  831.         
  832.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ButtonFunction )( 
  833.             ITPhone * This,
  834.             /* [in] */ long lButtonID,
  835.             /* [in] */ PHONE_BUTTON_FUNCTION ButtonFunction);
  836.         
  837.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonText )( 
  838.             ITPhone * This,
  839.             /* [in] */ long lButtonID,
  840.             /* [retval][out] */ BSTR *ppButtonText);
  841.         
  842.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_ButtonText )( 
  843.             ITPhone * This,
  844.             /* [in] */ long lButtonID,
  845.             /* [in] */ BSTR bstrButtonText);
  846.         
  847.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_ButtonState )( 
  848.             ITPhone * This,
  849.             /* [in] */ long lButtonID,
  850.             /* [retval][out] */ PHONE_BUTTON_STATE *pButtonState);
  851.         
  852.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_HookSwitchState )( 
  853.             ITPhone * This,
  854.             /* [in] */ PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,
  855.             /* [retval][out] */ PHONE_HOOK_SWITCH_STATE *pHookSwitchState);
  856.         
  857.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_HookSwitchState )( 
  858.             ITPhone * This,
  859.             /* [in] */ PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,
  860.             /* [in] */ PHONE_HOOK_SWITCH_STATE HookSwitchState);
  861.         
  862.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RingMode )( 
  863.             ITPhone * This,
  864.             /* [in] */ long lRingMode);
  865.         
  866.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RingMode )( 
  867.             ITPhone * This,
  868.             /* [retval][out] */ long *plRingMode);
  869.         
  870.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_RingVolume )( 
  871.             ITPhone * This,
  872.             /* [in] */ long lRingVolume);
  873.         
  874.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_RingVolume )( 
  875.             ITPhone * This,
  876.             /* [retval][out] */ long *plRingVolume);
  877.         
  878.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Privilege )( 
  879.             ITPhone * This,
  880.             /* [retval][out] */ PHONE_PRIVILEGE *pPrivilege);
  881.         
  882.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetPhoneCapsBuffer )( 
  883.             ITPhone * This,
  884.             /* [in] */ PHONECAPS_BUFFER pcbCaps,
  885.             /* [out] */ DWORD *pdwSize,
  886.             /* [out] */ BYTE **ppPhoneCapsBuffer);
  887.         
  888.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhoneCapsBuffer )( 
  889.             ITPhone * This,
  890.             /* [in] */ PHONECAPS_BUFFER pcbCaps,
  891.             /* [retval][out] */ VARIANT *pVarBuffer);
  892.         
  893.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_LampMode )( 
  894.             ITPhone * This,
  895.             /* [in] */ long lLampID,
  896.             /* [retval][out] */ PHONE_LAMP_MODE *pLampMode);
  897.         
  898.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_LampMode )( 
  899.             ITPhone * This,
  900.             /* [in] */ long lLampID,
  901.             /* [in] */ PHONE_LAMP_MODE LampMode);
  902.         
  903.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Display )( 
  904.             ITPhone * This,
  905.             /* [retval][out] */ BSTR *pbstrDisplay);
  906.         
  907.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetDisplay )( 
  908.             ITPhone * This,
  909.             /* [in] */ long lRow,
  910.             /* [in] */ long lColumn,
  911.             /* [in] */ BSTR bstrDisplay);
  912.         
  913.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PreferredAddresses )( 
  914.             ITPhone * This,
  915.             /* [retval][out] */ VARIANT *pAddresses);
  916.         
  917.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumeratePreferredAddresses )( 
  918.             ITPhone * This,
  919.             /* [retval][out] */ IEnumAddress **ppEnumAddress);
  920.         
  921.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *DeviceSpecific )( 
  922.             ITPhone * This,
  923.             /* [in] */ BYTE *pParams,
  924.             /* [in] */ DWORD dwSize);
  925.         
  926.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeviceSpecificVariant )( 
  927.             ITPhone * This,
  928.             /* [in] */ VARIANT varDevSpecificByteArray);
  929.         
  930.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *NegotiateExtVersion )( 
  931.             ITPhone * This,
  932.             /* [in] */ long lLowVersion,
  933.             /* [in] */ long lHighVersion,
  934.             /* [retval][out] */ long *plExtVersion);
  935.         
  936.         END_INTERFACE
  937.     } ITPhoneVtbl;
  938.     interface ITPhone
  939.     {
  940.         CONST_VTBL struct ITPhoneVtbl *lpVtbl;
  941.     };
  942.     
  943. #ifdef COBJMACROS
  944. #define ITPhone_QueryInterface(This,riid,ppvObject)
  945.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  946. #define ITPhone_AddRef(This)
  947.     (This)->lpVtbl -> AddRef(This)
  948. #define ITPhone_Release(This)
  949.     (This)->lpVtbl -> Release(This)
  950. #define ITPhone_GetTypeInfoCount(This,pctinfo)
  951.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  952. #define ITPhone_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  953.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  954. #define ITPhone_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  955.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  956. #define ITPhone_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  957.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  958. #define ITPhone_Open(This,Privilege)
  959.     (This)->lpVtbl -> Open(This,Privilege)
  960. #define ITPhone_Close(This)
  961.     (This)->lpVtbl -> Close(This)
  962. #define ITPhone_get_Addresses(This,pAddresses)
  963.     (This)->lpVtbl -> get_Addresses(This,pAddresses)
  964. #define ITPhone_EnumerateAddresses(This,ppEnumAddress)
  965.     (This)->lpVtbl -> EnumerateAddresses(This,ppEnumAddress)
  966. #define ITPhone_get_PhoneCapsLong(This,pclCap,plCapability)
  967.     (This)->lpVtbl -> get_PhoneCapsLong(This,pclCap,plCapability)
  968. #define ITPhone_get_PhoneCapsString(This,pcsCap,ppCapability)
  969.     (This)->lpVtbl -> get_PhoneCapsString(This,pcsCap,ppCapability)
  970. #define ITPhone_get_Terminals(This,pAddress,pTerminals)
  971.     (This)->lpVtbl -> get_Terminals(This,pAddress,pTerminals)
  972. #define ITPhone_EnumerateTerminals(This,pAddress,ppEnumTerminal)
  973.     (This)->lpVtbl -> EnumerateTerminals(This,pAddress,ppEnumTerminal)
  974. #define ITPhone_get_ButtonMode(This,lButtonID,pButtonMode)
  975.     (This)->lpVtbl -> get_ButtonMode(This,lButtonID,pButtonMode)
  976. #define ITPhone_put_ButtonMode(This,lButtonID,ButtonMode)
  977.     (This)->lpVtbl -> put_ButtonMode(This,lButtonID,ButtonMode)
  978. #define ITPhone_get_ButtonFunction(This,lButtonID,pButtonFunction)
  979.     (This)->lpVtbl -> get_ButtonFunction(This,lButtonID,pButtonFunction)
  980. #define ITPhone_put_ButtonFunction(This,lButtonID,ButtonFunction)
  981.     (This)->lpVtbl -> put_ButtonFunction(This,lButtonID,ButtonFunction)
  982. #define ITPhone_get_ButtonText(This,lButtonID,ppButtonText)
  983.     (This)->lpVtbl -> get_ButtonText(This,lButtonID,ppButtonText)
  984. #define ITPhone_put_ButtonText(This,lButtonID,bstrButtonText)
  985.     (This)->lpVtbl -> put_ButtonText(This,lButtonID,bstrButtonText)
  986. #define ITPhone_get_ButtonState(This,lButtonID,pButtonState)
  987.     (This)->lpVtbl -> get_ButtonState(This,lButtonID,pButtonState)
  988. #define ITPhone_get_HookSwitchState(This,HookSwitchDevice,pHookSwitchState)
  989.     (This)->lpVtbl -> get_HookSwitchState(This,HookSwitchDevice,pHookSwitchState)
  990. #define ITPhone_put_HookSwitchState(This,HookSwitchDevice,HookSwitchState)
  991.     (This)->lpVtbl -> put_HookSwitchState(This,HookSwitchDevice,HookSwitchState)
  992. #define ITPhone_put_RingMode(This,lRingMode)
  993.     (This)->lpVtbl -> put_RingMode(This,lRingMode)
  994. #define ITPhone_get_RingMode(This,plRingMode)
  995.     (This)->lpVtbl -> get_RingMode(This,plRingMode)
  996. #define ITPhone_put_RingVolume(This,lRingVolume)
  997.     (This)->lpVtbl -> put_RingVolume(This,lRingVolume)
  998. #define ITPhone_get_RingVolume(This,plRingVolume)
  999.     (This)->lpVtbl -> get_RingVolume(This,plRingVolume)
  1000. #define ITPhone_get_Privilege(This,pPrivilege)
  1001.     (This)->lpVtbl -> get_Privilege(This,pPrivilege)
  1002. #define ITPhone_GetPhoneCapsBuffer(This,pcbCaps,pdwSize,ppPhoneCapsBuffer)
  1003.     (This)->lpVtbl -> GetPhoneCapsBuffer(This,pcbCaps,pdwSize,ppPhoneCapsBuffer)
  1004. #define ITPhone_get_PhoneCapsBuffer(This,pcbCaps,pVarBuffer)
  1005.     (This)->lpVtbl -> get_PhoneCapsBuffer(This,pcbCaps,pVarBuffer)
  1006. #define ITPhone_get_LampMode(This,lLampID,pLampMode)
  1007.     (This)->lpVtbl -> get_LampMode(This,lLampID,pLampMode)
  1008. #define ITPhone_put_LampMode(This,lLampID,LampMode)
  1009.     (This)->lpVtbl -> put_LampMode(This,lLampID,LampMode)
  1010. #define ITPhone_get_Display(This,pbstrDisplay)
  1011.     (This)->lpVtbl -> get_Display(This,pbstrDisplay)
  1012. #define ITPhone_SetDisplay(This,lRow,lColumn,bstrDisplay)
  1013.     (This)->lpVtbl -> SetDisplay(This,lRow,lColumn,bstrDisplay)
  1014. #define ITPhone_get_PreferredAddresses(This,pAddresses)
  1015.     (This)->lpVtbl -> get_PreferredAddresses(This,pAddresses)
  1016. #define ITPhone_EnumeratePreferredAddresses(This,ppEnumAddress)
  1017.     (This)->lpVtbl -> EnumeratePreferredAddresses(This,ppEnumAddress)
  1018. #define ITPhone_DeviceSpecific(This,pParams,dwSize)
  1019.     (This)->lpVtbl -> DeviceSpecific(This,pParams,dwSize)
  1020. #define ITPhone_DeviceSpecificVariant(This,varDevSpecificByteArray)
  1021.     (This)->lpVtbl -> DeviceSpecificVariant(This,varDevSpecificByteArray)
  1022. #define ITPhone_NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion)
  1023.     (This)->lpVtbl -> NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion)
  1024. #endif /* COBJMACROS */
  1025. #endif  /* C style interface */
  1026. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITPhone_Open_Proxy( 
  1027.     ITPhone * This,
  1028.     /* [in] */ PHONE_PRIVILEGE Privilege);
  1029. void __RPC_STUB ITPhone_Open_Stub(
  1030.     IRpcStubBuffer *This,
  1031.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1032.     PRPC_MESSAGE _pRpcMessage,
  1033.     DWORD *_pdwStubPhase);
  1034. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITPhone_Close_Proxy( 
  1035.     ITPhone * This);
  1036. void __RPC_STUB ITPhone_Close_Stub(
  1037.     IRpcStubBuffer *This,
  1038.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1039.     PRPC_MESSAGE _pRpcMessage,
  1040.     DWORD *_pdwStubPhase);
  1041. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_Addresses_Proxy( 
  1042.     ITPhone * This,
  1043.     /* [retval][out] */ VARIANT *pAddresses);
  1044. void __RPC_STUB ITPhone_get_Addresses_Stub(
  1045.     IRpcStubBuffer *This,
  1046.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1047.     PRPC_MESSAGE _pRpcMessage,
  1048.     DWORD *_pdwStubPhase);
  1049. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITPhone_EnumerateAddresses_Proxy( 
  1050.     ITPhone * This,
  1051.     /* [retval][out] */ IEnumAddress **ppEnumAddress);
  1052. void __RPC_STUB ITPhone_EnumerateAddresses_Stub(
  1053.     IRpcStubBuffer *This,
  1054.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1055.     PRPC_MESSAGE _pRpcMessage,
  1056.     DWORD *_pdwStubPhase);
  1057. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_PhoneCapsLong_Proxy( 
  1058.     ITPhone * This,
  1059.     /* [in] */ PHONECAPS_LONG pclCap,
  1060.     /* [retval][out] */ long *plCapability);
  1061. void __RPC_STUB ITPhone_get_PhoneCapsLong_Stub(
  1062.     IRpcStubBuffer *This,
  1063.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1064.     PRPC_MESSAGE _pRpcMessage,
  1065.     DWORD *_pdwStubPhase);
  1066. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_PhoneCapsString_Proxy( 
  1067.     ITPhone * This,
  1068.     /* [in] */ PHONECAPS_STRING pcsCap,
  1069.     /* [retval][out] */ BSTR *ppCapability);
  1070. void __RPC_STUB ITPhone_get_PhoneCapsString_Stub(
  1071.     IRpcStubBuffer *This,
  1072.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1073.     PRPC_MESSAGE _pRpcMessage,
  1074.     DWORD *_pdwStubPhase);
  1075. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_Terminals_Proxy( 
  1076.     ITPhone * This,
  1077.     /* [in] */ ITAddress *pAddress,
  1078.     /* [retval][out] */ VARIANT *pTerminals);
  1079. void __RPC_STUB ITPhone_get_Terminals_Stub(
  1080.     IRpcStubBuffer *This,
  1081.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1082.     PRPC_MESSAGE _pRpcMessage,
  1083.     DWORD *_pdwStubPhase);
  1084. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITPhone_EnumerateTerminals_Proxy( 
  1085.     ITPhone * This,
  1086.     /* [in] */ ITAddress *pAddress,
  1087.     /* [retval][out] */ IEnumTerminal **ppEnumTerminal);
  1088. void __RPC_STUB ITPhone_EnumerateTerminals_Stub(
  1089.     IRpcStubBuffer *This,
  1090.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1091.     PRPC_MESSAGE _pRpcMessage,
  1092.     DWORD *_pdwStubPhase);
  1093. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_ButtonMode_Proxy( 
  1094.     ITPhone * This,
  1095.     /* [in] */ long lButtonID,
  1096.     /* [retval][out] */ PHONE_BUTTON_MODE *pButtonMode);
  1097. void __RPC_STUB ITPhone_get_ButtonMode_Stub(
  1098.     IRpcStubBuffer *This,
  1099.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1100.     PRPC_MESSAGE _pRpcMessage,
  1101.     DWORD *_pdwStubPhase);
  1102. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITPhone_put_ButtonMode_Proxy( 
  1103.     ITPhone * This,
  1104.     /* [in] */ long lButtonID,
  1105.     /* [in] */ PHONE_BUTTON_MODE ButtonMode);
  1106. void __RPC_STUB ITPhone_put_ButtonMode_Stub(
  1107.     IRpcStubBuffer *This,
  1108.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1109.     PRPC_MESSAGE _pRpcMessage,
  1110.     DWORD *_pdwStubPhase);
  1111. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_ButtonFunction_Proxy( 
  1112.     ITPhone * This,
  1113.     /* [in] */ long lButtonID,
  1114.     /* [retval][out] */ PHONE_BUTTON_FUNCTION *pButtonFunction);
  1115. void __RPC_STUB ITPhone_get_ButtonFunction_Stub(
  1116.     IRpcStubBuffer *This,
  1117.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1118.     PRPC_MESSAGE _pRpcMessage,
  1119.     DWORD *_pdwStubPhase);
  1120. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITPhone_put_ButtonFunction_Proxy( 
  1121.     ITPhone * This,
  1122.     /* [in] */ long lButtonID,
  1123.     /* [in] */ PHONE_BUTTON_FUNCTION ButtonFunction);
  1124. void __RPC_STUB ITPhone_put_ButtonFunction_Stub(
  1125.     IRpcStubBuffer *This,
  1126.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1127.     PRPC_MESSAGE _pRpcMessage,
  1128.     DWORD *_pdwStubPhase);
  1129. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_ButtonText_Proxy( 
  1130.     ITPhone * This,
  1131.     /* [in] */ long lButtonID,
  1132.     /* [retval][out] */ BSTR *ppButtonText);
  1133. void __RPC_STUB ITPhone_get_ButtonText_Stub(
  1134.     IRpcStubBuffer *This,
  1135.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1136.     PRPC_MESSAGE _pRpcMessage,
  1137.     DWORD *_pdwStubPhase);
  1138. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITPhone_put_ButtonText_Proxy( 
  1139.     ITPhone * This,
  1140.     /* [in] */ long lButtonID,
  1141.     /* [in] */ BSTR bstrButtonText);
  1142. void __RPC_STUB ITPhone_put_ButtonText_Stub(
  1143.     IRpcStubBuffer *This,
  1144.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1145.     PRPC_MESSAGE _pRpcMessage,
  1146.     DWORD *_pdwStubPhase);
  1147. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_ButtonState_Proxy( 
  1148.     ITPhone * This,
  1149.     /* [in] */ long lButtonID,
  1150.     /* [retval][out] */ PHONE_BUTTON_STATE *pButtonState);
  1151. void __RPC_STUB ITPhone_get_ButtonState_Stub(
  1152.     IRpcStubBuffer *This,
  1153.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1154.     PRPC_MESSAGE _pRpcMessage,
  1155.     DWORD *_pdwStubPhase);
  1156. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_HookSwitchState_Proxy( 
  1157.     ITPhone * This,
  1158.     /* [in] */ PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,
  1159.     /* [retval][out] */ PHONE_HOOK_SWITCH_STATE *pHookSwitchState);
  1160. void __RPC_STUB ITPhone_get_HookSwitchState_Stub(
  1161.     IRpcStubBuffer *This,
  1162.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1163.     PRPC_MESSAGE _pRpcMessage,
  1164.     DWORD *_pdwStubPhase);
  1165. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITPhone_put_HookSwitchState_Proxy( 
  1166.     ITPhone * This,
  1167.     /* [in] */ PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,
  1168.     /* [in] */ PHONE_HOOK_SWITCH_STATE HookSwitchState);
  1169. void __RPC_STUB ITPhone_put_HookSwitchState_Stub(
  1170.     IRpcStubBuffer *This,
  1171.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1172.     PRPC_MESSAGE _pRpcMessage,
  1173.     DWORD *_pdwStubPhase);
  1174. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITPhone_put_RingMode_Proxy( 
  1175.     ITPhone * This,
  1176.     /* [in] */ long lRingMode);
  1177. void __RPC_STUB ITPhone_put_RingMode_Stub(
  1178.     IRpcStubBuffer *This,
  1179.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1180.     PRPC_MESSAGE _pRpcMessage,
  1181.     DWORD *_pdwStubPhase);
  1182. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_RingMode_Proxy( 
  1183.     ITPhone * This,
  1184.     /* [retval][out] */ long *plRingMode);
  1185. void __RPC_STUB ITPhone_get_RingMode_Stub(
  1186.     IRpcStubBuffer *This,
  1187.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1188.     PRPC_MESSAGE _pRpcMessage,
  1189.     DWORD *_pdwStubPhase);
  1190. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITPhone_put_RingVolume_Proxy( 
  1191.     ITPhone * This,
  1192.     /* [in] */ long lRingVolume);
  1193. void __RPC_STUB ITPhone_put_RingVolume_Stub(
  1194.     IRpcStubBuffer *This,
  1195.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1196.     PRPC_MESSAGE _pRpcMessage,
  1197.     DWORD *_pdwStubPhase);
  1198. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_RingVolume_Proxy( 
  1199.     ITPhone * This,
  1200.     /* [retval][out] */ long *plRingVolume);
  1201. void __RPC_STUB ITPhone_get_RingVolume_Stub(
  1202.     IRpcStubBuffer *This,
  1203.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1204.     PRPC_MESSAGE _pRpcMessage,
  1205.     DWORD *_pdwStubPhase);
  1206. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_Privilege_Proxy( 
  1207.     ITPhone * This,
  1208.     /* [retval][out] */ PHONE_PRIVILEGE *pPrivilege);
  1209. void __RPC_STUB ITPhone_get_Privilege_Stub(
  1210.     IRpcStubBuffer *This,
  1211.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1212.     PRPC_MESSAGE _pRpcMessage,
  1213.     DWORD *_pdwStubPhase);
  1214. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITPhone_GetPhoneCapsBuffer_Proxy( 
  1215.     ITPhone * This,
  1216.     /* [in] */ PHONECAPS_BUFFER pcbCaps,
  1217.     /* [out] */ DWORD *pdwSize,
  1218.     /* [out] */ BYTE **ppPhoneCapsBuffer);
  1219. void __RPC_STUB ITPhone_GetPhoneCapsBuffer_Stub(
  1220.     IRpcStubBuffer *This,
  1221.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1222.     PRPC_MESSAGE _pRpcMessage,
  1223.     DWORD *_pdwStubPhase);
  1224. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_PhoneCapsBuffer_Proxy( 
  1225.     ITPhone * This,
  1226.     /* [in] */ PHONECAPS_BUFFER pcbCaps,
  1227.     /* [retval][out] */ VARIANT *pVarBuffer);
  1228. void __RPC_STUB ITPhone_get_PhoneCapsBuffer_Stub(
  1229.     IRpcStubBuffer *This,
  1230.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1231.     PRPC_MESSAGE _pRpcMessage,
  1232.     DWORD *_pdwStubPhase);
  1233. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_LampMode_Proxy( 
  1234.     ITPhone * This,
  1235.     /* [in] */ long lLampID,
  1236.     /* [retval][out] */ PHONE_LAMP_MODE *pLampMode);
  1237. void __RPC_STUB ITPhone_get_LampMode_Stub(
  1238.     IRpcStubBuffer *This,
  1239.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1240.     PRPC_MESSAGE _pRpcMessage,
  1241.     DWORD *_pdwStubPhase);
  1242. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITPhone_put_LampMode_Proxy( 
  1243.     ITPhone * This,
  1244.     /* [in] */ long lLampID,
  1245.     /* [in] */ PHONE_LAMP_MODE LampMode);
  1246. void __RPC_STUB ITPhone_put_LampMode_Stub(
  1247.     IRpcStubBuffer *This,
  1248.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1249.     PRPC_MESSAGE _pRpcMessage,
  1250.     DWORD *_pdwStubPhase);
  1251. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_Display_Proxy( 
  1252.     ITPhone * This,
  1253.     /* [retval][out] */ BSTR *pbstrDisplay);
  1254. void __RPC_STUB ITPhone_get_Display_Stub(
  1255.     IRpcStubBuffer *This,
  1256.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1257.     PRPC_MESSAGE _pRpcMessage,
  1258.     DWORD *_pdwStubPhase);
  1259. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITPhone_SetDisplay_Proxy( 
  1260.     ITPhone * This,
  1261.     /* [in] */ long lRow,
  1262.     /* [in] */ long lColumn,
  1263.     /* [in] */ BSTR bstrDisplay);
  1264. void __RPC_STUB ITPhone_SetDisplay_Stub(
  1265.     IRpcStubBuffer *This,
  1266.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1267.     PRPC_MESSAGE _pRpcMessage,
  1268.     DWORD *_pdwStubPhase);
  1269. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITPhone_get_PreferredAddresses_Proxy( 
  1270.     ITPhone * This,
  1271.     /* [retval][out] */ VARIANT *pAddresses);
  1272. void __RPC_STUB ITPhone_get_PreferredAddresses_Stub(
  1273.     IRpcStubBuffer *This,
  1274.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1275.     PRPC_MESSAGE _pRpcMessage,
  1276.     DWORD *_pdwStubPhase);
  1277. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITPhone_EnumeratePreferredAddresses_Proxy( 
  1278.     ITPhone * This,
  1279.     /* [retval][out] */ IEnumAddress **ppEnumAddress);
  1280. void __RPC_STUB ITPhone_EnumeratePreferredAddresses_Stub(
  1281.     IRpcStubBuffer *This,
  1282.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1283.     PRPC_MESSAGE _pRpcMessage,
  1284.     DWORD *_pdwStubPhase);
  1285. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITPhone_DeviceSpecific_Proxy( 
  1286.     ITPhone * This,
  1287.     /* [in] */ BYTE *pParams,
  1288.     /* [in] */ DWORD dwSize);
  1289. void __RPC_STUB ITPhone_DeviceSpecific_Stub(
  1290.     IRpcStubBuffer *This,
  1291.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1292.     PRPC_MESSAGE _pRpcMessage,
  1293.     DWORD *_pdwStubPhase);
  1294. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITPhone_DeviceSpecificVariant_Proxy( 
  1295.     ITPhone * This,
  1296.     /* [in] */ VARIANT varDevSpecificByteArray);
  1297. void __RPC_STUB ITPhone_DeviceSpecificVariant_Stub(
  1298.     IRpcStubBuffer *This,
  1299.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1300.     PRPC_MESSAGE _pRpcMessage,
  1301.     DWORD *_pdwStubPhase);
  1302. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITPhone_NegotiateExtVersion_Proxy( 
  1303.     ITPhone * This,
  1304.     /* [in] */ long lLowVersion,
  1305.     /* [in] */ long lHighVersion,
  1306.     /* [retval][out] */ long *plExtVersion);
  1307. void __RPC_STUB ITPhone_NegotiateExtVersion_Stub(
  1308.     IRpcStubBuffer *This,
  1309.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1310.     PRPC_MESSAGE _pRpcMessage,
  1311.     DWORD *_pdwStubPhase);
  1312. #endif  /* __ITPhone_INTERFACE_DEFINED__ */
  1313. #ifndef __ITAutomatedPhoneControl_INTERFACE_DEFINED__
  1314. #define __ITAutomatedPhoneControl_INTERFACE_DEFINED__
  1315. /* interface ITAutomatedPhoneControl */
  1316. /* [object][dual][helpstring][uuid] */ 
  1317. EXTERN_C const IID IID_ITAutomatedPhoneControl;
  1318. #if defined(__cplusplus) && !defined(CINTERFACE)
  1319.     
  1320.     MIDL_INTERFACE("1EE1AF0E-6159-4a61-B79B-6A4BA3FC9DFC")
  1321.     ITAutomatedPhoneControl : public IDispatch
  1322.     {
  1323.     public:
  1324.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StartTone( 
  1325.             /* [in] */ PHONE_TONE Tone,
  1326.             /* [in] */ long lDuration) = 0;
  1327.         
  1328.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StopTone( void) = 0;
  1329.         
  1330.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Tone( 
  1331.             /* [retval][out] */ PHONE_TONE *pTone) = 0;
  1332.         
  1333.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StartRinger( 
  1334.             /* [in] */ long lRingMode,
  1335.             /* [in] */ long lDuration) = 0;
  1336.         
  1337.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StopRinger( void) = 0;
  1338.         
  1339.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Ringer( 
  1340.             /* [retval][out] */ VARIANT_BOOL *pfRinging) = 0;
  1341.         
  1342.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_PhoneHandlingEnabled( 
  1343.             /* [in] */ VARIANT_BOOL fEnabled) = 0;
  1344.         
  1345.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_PhoneHandlingEnabled( 
  1346.             /* [retval][out] */ VARIANT_BOOL *pfEnabled) = 0;
  1347.         
  1348.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoEndOfNumberTimeout( 
  1349.             /* [in] */ long lTimeout) = 0;
  1350.         
  1351.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoEndOfNumberTimeout( 
  1352.             /* [retval][out] */ long *plTimeout) = 0;
  1353.         
  1354.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoDialtone( 
  1355.             /* [in] */ VARIANT_BOOL fEnabled) = 0;
  1356.         
  1357.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoDialtone( 
  1358.             /* [retval][out] */ VARIANT_BOOL *pfEnabled) = 0;
  1359.         
  1360.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoStopTonesOnOnHook( 
  1361.             /* [in] */ VARIANT_BOOL fEnabled) = 0;
  1362.         
  1363.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoStopTonesOnOnHook( 
  1364.             /* [retval][out] */ VARIANT_BOOL *pfEnabled) = 0;
  1365.         
  1366.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoStopRingOnOffHook( 
  1367.             /* [in] */ VARIANT_BOOL fEnabled) = 0;
  1368.         
  1369.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoStopRingOnOffHook( 
  1370.             /* [retval][out] */ VARIANT_BOOL *pfEnabled) = 0;
  1371.         
  1372.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoKeypadTones( 
  1373.             /* [in] */ VARIANT_BOOL fEnabled) = 0;
  1374.         
  1375.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoKeypadTones( 
  1376.             /* [retval][out] */ VARIANT_BOOL *pfEnabled) = 0;
  1377.         
  1378.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoKeypadTonesMinimumDuration( 
  1379.             /* [in] */ long lDuration) = 0;
  1380.         
  1381.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoKeypadTonesMinimumDuration( 
  1382.             /* [retval][out] */ long *plDuration) = 0;
  1383.         
  1384.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoVolumeControl( 
  1385.             /* [in] */ VARIANT_BOOL fEnabled) = 0;
  1386.         
  1387.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoVolumeControl( 
  1388.             /* [retval][out] */ VARIANT_BOOL *fEnabled) = 0;
  1389.         
  1390.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoVolumeControlStep( 
  1391.             /* [in] */ long lStepSize) = 0;
  1392.         
  1393.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoVolumeControlStep( 
  1394.             /* [retval][out] */ long *plStepSize) = 0;
  1395.         
  1396.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoVolumeControlRepeatDelay( 
  1397.             /* [in] */ long lDelay) = 0;
  1398.         
  1399.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoVolumeControlRepeatDelay( 
  1400.             /* [retval][out] */ long *plDelay) = 0;
  1401.         
  1402.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_AutoVolumeControlRepeatPeriod( 
  1403.             /* [in] */ long lPeriod) = 0;
  1404.         
  1405.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_AutoVolumeControlRepeatPeriod( 
  1406.             /* [retval][out] */ long *plPeriod) = 0;
  1407.         
  1408.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SelectCall( 
  1409.             /* [in] */ ITCallInfo *pCall,
  1410.             /* [in] */ VARIANT_BOOL fSelectDefaultTerminals) = 0;
  1411.         
  1412.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnselectCall( 
  1413.             /* [in] */ ITCallInfo *pCall) = 0;
  1414.         
  1415.         virtual /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE EnumerateSelectedCalls( 
  1416.             /* [retval][out] */ IEnumCall **ppCallEnum) = 0;
  1417.         
  1418.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_SelectedCalls( 
  1419.             /* [retval][out] */ VARIANT *pVariant) = 0;
  1420.         
  1421.     };
  1422.     
  1423. #else  /* C style interface */
  1424.     typedef struct ITAutomatedPhoneControlVtbl
  1425.     {
  1426.         BEGIN_INTERFACE
  1427.         
  1428.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  1429.             ITAutomatedPhoneControl * This,
  1430.             /* [in] */ REFIID riid,
  1431.             /* [iid_is][out] */ void **ppvObject);
  1432.         
  1433.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  1434.             ITAutomatedPhoneControl * This);
  1435.         
  1436.         ULONG ( STDMETHODCALLTYPE *Release )( 
  1437.             ITAutomatedPhoneControl * This);
  1438.         
  1439.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  1440.             ITAutomatedPhoneControl * This,
  1441.             /* [out] */ UINT *pctinfo);
  1442.         
  1443.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  1444.             ITAutomatedPhoneControl * This,
  1445.             /* [in] */ UINT iTInfo,
  1446.             /* [in] */ LCID lcid,
  1447.             /* [out] */ ITypeInfo **ppTInfo);
  1448.         
  1449.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  1450.             ITAutomatedPhoneControl * This,
  1451.             /* [in] */ REFIID riid,
  1452.             /* [size_is][in] */ LPOLESTR *rgszNames,
  1453.             /* [in] */ UINT cNames,
  1454.             /* [in] */ LCID lcid,
  1455.             /* [size_is][out] */ DISPID *rgDispId);
  1456.         
  1457.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  1458.             ITAutomatedPhoneControl * This,
  1459.             /* [in] */ DISPID dispIdMember,
  1460.             /* [in] */ REFIID riid,
  1461.             /* [in] */ LCID lcid,
  1462.             /* [in] */ WORD wFlags,
  1463.             /* [out][in] */ DISPPARAMS *pDispParams,
  1464.             /* [out] */ VARIANT *pVarResult,
  1465.             /* [out] */ EXCEPINFO *pExcepInfo,
  1466.             /* [out] */ UINT *puArgErr);
  1467.         
  1468.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StartTone )( 
  1469.             ITAutomatedPhoneControl * This,
  1470.             /* [in] */ PHONE_TONE Tone,
  1471.             /* [in] */ long lDuration);
  1472.         
  1473.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StopTone )( 
  1474.             ITAutomatedPhoneControl * This);
  1475.         
  1476.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Tone )( 
  1477.             ITAutomatedPhoneControl * This,
  1478.             /* [retval][out] */ PHONE_TONE *pTone);
  1479.         
  1480.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StartRinger )( 
  1481.             ITAutomatedPhoneControl * This,
  1482.             /* [in] */ long lRingMode,
  1483.             /* [in] */ long lDuration);
  1484.         
  1485.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StopRinger )( 
  1486.             ITAutomatedPhoneControl * This);
  1487.         
  1488.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Ringer )( 
  1489.             ITAutomatedPhoneControl * This,
  1490.             /* [retval][out] */ VARIANT_BOOL *pfRinging);
  1491.         
  1492.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_PhoneHandlingEnabled )( 
  1493.             ITAutomatedPhoneControl * This,
  1494.             /* [in] */ VARIANT_BOOL fEnabled);
  1495.         
  1496.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_PhoneHandlingEnabled )( 
  1497.             ITAutomatedPhoneControl * This,
  1498.             /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1499.         
  1500.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoEndOfNumberTimeout )( 
  1501.             ITAutomatedPhoneControl * This,
  1502.             /* [in] */ long lTimeout);
  1503.         
  1504.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoEndOfNumberTimeout )( 
  1505.             ITAutomatedPhoneControl * This,
  1506.             /* [retval][out] */ long *plTimeout);
  1507.         
  1508.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoDialtone )( 
  1509.             ITAutomatedPhoneControl * This,
  1510.             /* [in] */ VARIANT_BOOL fEnabled);
  1511.         
  1512.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoDialtone )( 
  1513.             ITAutomatedPhoneControl * This,
  1514.             /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1515.         
  1516.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoStopTonesOnOnHook )( 
  1517.             ITAutomatedPhoneControl * This,
  1518.             /* [in] */ VARIANT_BOOL fEnabled);
  1519.         
  1520.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoStopTonesOnOnHook )( 
  1521.             ITAutomatedPhoneControl * This,
  1522.             /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1523.         
  1524.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoStopRingOnOffHook )( 
  1525.             ITAutomatedPhoneControl * This,
  1526.             /* [in] */ VARIANT_BOOL fEnabled);
  1527.         
  1528.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoStopRingOnOffHook )( 
  1529.             ITAutomatedPhoneControl * This,
  1530.             /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1531.         
  1532.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoKeypadTones )( 
  1533.             ITAutomatedPhoneControl * This,
  1534.             /* [in] */ VARIANT_BOOL fEnabled);
  1535.         
  1536.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoKeypadTones )( 
  1537.             ITAutomatedPhoneControl * This,
  1538.             /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1539.         
  1540.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoKeypadTonesMinimumDuration )( 
  1541.             ITAutomatedPhoneControl * This,
  1542.             /* [in] */ long lDuration);
  1543.         
  1544.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoKeypadTonesMinimumDuration )( 
  1545.             ITAutomatedPhoneControl * This,
  1546.             /* [retval][out] */ long *plDuration);
  1547.         
  1548.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoVolumeControl )( 
  1549.             ITAutomatedPhoneControl * This,
  1550.             /* [in] */ VARIANT_BOOL fEnabled);
  1551.         
  1552.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoVolumeControl )( 
  1553.             ITAutomatedPhoneControl * This,
  1554.             /* [retval][out] */ VARIANT_BOOL *fEnabled);
  1555.         
  1556.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoVolumeControlStep )( 
  1557.             ITAutomatedPhoneControl * This,
  1558.             /* [in] */ long lStepSize);
  1559.         
  1560.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoVolumeControlStep )( 
  1561.             ITAutomatedPhoneControl * This,
  1562.             /* [retval][out] */ long *plStepSize);
  1563.         
  1564.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoVolumeControlRepeatDelay )( 
  1565.             ITAutomatedPhoneControl * This,
  1566.             /* [in] */ long lDelay);
  1567.         
  1568.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoVolumeControlRepeatDelay )( 
  1569.             ITAutomatedPhoneControl * This,
  1570.             /* [retval][out] */ long *plDelay);
  1571.         
  1572.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_AutoVolumeControlRepeatPeriod )( 
  1573.             ITAutomatedPhoneControl * This,
  1574.             /* [in] */ long lPeriod);
  1575.         
  1576.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_AutoVolumeControlRepeatPeriod )( 
  1577.             ITAutomatedPhoneControl * This,
  1578.             /* [retval][out] */ long *plPeriod);
  1579.         
  1580.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SelectCall )( 
  1581.             ITAutomatedPhoneControl * This,
  1582.             /* [in] */ ITCallInfo *pCall,
  1583.             /* [in] */ VARIANT_BOOL fSelectDefaultTerminals);
  1584.         
  1585.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnselectCall )( 
  1586.             ITAutomatedPhoneControl * This,
  1587.             /* [in] */ ITCallInfo *pCall);
  1588.         
  1589.         /* [helpstring][hidden][id] */ HRESULT ( STDMETHODCALLTYPE *EnumerateSelectedCalls )( 
  1590.             ITAutomatedPhoneControl * This,
  1591.             /* [retval][out] */ IEnumCall **ppCallEnum);
  1592.         
  1593.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedCalls )( 
  1594.             ITAutomatedPhoneControl * This,
  1595.             /* [retval][out] */ VARIANT *pVariant);
  1596.         
  1597.         END_INTERFACE
  1598.     } ITAutomatedPhoneControlVtbl;
  1599.     interface ITAutomatedPhoneControl
  1600.     {
  1601.         CONST_VTBL struct ITAutomatedPhoneControlVtbl *lpVtbl;
  1602.     };
  1603.     
  1604. #ifdef COBJMACROS
  1605. #define ITAutomatedPhoneControl_QueryInterface(This,riid,ppvObject)
  1606.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1607. #define ITAutomatedPhoneControl_AddRef(This)
  1608.     (This)->lpVtbl -> AddRef(This)
  1609. #define ITAutomatedPhoneControl_Release(This)
  1610.     (This)->lpVtbl -> Release(This)
  1611. #define ITAutomatedPhoneControl_GetTypeInfoCount(This,pctinfo)
  1612.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  1613. #define ITAutomatedPhoneControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1614.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  1615. #define ITAutomatedPhoneControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1616.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  1617. #define ITAutomatedPhoneControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1618.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  1619. #define ITAutomatedPhoneControl_StartTone(This,Tone,lDuration)
  1620.     (This)->lpVtbl -> StartTone(This,Tone,lDuration)
  1621. #define ITAutomatedPhoneControl_StopTone(This)
  1622.     (This)->lpVtbl -> StopTone(This)
  1623. #define ITAutomatedPhoneControl_get_Tone(This,pTone)
  1624.     (This)->lpVtbl -> get_Tone(This,pTone)
  1625. #define ITAutomatedPhoneControl_StartRinger(This,lRingMode,lDuration)
  1626.     (This)->lpVtbl -> StartRinger(This,lRingMode,lDuration)
  1627. #define ITAutomatedPhoneControl_StopRinger(This)
  1628.     (This)->lpVtbl -> StopRinger(This)
  1629. #define ITAutomatedPhoneControl_get_Ringer(This,pfRinging)
  1630.     (This)->lpVtbl -> get_Ringer(This,pfRinging)
  1631. #define ITAutomatedPhoneControl_put_PhoneHandlingEnabled(This,fEnabled)
  1632.     (This)->lpVtbl -> put_PhoneHandlingEnabled(This,fEnabled)
  1633. #define ITAutomatedPhoneControl_get_PhoneHandlingEnabled(This,pfEnabled)
  1634.     (This)->lpVtbl -> get_PhoneHandlingEnabled(This,pfEnabled)
  1635. #define ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout(This,lTimeout)
  1636.     (This)->lpVtbl -> put_AutoEndOfNumberTimeout(This,lTimeout)
  1637. #define ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout(This,plTimeout)
  1638.     (This)->lpVtbl -> get_AutoEndOfNumberTimeout(This,plTimeout)
  1639. #define ITAutomatedPhoneControl_put_AutoDialtone(This,fEnabled)
  1640.     (This)->lpVtbl -> put_AutoDialtone(This,fEnabled)
  1641. #define ITAutomatedPhoneControl_get_AutoDialtone(This,pfEnabled)
  1642.     (This)->lpVtbl -> get_AutoDialtone(This,pfEnabled)
  1643. #define ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook(This,fEnabled)
  1644.     (This)->lpVtbl -> put_AutoStopTonesOnOnHook(This,fEnabled)
  1645. #define ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook(This,pfEnabled)
  1646.     (This)->lpVtbl -> get_AutoStopTonesOnOnHook(This,pfEnabled)
  1647. #define ITAutomatedPhoneControl_put_AutoStopRingOnOffHook(This,fEnabled)
  1648.     (This)->lpVtbl -> put_AutoStopRingOnOffHook(This,fEnabled)
  1649. #define ITAutomatedPhoneControl_get_AutoStopRingOnOffHook(This,pfEnabled)
  1650.     (This)->lpVtbl -> get_AutoStopRingOnOffHook(This,pfEnabled)
  1651. #define ITAutomatedPhoneControl_put_AutoKeypadTones(This,fEnabled)
  1652.     (This)->lpVtbl -> put_AutoKeypadTones(This,fEnabled)
  1653. #define ITAutomatedPhoneControl_get_AutoKeypadTones(This,pfEnabled)
  1654.     (This)->lpVtbl -> get_AutoKeypadTones(This,pfEnabled)
  1655. #define ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration(This,lDuration)
  1656.     (This)->lpVtbl -> put_AutoKeypadTonesMinimumDuration(This,lDuration)
  1657. #define ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration(This,plDuration)
  1658.     (This)->lpVtbl -> get_AutoKeypadTonesMinimumDuration(This,plDuration)
  1659. #define ITAutomatedPhoneControl_put_AutoVolumeControl(This,fEnabled)
  1660.     (This)->lpVtbl -> put_AutoVolumeControl(This,fEnabled)
  1661. #define ITAutomatedPhoneControl_get_AutoVolumeControl(This,fEnabled)
  1662.     (This)->lpVtbl -> get_AutoVolumeControl(This,fEnabled)
  1663. #define ITAutomatedPhoneControl_put_AutoVolumeControlStep(This,lStepSize)
  1664.     (This)->lpVtbl -> put_AutoVolumeControlStep(This,lStepSize)
  1665. #define ITAutomatedPhoneControl_get_AutoVolumeControlStep(This,plStepSize)
  1666.     (This)->lpVtbl -> get_AutoVolumeControlStep(This,plStepSize)
  1667. #define ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay(This,lDelay)
  1668.     (This)->lpVtbl -> put_AutoVolumeControlRepeatDelay(This,lDelay)
  1669. #define ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay(This,plDelay)
  1670.     (This)->lpVtbl -> get_AutoVolumeControlRepeatDelay(This,plDelay)
  1671. #define ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod(This,lPeriod)
  1672.     (This)->lpVtbl -> put_AutoVolumeControlRepeatPeriod(This,lPeriod)
  1673. #define ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod(This,plPeriod)
  1674.     (This)->lpVtbl -> get_AutoVolumeControlRepeatPeriod(This,plPeriod)
  1675. #define ITAutomatedPhoneControl_SelectCall(This,pCall,fSelectDefaultTerminals)
  1676.     (This)->lpVtbl -> SelectCall(This,pCall,fSelectDefaultTerminals)
  1677. #define ITAutomatedPhoneControl_UnselectCall(This,pCall)
  1678.     (This)->lpVtbl -> UnselectCall(This,pCall)
  1679. #define ITAutomatedPhoneControl_EnumerateSelectedCalls(This,ppCallEnum)
  1680.     (This)->lpVtbl -> EnumerateSelectedCalls(This,ppCallEnum)
  1681. #define ITAutomatedPhoneControl_get_SelectedCalls(This,pVariant)
  1682.     (This)->lpVtbl -> get_SelectedCalls(This,pVariant)
  1683. #endif /* COBJMACROS */
  1684. #endif  /* C style interface */
  1685. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_StartTone_Proxy( 
  1686.     ITAutomatedPhoneControl * This,
  1687.     /* [in] */ PHONE_TONE Tone,
  1688.     /* [in] */ long lDuration);
  1689. void __RPC_STUB ITAutomatedPhoneControl_StartTone_Stub(
  1690.     IRpcStubBuffer *This,
  1691.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1692.     PRPC_MESSAGE _pRpcMessage,
  1693.     DWORD *_pdwStubPhase);
  1694. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_StopTone_Proxy( 
  1695.     ITAutomatedPhoneControl * This);
  1696. void __RPC_STUB ITAutomatedPhoneControl_StopTone_Stub(
  1697.     IRpcStubBuffer *This,
  1698.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1699.     PRPC_MESSAGE _pRpcMessage,
  1700.     DWORD *_pdwStubPhase);
  1701. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_Tone_Proxy( 
  1702.     ITAutomatedPhoneControl * This,
  1703.     /* [retval][out] */ PHONE_TONE *pTone);
  1704. void __RPC_STUB ITAutomatedPhoneControl_get_Tone_Stub(
  1705.     IRpcStubBuffer *This,
  1706.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1707.     PRPC_MESSAGE _pRpcMessage,
  1708.     DWORD *_pdwStubPhase);
  1709. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_StartRinger_Proxy( 
  1710.     ITAutomatedPhoneControl * This,
  1711.     /* [in] */ long lRingMode,
  1712.     /* [in] */ long lDuration);
  1713. void __RPC_STUB ITAutomatedPhoneControl_StartRinger_Stub(
  1714.     IRpcStubBuffer *This,
  1715.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1716.     PRPC_MESSAGE _pRpcMessage,
  1717.     DWORD *_pdwStubPhase);
  1718. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_StopRinger_Proxy( 
  1719.     ITAutomatedPhoneControl * This);
  1720. void __RPC_STUB ITAutomatedPhoneControl_StopRinger_Stub(
  1721.     IRpcStubBuffer *This,
  1722.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1723.     PRPC_MESSAGE _pRpcMessage,
  1724.     DWORD *_pdwStubPhase);
  1725. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_Ringer_Proxy( 
  1726.     ITAutomatedPhoneControl * This,
  1727.     /* [retval][out] */ VARIANT_BOOL *pfRinging);
  1728. void __RPC_STUB ITAutomatedPhoneControl_get_Ringer_Stub(
  1729.     IRpcStubBuffer *This,
  1730.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1731.     PRPC_MESSAGE _pRpcMessage,
  1732.     DWORD *_pdwStubPhase);
  1733. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_PhoneHandlingEnabled_Proxy( 
  1734.     ITAutomatedPhoneControl * This,
  1735.     /* [in] */ VARIANT_BOOL fEnabled);
  1736. void __RPC_STUB ITAutomatedPhoneControl_put_PhoneHandlingEnabled_Stub(
  1737.     IRpcStubBuffer *This,
  1738.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1739.     PRPC_MESSAGE _pRpcMessage,
  1740.     DWORD *_pdwStubPhase);
  1741. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_PhoneHandlingEnabled_Proxy( 
  1742.     ITAutomatedPhoneControl * This,
  1743.     /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1744. void __RPC_STUB ITAutomatedPhoneControl_get_PhoneHandlingEnabled_Stub(
  1745.     IRpcStubBuffer *This,
  1746.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1747.     PRPC_MESSAGE _pRpcMessage,
  1748.     DWORD *_pdwStubPhase);
  1749. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout_Proxy( 
  1750.     ITAutomatedPhoneControl * This,
  1751.     /* [in] */ long lTimeout);
  1752. void __RPC_STUB ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout_Stub(
  1753.     IRpcStubBuffer *This,
  1754.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1755.     PRPC_MESSAGE _pRpcMessage,
  1756.     DWORD *_pdwStubPhase);
  1757. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout_Proxy( 
  1758.     ITAutomatedPhoneControl * This,
  1759.     /* [retval][out] */ long *plTimeout);
  1760. void __RPC_STUB ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout_Stub(
  1761.     IRpcStubBuffer *This,
  1762.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1763.     PRPC_MESSAGE _pRpcMessage,
  1764.     DWORD *_pdwStubPhase);
  1765. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoDialtone_Proxy( 
  1766.     ITAutomatedPhoneControl * This,
  1767.     /* [in] */ VARIANT_BOOL fEnabled);
  1768. void __RPC_STUB ITAutomatedPhoneControl_put_AutoDialtone_Stub(
  1769.     IRpcStubBuffer *This,
  1770.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1771.     PRPC_MESSAGE _pRpcMessage,
  1772.     DWORD *_pdwStubPhase);
  1773. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoDialtone_Proxy( 
  1774.     ITAutomatedPhoneControl * This,
  1775.     /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1776. void __RPC_STUB ITAutomatedPhoneControl_get_AutoDialtone_Stub(
  1777.     IRpcStubBuffer *This,
  1778.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1779.     PRPC_MESSAGE _pRpcMessage,
  1780.     DWORD *_pdwStubPhase);
  1781. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook_Proxy( 
  1782.     ITAutomatedPhoneControl * This,
  1783.     /* [in] */ VARIANT_BOOL fEnabled);
  1784. void __RPC_STUB ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook_Stub(
  1785.     IRpcStubBuffer *This,
  1786.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1787.     PRPC_MESSAGE _pRpcMessage,
  1788.     DWORD *_pdwStubPhase);
  1789. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook_Proxy( 
  1790.     ITAutomatedPhoneControl * This,
  1791.     /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1792. void __RPC_STUB ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook_Stub(
  1793.     IRpcStubBuffer *This,
  1794.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1795.     PRPC_MESSAGE _pRpcMessage,
  1796.     DWORD *_pdwStubPhase);
  1797. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoStopRingOnOffHook_Proxy( 
  1798.     ITAutomatedPhoneControl * This,
  1799.     /* [in] */ VARIANT_BOOL fEnabled);
  1800. void __RPC_STUB ITAutomatedPhoneControl_put_AutoStopRingOnOffHook_Stub(
  1801.     IRpcStubBuffer *This,
  1802.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1803.     PRPC_MESSAGE _pRpcMessage,
  1804.     DWORD *_pdwStubPhase);
  1805. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoStopRingOnOffHook_Proxy( 
  1806.     ITAutomatedPhoneControl * This,
  1807.     /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1808. void __RPC_STUB ITAutomatedPhoneControl_get_AutoStopRingOnOffHook_Stub(
  1809.     IRpcStubBuffer *This,
  1810.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1811.     PRPC_MESSAGE _pRpcMessage,
  1812.     DWORD *_pdwStubPhase);
  1813. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoKeypadTones_Proxy( 
  1814.     ITAutomatedPhoneControl * This,
  1815.     /* [in] */ VARIANT_BOOL fEnabled);
  1816. void __RPC_STUB ITAutomatedPhoneControl_put_AutoKeypadTones_Stub(
  1817.     IRpcStubBuffer *This,
  1818.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1819.     PRPC_MESSAGE _pRpcMessage,
  1820.     DWORD *_pdwStubPhase);
  1821. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoKeypadTones_Proxy( 
  1822.     ITAutomatedPhoneControl * This,
  1823.     /* [retval][out] */ VARIANT_BOOL *pfEnabled);
  1824. void __RPC_STUB ITAutomatedPhoneControl_get_AutoKeypadTones_Stub(
  1825.     IRpcStubBuffer *This,
  1826.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1827.     PRPC_MESSAGE _pRpcMessage,
  1828.     DWORD *_pdwStubPhase);
  1829. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration_Proxy( 
  1830.     ITAutomatedPhoneControl * This,
  1831.     /* [in] */ long lDuration);
  1832. void __RPC_STUB ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration_Stub(
  1833.     IRpcStubBuffer *This,
  1834.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1835.     PRPC_MESSAGE _pRpcMessage,
  1836.     DWORD *_pdwStubPhase);
  1837. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration_Proxy( 
  1838.     ITAutomatedPhoneControl * This,
  1839.     /* [retval][out] */ long *plDuration);
  1840. void __RPC_STUB ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration_Stub(
  1841.     IRpcStubBuffer *This,
  1842.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1843.     PRPC_MESSAGE _pRpcMessage,
  1844.     DWORD *_pdwStubPhase);
  1845. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoVolumeControl_Proxy( 
  1846.     ITAutomatedPhoneControl * This,
  1847.     /* [in] */ VARIANT_BOOL fEnabled);
  1848. void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControl_Stub(
  1849.     IRpcStubBuffer *This,
  1850.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1851.     PRPC_MESSAGE _pRpcMessage,
  1852.     DWORD *_pdwStubPhase);
  1853. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoVolumeControl_Proxy( 
  1854.     ITAutomatedPhoneControl * This,
  1855.     /* [retval][out] */ VARIANT_BOOL *fEnabled);
  1856. void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControl_Stub(
  1857.     IRpcStubBuffer *This,
  1858.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1859.     PRPC_MESSAGE _pRpcMessage,
  1860.     DWORD *_pdwStubPhase);
  1861. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoVolumeControlStep_Proxy( 
  1862.     ITAutomatedPhoneControl * This,
  1863.     /* [in] */ long lStepSize);
  1864. void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlStep_Stub(
  1865.     IRpcStubBuffer *This,
  1866.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1867.     PRPC_MESSAGE _pRpcMessage,
  1868.     DWORD *_pdwStubPhase);
  1869. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoVolumeControlStep_Proxy( 
  1870.     ITAutomatedPhoneControl * This,
  1871.     /* [retval][out] */ long *plStepSize);
  1872. void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlStep_Stub(
  1873.     IRpcStubBuffer *This,
  1874.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1875.     PRPC_MESSAGE _pRpcMessage,
  1876.     DWORD *_pdwStubPhase);
  1877. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay_Proxy( 
  1878.     ITAutomatedPhoneControl * This,
  1879.     /* [in] */ long lDelay);
  1880. void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay_Stub(
  1881.     IRpcStubBuffer *This,
  1882.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1883.     PRPC_MESSAGE _pRpcMessage,
  1884.     DWORD *_pdwStubPhase);
  1885. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay_Proxy( 
  1886.     ITAutomatedPhoneControl * This,
  1887.     /* [retval][out] */ long *plDelay);
  1888. void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay_Stub(
  1889.     IRpcStubBuffer *This,
  1890.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1891.     PRPC_MESSAGE _pRpcMessage,
  1892.     DWORD *_pdwStubPhase);
  1893. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod_Proxy( 
  1894.     ITAutomatedPhoneControl * This,
  1895.     /* [in] */ long lPeriod);
  1896. void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod_Stub(
  1897.     IRpcStubBuffer *This,
  1898.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1899.     PRPC_MESSAGE _pRpcMessage,
  1900.     DWORD *_pdwStubPhase);
  1901. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod_Proxy( 
  1902.     ITAutomatedPhoneControl * This,
  1903.     /* [retval][out] */ long *plPeriod);
  1904. void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod_Stub(
  1905.     IRpcStubBuffer *This,
  1906.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1907.     PRPC_MESSAGE _pRpcMessage,
  1908.     DWORD *_pdwStubPhase);
  1909. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_SelectCall_Proxy( 
  1910.     ITAutomatedPhoneControl * This,
  1911.     /* [in] */ ITCallInfo *pCall,
  1912.     /* [in] */ VARIANT_BOOL fSelectDefaultTerminals);
  1913. void __RPC_STUB ITAutomatedPhoneControl_SelectCall_Stub(
  1914.     IRpcStubBuffer *This,
  1915.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1916.     PRPC_MESSAGE _pRpcMessage,
  1917.     DWORD *_pdwStubPhase);
  1918. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_UnselectCall_Proxy( 
  1919.     ITAutomatedPhoneControl * This,
  1920.     /* [in] */ ITCallInfo *pCall);
  1921. void __RPC_STUB ITAutomatedPhoneControl_UnselectCall_Stub(
  1922.     IRpcStubBuffer *This,
  1923.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1924.     PRPC_MESSAGE _pRpcMessage,
  1925.     DWORD *_pdwStubPhase);
  1926. /* [helpstring][hidden][id] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_EnumerateSelectedCalls_Proxy( 
  1927.     ITAutomatedPhoneControl * This,
  1928.     /* [retval][out] */ IEnumCall **ppCallEnum);
  1929. void __RPC_STUB ITAutomatedPhoneControl_EnumerateSelectedCalls_Stub(
  1930.     IRpcStubBuffer *This,
  1931.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1932.     PRPC_MESSAGE _pRpcMessage,
  1933.     DWORD *_pdwStubPhase);
  1934. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITAutomatedPhoneControl_get_SelectedCalls_Proxy( 
  1935.     ITAutomatedPhoneControl * This,
  1936.     /* [retval][out] */ VARIANT *pVariant);
  1937. void __RPC_STUB ITAutomatedPhoneControl_get_SelectedCalls_Stub(
  1938.     IRpcStubBuffer *This,
  1939.     IRpcChannelBuffer *_pRpcChannelBuffer,
  1940.     PRPC_MESSAGE _pRpcMessage,
  1941.     DWORD *_pdwStubPhase);
  1942. #endif  /* __ITAutomatedPhoneControl_INTERFACE_DEFINED__ */
  1943. #ifndef __ITBasicCallControl_INTERFACE_DEFINED__
  1944. #define __ITBasicCallControl_INTERFACE_DEFINED__
  1945. /* interface ITBasicCallControl */
  1946. /* [object][dual][helpstring][uuid] */ 
  1947. EXTERN_C const IID IID_ITBasicCallControl;
  1948. #if defined(__cplusplus) && !defined(CINTERFACE)
  1949.     
  1950.     MIDL_INTERFACE("B1EFC389-9355-11d0-835C-00AA003CCABD")
  1951.     ITBasicCallControl : public IDispatch
  1952.     {
  1953.     public:
  1954.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Connect( 
  1955.             /* [in] */ VARIANT_BOOL fSync) = 0;
  1956.         
  1957.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Answer( void) = 0;
  1958.         
  1959.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Disconnect( 
  1960.             /* [in] */ DISCONNECT_CODE code) = 0;
  1961.         
  1962.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Hold( 
  1963.             /* [in] */ VARIANT_BOOL fHold) = 0;
  1964.         
  1965.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HandoffDirect( 
  1966.             /* [in] */ BSTR pApplicationName) = 0;
  1967.         
  1968.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HandoffIndirect( 
  1969.             /* [in] */ long lMediaType) = 0;
  1970.         
  1971.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Conference( 
  1972.             /* [in] */ ITBasicCallControl *pCall,
  1973.             /* [in] */ VARIANT_BOOL fSync) = 0;
  1974.         
  1975.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Transfer( 
  1976.             /* [in] */ ITBasicCallControl *pCall,
  1977.             /* [in] */ VARIANT_BOOL fSync) = 0;
  1978.         
  1979.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE BlindTransfer( 
  1980.             /* [in] */ BSTR pDestAddress) = 0;
  1981.         
  1982.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SwapHold( 
  1983.             /* [in] */ ITBasicCallControl *pCall) = 0;
  1984.         
  1985.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ParkDirect( 
  1986.             /* [in] */ BSTR pParkAddress) = 0;
  1987.         
  1988.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ParkIndirect( 
  1989.             /* [retval][out] */ BSTR *ppNonDirAddress) = 0;
  1990.         
  1991.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Unpark( void) = 0;
  1992.         
  1993.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetQOS( 
  1994.             /* [in] */ long lMediaType,
  1995.             /* [in] */ QOS_SERVICE_LEVEL ServiceLevel) = 0;
  1996.         
  1997.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Pickup( 
  1998.             /* [in] */ BSTR pGroupID) = 0;
  1999.         
  2000.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Dial( 
  2001.             /* [in] */ BSTR pDestAddress) = 0;
  2002.         
  2003.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Finish( 
  2004.             /* [in] */ FINISH_MODE finishMode) = 0;
  2005.         
  2006.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RemoveFromConference( void) = 0;
  2007.         
  2008.     };
  2009.     
  2010. #else  /* C style interface */
  2011.     typedef struct ITBasicCallControlVtbl
  2012.     {
  2013.         BEGIN_INTERFACE
  2014.         
  2015.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2016.             ITBasicCallControl * This,
  2017.             /* [in] */ REFIID riid,
  2018.             /* [iid_is][out] */ void **ppvObject);
  2019.         
  2020.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2021.             ITBasicCallControl * This);
  2022.         
  2023.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2024.             ITBasicCallControl * This);
  2025.         
  2026.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2027.             ITBasicCallControl * This,
  2028.             /* [out] */ UINT *pctinfo);
  2029.         
  2030.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2031.             ITBasicCallControl * This,
  2032.             /* [in] */ UINT iTInfo,
  2033.             /* [in] */ LCID lcid,
  2034.             /* [out] */ ITypeInfo **ppTInfo);
  2035.         
  2036.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2037.             ITBasicCallControl * This,
  2038.             /* [in] */ REFIID riid,
  2039.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2040.             /* [in] */ UINT cNames,
  2041.             /* [in] */ LCID lcid,
  2042.             /* [size_is][out] */ DISPID *rgDispId);
  2043.         
  2044.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2045.             ITBasicCallControl * This,
  2046.             /* [in] */ DISPID dispIdMember,
  2047.             /* [in] */ REFIID riid,
  2048.             /* [in] */ LCID lcid,
  2049.             /* [in] */ WORD wFlags,
  2050.             /* [out][in] */ DISPPARAMS *pDispParams,
  2051.             /* [out] */ VARIANT *pVarResult,
  2052.             /* [out] */ EXCEPINFO *pExcepInfo,
  2053.             /* [out] */ UINT *puArgErr);
  2054.         
  2055.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Connect )( 
  2056.             ITBasicCallControl * This,
  2057.             /* [in] */ VARIANT_BOOL fSync);
  2058.         
  2059.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Answer )( 
  2060.             ITBasicCallControl * This);
  2061.         
  2062.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Disconnect )( 
  2063.             ITBasicCallControl * This,
  2064.             /* [in] */ DISCONNECT_CODE code);
  2065.         
  2066.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Hold )( 
  2067.             ITBasicCallControl * This,
  2068.             /* [in] */ VARIANT_BOOL fHold);
  2069.         
  2070.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HandoffDirect )( 
  2071.             ITBasicCallControl * This,
  2072.             /* [in] */ BSTR pApplicationName);
  2073.         
  2074.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HandoffIndirect )( 
  2075.             ITBasicCallControl * This,
  2076.             /* [in] */ long lMediaType);
  2077.         
  2078.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Conference )( 
  2079.             ITBasicCallControl * This,
  2080.             /* [in] */ ITBasicCallControl *pCall,
  2081.             /* [in] */ VARIANT_BOOL fSync);
  2082.         
  2083.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Transfer )( 
  2084.             ITBasicCallControl * This,
  2085.             /* [in] */ ITBasicCallControl *pCall,
  2086.             /* [in] */ VARIANT_BOOL fSync);
  2087.         
  2088.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *BlindTransfer )( 
  2089.             ITBasicCallControl * This,
  2090.             /* [in] */ BSTR pDestAddress);
  2091.         
  2092.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SwapHold )( 
  2093.             ITBasicCallControl * This,
  2094.             /* [in] */ ITBasicCallControl *pCall);
  2095.         
  2096.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ParkDirect )( 
  2097.             ITBasicCallControl * This,
  2098.             /* [in] */ BSTR pParkAddress);
  2099.         
  2100.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ParkIndirect )( 
  2101.             ITBasicCallControl * This,
  2102.             /* [retval][out] */ BSTR *ppNonDirAddress);
  2103.         
  2104.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Unpark )( 
  2105.             ITBasicCallControl * This);
  2106.         
  2107.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetQOS )( 
  2108.             ITBasicCallControl * This,
  2109.             /* [in] */ long lMediaType,
  2110.             /* [in] */ QOS_SERVICE_LEVEL ServiceLevel);
  2111.         
  2112.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Pickup )( 
  2113.             ITBasicCallControl * This,
  2114.             /* [in] */ BSTR pGroupID);
  2115.         
  2116.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Dial )( 
  2117.             ITBasicCallControl * This,
  2118.             /* [in] */ BSTR pDestAddress);
  2119.         
  2120.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Finish )( 
  2121.             ITBasicCallControl * This,
  2122.             /* [in] */ FINISH_MODE finishMode);
  2123.         
  2124.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RemoveFromConference )( 
  2125.             ITBasicCallControl * This);
  2126.         
  2127.         END_INTERFACE
  2128.     } ITBasicCallControlVtbl;
  2129.     interface ITBasicCallControl
  2130.     {
  2131.         CONST_VTBL struct ITBasicCallControlVtbl *lpVtbl;
  2132.     };
  2133.     
  2134. #ifdef COBJMACROS
  2135. #define ITBasicCallControl_QueryInterface(This,riid,ppvObject)
  2136.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2137. #define ITBasicCallControl_AddRef(This)
  2138.     (This)->lpVtbl -> AddRef(This)
  2139. #define ITBasicCallControl_Release(This)
  2140.     (This)->lpVtbl -> Release(This)
  2141. #define ITBasicCallControl_GetTypeInfoCount(This,pctinfo)
  2142.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2143. #define ITBasicCallControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2144.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2145. #define ITBasicCallControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2146.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2147. #define ITBasicCallControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2148.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2149. #define ITBasicCallControl_Connect(This,fSync)
  2150.     (This)->lpVtbl -> Connect(This,fSync)
  2151. #define ITBasicCallControl_Answer(This)
  2152.     (This)->lpVtbl -> Answer(This)
  2153. #define ITBasicCallControl_Disconnect(This,code)
  2154.     (This)->lpVtbl -> Disconnect(This,code)
  2155. #define ITBasicCallControl_Hold(This,fHold)
  2156.     (This)->lpVtbl -> Hold(This,fHold)
  2157. #define ITBasicCallControl_HandoffDirect(This,pApplicationName)
  2158.     (This)->lpVtbl -> HandoffDirect(This,pApplicationName)
  2159. #define ITBasicCallControl_HandoffIndirect(This,lMediaType)
  2160.     (This)->lpVtbl -> HandoffIndirect(This,lMediaType)
  2161. #define ITBasicCallControl_Conference(This,pCall,fSync)
  2162.     (This)->lpVtbl -> Conference(This,pCall,fSync)
  2163. #define ITBasicCallControl_Transfer(This,pCall,fSync)
  2164.     (This)->lpVtbl -> Transfer(This,pCall,fSync)
  2165. #define ITBasicCallControl_BlindTransfer(This,pDestAddress)
  2166.     (This)->lpVtbl -> BlindTransfer(This,pDestAddress)
  2167. #define ITBasicCallControl_SwapHold(This,pCall)
  2168.     (This)->lpVtbl -> SwapHold(This,pCall)
  2169. #define ITBasicCallControl_ParkDirect(This,pParkAddress)
  2170.     (This)->lpVtbl -> ParkDirect(This,pParkAddress)
  2171. #define ITBasicCallControl_ParkIndirect(This,ppNonDirAddress)
  2172.     (This)->lpVtbl -> ParkIndirect(This,ppNonDirAddress)
  2173. #define ITBasicCallControl_Unpark(This)
  2174.     (This)->lpVtbl -> Unpark(This)
  2175. #define ITBasicCallControl_SetQOS(This,lMediaType,ServiceLevel)
  2176.     (This)->lpVtbl -> SetQOS(This,lMediaType,ServiceLevel)
  2177. #define ITBasicCallControl_Pickup(This,pGroupID)
  2178.     (This)->lpVtbl -> Pickup(This,pGroupID)
  2179. #define ITBasicCallControl_Dial(This,pDestAddress)
  2180.     (This)->lpVtbl -> Dial(This,pDestAddress)
  2181. #define ITBasicCallControl_Finish(This,finishMode)
  2182.     (This)->lpVtbl -> Finish(This,finishMode)
  2183. #define ITBasicCallControl_RemoveFromConference(This)
  2184.     (This)->lpVtbl -> RemoveFromConference(This)
  2185. #endif /* COBJMACROS */
  2186. #endif  /* C style interface */
  2187. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Connect_Proxy( 
  2188.     ITBasicCallControl * This,
  2189.     /* [in] */ VARIANT_BOOL fSync);
  2190. void __RPC_STUB ITBasicCallControl_Connect_Stub(
  2191.     IRpcStubBuffer *This,
  2192.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2193.     PRPC_MESSAGE _pRpcMessage,
  2194.     DWORD *_pdwStubPhase);
  2195. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Answer_Proxy( 
  2196.     ITBasicCallControl * This);
  2197. void __RPC_STUB ITBasicCallControl_Answer_Stub(
  2198.     IRpcStubBuffer *This,
  2199.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2200.     PRPC_MESSAGE _pRpcMessage,
  2201.     DWORD *_pdwStubPhase);
  2202. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Disconnect_Proxy( 
  2203.     ITBasicCallControl * This,
  2204.     /* [in] */ DISCONNECT_CODE code);
  2205. void __RPC_STUB ITBasicCallControl_Disconnect_Stub(
  2206.     IRpcStubBuffer *This,
  2207.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2208.     PRPC_MESSAGE _pRpcMessage,
  2209.     DWORD *_pdwStubPhase);
  2210. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Hold_Proxy( 
  2211.     ITBasicCallControl * This,
  2212.     /* [in] */ VARIANT_BOOL fHold);
  2213. void __RPC_STUB ITBasicCallControl_Hold_Stub(
  2214.     IRpcStubBuffer *This,
  2215.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2216.     PRPC_MESSAGE _pRpcMessage,
  2217.     DWORD *_pdwStubPhase);
  2218. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_HandoffDirect_Proxy( 
  2219.     ITBasicCallControl * This,
  2220.     /* [in] */ BSTR pApplicationName);
  2221. void __RPC_STUB ITBasicCallControl_HandoffDirect_Stub(
  2222.     IRpcStubBuffer *This,
  2223.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2224.     PRPC_MESSAGE _pRpcMessage,
  2225.     DWORD *_pdwStubPhase);
  2226. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_HandoffIndirect_Proxy( 
  2227.     ITBasicCallControl * This,
  2228.     /* [in] */ long lMediaType);
  2229. void __RPC_STUB ITBasicCallControl_HandoffIndirect_Stub(
  2230.     IRpcStubBuffer *This,
  2231.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2232.     PRPC_MESSAGE _pRpcMessage,
  2233.     DWORD *_pdwStubPhase);
  2234. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Conference_Proxy( 
  2235.     ITBasicCallControl * This,
  2236.     /* [in] */ ITBasicCallControl *pCall,
  2237.     /* [in] */ VARIANT_BOOL fSync);
  2238. void __RPC_STUB ITBasicCallControl_Conference_Stub(
  2239.     IRpcStubBuffer *This,
  2240.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2241.     PRPC_MESSAGE _pRpcMessage,
  2242.     DWORD *_pdwStubPhase);
  2243. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Transfer_Proxy( 
  2244.     ITBasicCallControl * This,
  2245.     /* [in] */ ITBasicCallControl *pCall,
  2246.     /* [in] */ VARIANT_BOOL fSync);
  2247. void __RPC_STUB ITBasicCallControl_Transfer_Stub(
  2248.     IRpcStubBuffer *This,
  2249.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2250.     PRPC_MESSAGE _pRpcMessage,
  2251.     DWORD *_pdwStubPhase);
  2252. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_BlindTransfer_Proxy( 
  2253.     ITBasicCallControl * This,
  2254.     /* [in] */ BSTR pDestAddress);
  2255. void __RPC_STUB ITBasicCallControl_BlindTransfer_Stub(
  2256.     IRpcStubBuffer *This,
  2257.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2258.     PRPC_MESSAGE _pRpcMessage,
  2259.     DWORD *_pdwStubPhase);
  2260. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_SwapHold_Proxy( 
  2261.     ITBasicCallControl * This,
  2262.     /* [in] */ ITBasicCallControl *pCall);
  2263. void __RPC_STUB ITBasicCallControl_SwapHold_Stub(
  2264.     IRpcStubBuffer *This,
  2265.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2266.     PRPC_MESSAGE _pRpcMessage,
  2267.     DWORD *_pdwStubPhase);
  2268. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_ParkDirect_Proxy( 
  2269.     ITBasicCallControl * This,
  2270.     /* [in] */ BSTR pParkAddress);
  2271. void __RPC_STUB ITBasicCallControl_ParkDirect_Stub(
  2272.     IRpcStubBuffer *This,
  2273.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2274.     PRPC_MESSAGE _pRpcMessage,
  2275.     DWORD *_pdwStubPhase);
  2276. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_ParkIndirect_Proxy( 
  2277.     ITBasicCallControl * This,
  2278.     /* [retval][out] */ BSTR *ppNonDirAddress);
  2279. void __RPC_STUB ITBasicCallControl_ParkIndirect_Stub(
  2280.     IRpcStubBuffer *This,
  2281.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2282.     PRPC_MESSAGE _pRpcMessage,
  2283.     DWORD *_pdwStubPhase);
  2284. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Unpark_Proxy( 
  2285.     ITBasicCallControl * This);
  2286. void __RPC_STUB ITBasicCallControl_Unpark_Stub(
  2287.     IRpcStubBuffer *This,
  2288.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2289.     PRPC_MESSAGE _pRpcMessage,
  2290.     DWORD *_pdwStubPhase);
  2291. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_SetQOS_Proxy( 
  2292.     ITBasicCallControl * This,
  2293.     /* [in] */ long lMediaType,
  2294.     /* [in] */ QOS_SERVICE_LEVEL ServiceLevel);
  2295. void __RPC_STUB ITBasicCallControl_SetQOS_Stub(
  2296.     IRpcStubBuffer *This,
  2297.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2298.     PRPC_MESSAGE _pRpcMessage,
  2299.     DWORD *_pdwStubPhase);
  2300. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Pickup_Proxy( 
  2301.     ITBasicCallControl * This,
  2302.     /* [in] */ BSTR pGroupID);
  2303. void __RPC_STUB ITBasicCallControl_Pickup_Stub(
  2304.     IRpcStubBuffer *This,
  2305.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2306.     PRPC_MESSAGE _pRpcMessage,
  2307.     DWORD *_pdwStubPhase);
  2308. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Dial_Proxy( 
  2309.     ITBasicCallControl * This,
  2310.     /* [in] */ BSTR pDestAddress);
  2311. void __RPC_STUB ITBasicCallControl_Dial_Stub(
  2312.     IRpcStubBuffer *This,
  2313.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2314.     PRPC_MESSAGE _pRpcMessage,
  2315.     DWORD *_pdwStubPhase);
  2316. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_Finish_Proxy( 
  2317.     ITBasicCallControl * This,
  2318.     /* [in] */ FINISH_MODE finishMode);
  2319. void __RPC_STUB ITBasicCallControl_Finish_Stub(
  2320.     IRpcStubBuffer *This,
  2321.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2322.     PRPC_MESSAGE _pRpcMessage,
  2323.     DWORD *_pdwStubPhase);
  2324. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITBasicCallControl_RemoveFromConference_Proxy( 
  2325.     ITBasicCallControl * This);
  2326. void __RPC_STUB ITBasicCallControl_RemoveFromConference_Stub(
  2327.     IRpcStubBuffer *This,
  2328.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2329.     PRPC_MESSAGE _pRpcMessage,
  2330.     DWORD *_pdwStubPhase);
  2331. #endif  /* __ITBasicCallControl_INTERFACE_DEFINED__ */
  2332. #ifndef __ITCallInfo_INTERFACE_DEFINED__
  2333. #define __ITCallInfo_INTERFACE_DEFINED__
  2334. /* interface ITCallInfo */
  2335. /* [object][dual][helpstring][uuid] */ 
  2336. EXTERN_C const IID IID_ITCallInfo;
  2337. #if defined(__cplusplus) && !defined(CINTERFACE)
  2338.     
  2339.     MIDL_INTERFACE("350F85D1-1227-11D3-83D4-00C04FB6809F")
  2340.     ITCallInfo : public IDispatch
  2341.     {
  2342.     public:
  2343.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Address( 
  2344.             /* [retval][out] */ ITAddress **ppAddress) = 0;
  2345.         
  2346.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CallState( 
  2347.             /* [retval][out] */ CALL_STATE *pCallState) = 0;
  2348.         
  2349.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Privilege( 
  2350.             /* [retval][out] */ CALL_PRIVILEGE *pPrivilege) = 0;
  2351.         
  2352.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CallHub( 
  2353.             /* [retval][out] */ ITCallHub **ppCallHub) = 0;
  2354.         
  2355.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CallInfoLong( 
  2356.             /* [in] */ CALLINFO_LONG CallInfoLong,
  2357.             /* [retval][out] */ long *plCallInfoLongVal) = 0;
  2358.         
  2359.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CallInfoLong( 
  2360.             /* [in] */ CALLINFO_LONG CallInfoLong,
  2361.             /* [in] */ long lCallInfoLongVal) = 0;
  2362.         
  2363.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CallInfoString( 
  2364.             /* [in] */ CALLINFO_STRING CallInfoString,
  2365.             /* [retval][out] */ BSTR *ppCallInfoString) = 0;
  2366.         
  2367.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CallInfoString( 
  2368.             /* [in] */ CALLINFO_STRING CallInfoString,
  2369.             /* [in] */ BSTR pCallInfoString) = 0;
  2370.         
  2371.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_CallInfoBuffer( 
  2372.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2373.             /* [retval][out] */ VARIANT *ppCallInfoBuffer) = 0;
  2374.         
  2375.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_CallInfoBuffer( 
  2376.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2377.             /* [in] */ VARIANT pCallInfoBuffer) = 0;
  2378.         
  2379.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE GetCallInfoBuffer( 
  2380.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2381.             /* [out] */ DWORD *pdwSize,
  2382.             /* [size_is][size_is][out] */ BYTE **ppCallInfoBuffer) = 0;
  2383.         
  2384.         virtual /* [hidden][id] */ HRESULT STDMETHODCALLTYPE SetCallInfoBuffer( 
  2385.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2386.             /* [in] */ DWORD dwSize,
  2387.             /* [size_is][in] */ BYTE *pCallInfoBuffer) = 0;
  2388.         
  2389.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ReleaseUserUserInfo( void) = 0;
  2390.         
  2391.     };
  2392.     
  2393. #else  /* C style interface */
  2394.     typedef struct ITCallInfoVtbl
  2395.     {
  2396.         BEGIN_INTERFACE
  2397.         
  2398.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2399.             ITCallInfo * This,
  2400.             /* [in] */ REFIID riid,
  2401.             /* [iid_is][out] */ void **ppvObject);
  2402.         
  2403.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2404.             ITCallInfo * This);
  2405.         
  2406.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2407.             ITCallInfo * This);
  2408.         
  2409.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2410.             ITCallInfo * This,
  2411.             /* [out] */ UINT *pctinfo);
  2412.         
  2413.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2414.             ITCallInfo * This,
  2415.             /* [in] */ UINT iTInfo,
  2416.             /* [in] */ LCID lcid,
  2417.             /* [out] */ ITypeInfo **ppTInfo);
  2418.         
  2419.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2420.             ITCallInfo * This,
  2421.             /* [in] */ REFIID riid,
  2422.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2423.             /* [in] */ UINT cNames,
  2424.             /* [in] */ LCID lcid,
  2425.             /* [size_is][out] */ DISPID *rgDispId);
  2426.         
  2427.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2428.             ITCallInfo * This,
  2429.             /* [in] */ DISPID dispIdMember,
  2430.             /* [in] */ REFIID riid,
  2431.             /* [in] */ LCID lcid,
  2432.             /* [in] */ WORD wFlags,
  2433.             /* [out][in] */ DISPPARAMS *pDispParams,
  2434.             /* [out] */ VARIANT *pVarResult,
  2435.             /* [out] */ EXCEPINFO *pExcepInfo,
  2436.             /* [out] */ UINT *puArgErr);
  2437.         
  2438.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Address )( 
  2439.             ITCallInfo * This,
  2440.             /* [retval][out] */ ITAddress **ppAddress);
  2441.         
  2442.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallState )( 
  2443.             ITCallInfo * This,
  2444.             /* [retval][out] */ CALL_STATE *pCallState);
  2445.         
  2446.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Privilege )( 
  2447.             ITCallInfo * This,
  2448.             /* [retval][out] */ CALL_PRIVILEGE *pPrivilege);
  2449.         
  2450.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallHub )( 
  2451.             ITCallInfo * This,
  2452.             /* [retval][out] */ ITCallHub **ppCallHub);
  2453.         
  2454.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallInfoLong )( 
  2455.             ITCallInfo * This,
  2456.             /* [in] */ CALLINFO_LONG CallInfoLong,
  2457.             /* [retval][out] */ long *plCallInfoLongVal);
  2458.         
  2459.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CallInfoLong )( 
  2460.             ITCallInfo * This,
  2461.             /* [in] */ CALLINFO_LONG CallInfoLong,
  2462.             /* [in] */ long lCallInfoLongVal);
  2463.         
  2464.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallInfoString )( 
  2465.             ITCallInfo * This,
  2466.             /* [in] */ CALLINFO_STRING CallInfoString,
  2467.             /* [retval][out] */ BSTR *ppCallInfoString);
  2468.         
  2469.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CallInfoString )( 
  2470.             ITCallInfo * This,
  2471.             /* [in] */ CALLINFO_STRING CallInfoString,
  2472.             /* [in] */ BSTR pCallInfoString);
  2473.         
  2474.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallInfoBuffer )( 
  2475.             ITCallInfo * This,
  2476.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2477.             /* [retval][out] */ VARIANT *ppCallInfoBuffer);
  2478.         
  2479.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CallInfoBuffer )( 
  2480.             ITCallInfo * This,
  2481.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2482.             /* [in] */ VARIANT pCallInfoBuffer);
  2483.         
  2484.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetCallInfoBuffer )( 
  2485.             ITCallInfo * This,
  2486.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2487.             /* [out] */ DWORD *pdwSize,
  2488.             /* [size_is][size_is][out] */ BYTE **ppCallInfoBuffer);
  2489.         
  2490.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *SetCallInfoBuffer )( 
  2491.             ITCallInfo * This,
  2492.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2493.             /* [in] */ DWORD dwSize,
  2494.             /* [size_is][in] */ BYTE *pCallInfoBuffer);
  2495.         
  2496.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReleaseUserUserInfo )( 
  2497.             ITCallInfo * This);
  2498.         
  2499.         END_INTERFACE
  2500.     } ITCallInfoVtbl;
  2501.     interface ITCallInfo
  2502.     {
  2503.         CONST_VTBL struct ITCallInfoVtbl *lpVtbl;
  2504.     };
  2505.     
  2506. #ifdef COBJMACROS
  2507. #define ITCallInfo_QueryInterface(This,riid,ppvObject)
  2508.     (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  2509. #define ITCallInfo_AddRef(This)
  2510.     (This)->lpVtbl -> AddRef(This)
  2511. #define ITCallInfo_Release(This)
  2512.     (This)->lpVtbl -> Release(This)
  2513. #define ITCallInfo_GetTypeInfoCount(This,pctinfo)
  2514.     (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)
  2515. #define ITCallInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2516.     (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)
  2517. #define ITCallInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2518.     (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
  2519. #define ITCallInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2520.     (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
  2521. #define ITCallInfo_get_Address(This,ppAddress)
  2522.     (This)->lpVtbl -> get_Address(This,ppAddress)
  2523. #define ITCallInfo_get_CallState(This,pCallState)
  2524.     (This)->lpVtbl -> get_CallState(This,pCallState)
  2525. #define ITCallInfo_get_Privilege(This,pPrivilege)
  2526.     (This)->lpVtbl -> get_Privilege(This,pPrivilege)
  2527. #define ITCallInfo_get_CallHub(This,ppCallHub)
  2528.     (This)->lpVtbl -> get_CallHub(This,ppCallHub)
  2529. #define ITCallInfo_get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal)
  2530.     (This)->lpVtbl -> get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal)
  2531. #define ITCallInfo_put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal)
  2532.     (This)->lpVtbl -> put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal)
  2533. #define ITCallInfo_get_CallInfoString(This,CallInfoString,ppCallInfoString)
  2534.     (This)->lpVtbl -> get_CallInfoString(This,CallInfoString,ppCallInfoString)
  2535. #define ITCallInfo_put_CallInfoString(This,CallInfoString,pCallInfoString)
  2536.     (This)->lpVtbl -> put_CallInfoString(This,CallInfoString,pCallInfoString)
  2537. #define ITCallInfo_get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer)
  2538.     (This)->lpVtbl -> get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer)
  2539. #define ITCallInfo_put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer)
  2540.     (This)->lpVtbl -> put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer)
  2541. #define ITCallInfo_GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer)
  2542.     (This)->lpVtbl -> GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer)
  2543. #define ITCallInfo_SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer)
  2544.     (This)->lpVtbl -> SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer)
  2545. #define ITCallInfo_ReleaseUserUserInfo(This)
  2546.     (This)->lpVtbl -> ReleaseUserUserInfo(This)
  2547. #endif /* COBJMACROS */
  2548. #endif  /* C style interface */
  2549. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITCallInfo_get_Address_Proxy( 
  2550.     ITCallInfo * This,
  2551.     /* [retval][out] */ ITAddress **ppAddress);
  2552. void __RPC_STUB ITCallInfo_get_Address_Stub(
  2553.     IRpcStubBuffer *This,
  2554.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2555.     PRPC_MESSAGE _pRpcMessage,
  2556.     DWORD *_pdwStubPhase);
  2557. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITCallInfo_get_CallState_Proxy( 
  2558.     ITCallInfo * This,
  2559.     /* [retval][out] */ CALL_STATE *pCallState);
  2560. void __RPC_STUB ITCallInfo_get_CallState_Stub(
  2561.     IRpcStubBuffer *This,
  2562.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2563.     PRPC_MESSAGE _pRpcMessage,
  2564.     DWORD *_pdwStubPhase);
  2565. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITCallInfo_get_Privilege_Proxy( 
  2566.     ITCallInfo * This,
  2567.     /* [retval][out] */ CALL_PRIVILEGE *pPrivilege);
  2568. void __RPC_STUB ITCallInfo_get_Privilege_Stub(
  2569.     IRpcStubBuffer *This,
  2570.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2571.     PRPC_MESSAGE _pRpcMessage,
  2572.     DWORD *_pdwStubPhase);
  2573. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITCallInfo_get_CallHub_Proxy( 
  2574.     ITCallInfo * This,
  2575.     /* [retval][out] */ ITCallHub **ppCallHub);
  2576. void __RPC_STUB ITCallInfo_get_CallHub_Stub(
  2577.     IRpcStubBuffer *This,
  2578.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2579.     PRPC_MESSAGE _pRpcMessage,
  2580.     DWORD *_pdwStubPhase);
  2581. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITCallInfo_get_CallInfoLong_Proxy( 
  2582.     ITCallInfo * This,
  2583.     /* [in] */ CALLINFO_LONG CallInfoLong,
  2584.     /* [retval][out] */ long *plCallInfoLongVal);
  2585. void __RPC_STUB ITCallInfo_get_CallInfoLong_Stub(
  2586.     IRpcStubBuffer *This,
  2587.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2588.     PRPC_MESSAGE _pRpcMessage,
  2589.     DWORD *_pdwStubPhase);
  2590. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITCallInfo_put_CallInfoLong_Proxy( 
  2591.     ITCallInfo * This,
  2592.     /* [in] */ CALLINFO_LONG CallInfoLong,
  2593.     /* [in] */ long lCallInfoLongVal);
  2594. void __RPC_STUB ITCallInfo_put_CallInfoLong_Stub(
  2595.     IRpcStubBuffer *This,
  2596.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2597.     PRPC_MESSAGE _pRpcMessage,
  2598.     DWORD *_pdwStubPhase);
  2599. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITCallInfo_get_CallInfoString_Proxy( 
  2600.     ITCallInfo * This,
  2601.     /* [in] */ CALLINFO_STRING CallInfoString,
  2602.     /* [retval][out] */ BSTR *ppCallInfoString);
  2603. void __RPC_STUB ITCallInfo_get_CallInfoString_Stub(
  2604.     IRpcStubBuffer *This,
  2605.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2606.     PRPC_MESSAGE _pRpcMessage,
  2607.     DWORD *_pdwStubPhase);
  2608. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITCallInfo_put_CallInfoString_Proxy( 
  2609.     ITCallInfo * This,
  2610.     /* [in] */ CALLINFO_STRING CallInfoString,
  2611.     /* [in] */ BSTR pCallInfoString);
  2612. void __RPC_STUB ITCallInfo_put_CallInfoString_Stub(
  2613.     IRpcStubBuffer *This,
  2614.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2615.     PRPC_MESSAGE _pRpcMessage,
  2616.     DWORD *_pdwStubPhase);
  2617. /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE ITCallInfo_get_CallInfoBuffer_Proxy( 
  2618.     ITCallInfo * This,
  2619.     /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2620.     /* [retval][out] */ VARIANT *ppCallInfoBuffer);
  2621. void __RPC_STUB ITCallInfo_get_CallInfoBuffer_Stub(
  2622.     IRpcStubBuffer *This,
  2623.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2624.     PRPC_MESSAGE _pRpcMessage,
  2625.     DWORD *_pdwStubPhase);
  2626. /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE ITCallInfo_put_CallInfoBuffer_Proxy( 
  2627.     ITCallInfo * This,
  2628.     /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2629.     /* [in] */ VARIANT pCallInfoBuffer);
  2630. void __RPC_STUB ITCallInfo_put_CallInfoBuffer_Stub(
  2631.     IRpcStubBuffer *This,
  2632.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2633.     PRPC_MESSAGE _pRpcMessage,
  2634.     DWORD *_pdwStubPhase);
  2635. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE ITCallInfo_GetCallInfoBuffer_Proxy( 
  2636.     ITCallInfo * This,
  2637.     /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2638.     /* [out] */ DWORD *pdwSize,
  2639.     /* [size_is][size_is][out] */ BYTE **ppCallInfoBuffer);
  2640. void __RPC_STUB ITCallInfo_GetCallInfoBuffer_Stub(
  2641.     IRpcStubBuffer *This,
  2642.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2643.     PRPC_MESSAGE _pRpcMessage,
  2644.     DWORD *_pdwStubPhase);
  2645. /* [hidden][id] */ HRESULT STDMETHODCALLTYPE ITCallInfo_SetCallInfoBuffer_Proxy( 
  2646.     ITCallInfo * This,
  2647.     /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2648.     /* [in] */ DWORD dwSize,
  2649.     /* [size_is][in] */ BYTE *pCallInfoBuffer);
  2650. void __RPC_STUB ITCallInfo_SetCallInfoBuffer_Stub(
  2651.     IRpcStubBuffer *This,
  2652.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2653.     PRPC_MESSAGE _pRpcMessage,
  2654.     DWORD *_pdwStubPhase);
  2655. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE ITCallInfo_ReleaseUserUserInfo_Proxy( 
  2656.     ITCallInfo * This);
  2657. void __RPC_STUB ITCallInfo_ReleaseUserUserInfo_Stub(
  2658.     IRpcStubBuffer *This,
  2659.     IRpcChannelBuffer *_pRpcChannelBuffer,
  2660.     PRPC_MESSAGE _pRpcMessage,
  2661.     DWORD *_pdwStubPhase);
  2662. #endif  /* __ITCallInfo_INTERFACE_DEFINED__ */
  2663. #ifndef __ITCallInfo2_INTERFACE_DEFINED__
  2664. #define __ITCallInfo2_INTERFACE_DEFINED__
  2665. /* interface ITCallInfo2 */
  2666. /* [object][dual][helpstring][uuid] */ 
  2667. EXTERN_C const IID IID_ITCallInfo2;
  2668. #if defined(__cplusplus) && !defined(CINTERFACE)
  2669.     
  2670.     MIDL_INTERFACE("94D70CA6-7AB0-4daa-81CA-B8F8643FAEC1")
  2671.     ITCallInfo2 : public ITCallInfo
  2672.     {
  2673.     public:
  2674.         virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_EventFilter( 
  2675.             /* [in] */ TAPI_EVENT TapiEvent,
  2676.             /* [in] */ long lSubEvent,
  2677.             /* [retval][out] */ VARIANT_BOOL *pEnable) = 0;
  2678.         
  2679.         virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_EventFilter( 
  2680.             /* [in] */ TAPI_EVENT TapiEvent,
  2681.             /* [in] */ long lSubEvent,
  2682.             /* [in] */ VARIANT_BOOL bEnable) = 0;
  2683.         
  2684.     };
  2685.     
  2686. #else  /* C style interface */
  2687.     typedef struct ITCallInfo2Vtbl
  2688.     {
  2689.         BEGIN_INTERFACE
  2690.         
  2691.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  2692.             ITCallInfo2 * This,
  2693.             /* [in] */ REFIID riid,
  2694.             /* [iid_is][out] */ void **ppvObject);
  2695.         
  2696.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  2697.             ITCallInfo2 * This);
  2698.         
  2699.         ULONG ( STDMETHODCALLTYPE *Release )( 
  2700.             ITCallInfo2 * This);
  2701.         
  2702.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
  2703.             ITCallInfo2 * This,
  2704.             /* [out] */ UINT *pctinfo);
  2705.         
  2706.         HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
  2707.             ITCallInfo2 * This,
  2708.             /* [in] */ UINT iTInfo,
  2709.             /* [in] */ LCID lcid,
  2710.             /* [out] */ ITypeInfo **ppTInfo);
  2711.         
  2712.         HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
  2713.             ITCallInfo2 * This,
  2714.             /* [in] */ REFIID riid,
  2715.             /* [size_is][in] */ LPOLESTR *rgszNames,
  2716.             /* [in] */ UINT cNames,
  2717.             /* [in] */ LCID lcid,
  2718.             /* [size_is][out] */ DISPID *rgDispId);
  2719.         
  2720.         /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
  2721.             ITCallInfo2 * This,
  2722.             /* [in] */ DISPID dispIdMember,
  2723.             /* [in] */ REFIID riid,
  2724.             /* [in] */ LCID lcid,
  2725.             /* [in] */ WORD wFlags,
  2726.             /* [out][in] */ DISPPARAMS *pDispParams,
  2727.             /* [out] */ VARIANT *pVarResult,
  2728.             /* [out] */ EXCEPINFO *pExcepInfo,
  2729.             /* [out] */ UINT *puArgErr);
  2730.         
  2731.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Address )( 
  2732.             ITCallInfo2 * This,
  2733.             /* [retval][out] */ ITAddress **ppAddress);
  2734.         
  2735.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallState )( 
  2736.             ITCallInfo2 * This,
  2737.             /* [retval][out] */ CALL_STATE *pCallState);
  2738.         
  2739.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Privilege )( 
  2740.             ITCallInfo2 * This,
  2741.             /* [retval][out] */ CALL_PRIVILEGE *pPrivilege);
  2742.         
  2743.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallHub )( 
  2744.             ITCallInfo2 * This,
  2745.             /* [retval][out] */ ITCallHub **ppCallHub);
  2746.         
  2747.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallInfoLong )( 
  2748.             ITCallInfo2 * This,
  2749.             /* [in] */ CALLINFO_LONG CallInfoLong,
  2750.             /* [retval][out] */ long *plCallInfoLongVal);
  2751.         
  2752.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CallInfoLong )( 
  2753.             ITCallInfo2 * This,
  2754.             /* [in] */ CALLINFO_LONG CallInfoLong,
  2755.             /* [in] */ long lCallInfoLongVal);
  2756.         
  2757.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallInfoString )( 
  2758.             ITCallInfo2 * This,
  2759.             /* [in] */ CALLINFO_STRING CallInfoString,
  2760.             /* [retval][out] */ BSTR *ppCallInfoString);
  2761.         
  2762.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CallInfoString )( 
  2763.             ITCallInfo2 * This,
  2764.             /* [in] */ CALLINFO_STRING CallInfoString,
  2765.             /* [in] */ BSTR pCallInfoString);
  2766.         
  2767.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_CallInfoBuffer )( 
  2768.             ITCallInfo2 * This,
  2769.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2770.             /* [retval][out] */ VARIANT *ppCallInfoBuffer);
  2771.         
  2772.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_CallInfoBuffer )( 
  2773.             ITCallInfo2 * This,
  2774.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2775.             /* [in] */ VARIANT pCallInfoBuffer);
  2776.         
  2777.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *GetCallInfoBuffer )( 
  2778.             ITCallInfo2 * This,
  2779.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2780.             /* [out] */ DWORD *pdwSize,
  2781.             /* [size_is][size_is][out] */ BYTE **ppCallInfoBuffer);
  2782.         
  2783.         /* [hidden][id] */ HRESULT ( STDMETHODCALLTYPE *SetCallInfoBuffer )( 
  2784.             ITCallInfo2 * This,
  2785.             /* [in] */ CALLINFO_BUFFER CallInfoBuffer,
  2786.             /* [in] */ DWORD dwSize,
  2787.             /* [size_is][in] */ BYTE *pCallInfoBuffer);
  2788.         
  2789.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ReleaseUserUserInfo )( 
  2790.             ITCallInfo2 * This);
  2791.         
  2792.         /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_EventFilter )( 
  2793.             ITCallInfo2 * This,
  2794.             /* [in] */ TAPI_EVENT TapiEvent,
  2795.             /* [in] */ long lSubEvent,
  2796.             /* [retval][out] */ VARIANT_BOOL *pEnable);
  2797.         
  2798.         /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_EventFilter )( 
  2799.             ITCallInfo2 * This,
  2800.             /* [in] */ TAPI_EVENT TapiEvent,
  2801.             /* [in] */ long lSubEvent,
  2802.             /* [in] */ VARIANT_BOOL bEnable);
  2803.         
  2804.         END_INTERFACE
  2805.     } ITCallInfo2Vtbl;