Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef __REQUIRED_RPCNDR_H_VERSION__
      7 #define __REQUIRED_RPCNDR_H_VERSION__ 475
      8 #endif
      9 
     10 #include "rpc.h"
     11 #include "rpcndr.h"
     12 
     13 #ifndef __RPCNDR_H_VERSION__
     14 #error This stub requires an updated version of <rpcndr.h>
     15 #endif
     16 
     17 #ifndef COM_NO_WINDOWS_H
     18 #include "windows.h"
     19 #include "ole2.h"
     20 #endif
     21 
     22 #ifndef __tapi3if_h__
     23 #define __tapi3if_h__
     24 
     25 #ifndef __ITTAPI_FWD_DEFINED__
     26 #define __ITTAPI_FWD_DEFINED__
     27 typedef struct ITTAPI ITTAPI;
     28 #endif
     29 
     30 #ifndef __ITTAPI2_FWD_DEFINED__
     31 #define __ITTAPI2_FWD_DEFINED__
     32 typedef struct ITTAPI2 ITTAPI2;
     33 #endif
     34 
     35 #ifndef __ITMediaSupport_FWD_DEFINED__
     36 #define __ITMediaSupport_FWD_DEFINED__
     37 typedef struct ITMediaSupport ITMediaSupport;
     38 #endif
     39 
     40 #ifndef __ITPluggableTerminalClassInfo_FWD_DEFINED__
     41 #define __ITPluggableTerminalClassInfo_FWD_DEFINED__
     42 typedef struct ITPluggableTerminalClassInfo ITPluggableTerminalClassInfo;
     43 #endif
     44 
     45 #ifndef __ITPluggableTerminalSuperclassInfo_FWD_DEFINED__
     46 #define __ITPluggableTerminalSuperclassInfo_FWD_DEFINED__
     47 typedef struct ITPluggableTerminalSuperclassInfo ITPluggableTerminalSuperclassInfo;
     48 #endif
     49 
     50 #ifndef __ITTerminalSupport_FWD_DEFINED__
     51 #define __ITTerminalSupport_FWD_DEFINED__
     52 typedef struct ITTerminalSupport ITTerminalSupport;
     53 #endif
     54 
     55 #ifndef __ITTerminalSupport2_FWD_DEFINED__
     56 #define __ITTerminalSupport2_FWD_DEFINED__
     57 typedef struct ITTerminalSupport2 ITTerminalSupport2;
     58 #endif
     59 
     60 #ifndef __ITAddress_FWD_DEFINED__
     61 #define __ITAddress_FWD_DEFINED__
     62 typedef struct ITAddress ITAddress;
     63 #endif
     64 
     65 #ifndef __ITAddress2_FWD_DEFINED__
     66 #define __ITAddress2_FWD_DEFINED__
     67 typedef struct ITAddress2 ITAddress2;
     68 #endif
     69 
     70 #ifndef __ITAddressCapabilities_FWD_DEFINED__
     71 #define __ITAddressCapabilities_FWD_DEFINED__
     72 typedef struct ITAddressCapabilities ITAddressCapabilities;
     73 #endif
     74 
     75 #ifndef __ITPhone_FWD_DEFINED__
     76 #define __ITPhone_FWD_DEFINED__
     77 typedef struct ITPhone ITPhone;
     78 #endif
     79 
     80 #ifndef __ITAutomatedPhoneControl_FWD_DEFINED__
     81 #define __ITAutomatedPhoneControl_FWD_DEFINED__
     82 typedef struct ITAutomatedPhoneControl ITAutomatedPhoneControl;
     83 #endif
     84 
     85 #ifndef __ITBasicCallControl_FWD_DEFINED__
     86 #define __ITBasicCallControl_FWD_DEFINED__
     87 typedef struct ITBasicCallControl ITBasicCallControl;
     88 #endif
     89 
     90 #ifndef __ITCallInfo_FWD_DEFINED__
     91 #define __ITCallInfo_FWD_DEFINED__
     92 typedef struct ITCallInfo ITCallInfo;
     93 #endif
     94 
     95 #ifndef __ITCallInfo2_FWD_DEFINED__
     96 #define __ITCallInfo2_FWD_DEFINED__
     97 typedef struct ITCallInfo2 ITCallInfo2;
     98 #endif
     99 
    100 #ifndef __ITTerminal_FWD_DEFINED__
    101 #define __ITTerminal_FWD_DEFINED__
    102 typedef struct ITTerminal ITTerminal;
    103 #endif
    104 
    105 #ifndef __ITMultiTrackTerminal_FWD_DEFINED__
    106 #define __ITMultiTrackTerminal_FWD_DEFINED__
    107 typedef struct ITMultiTrackTerminal ITMultiTrackTerminal;
    108 #endif
    109 
    110 #ifndef __ITFileTrack_FWD_DEFINED__
    111 #define __ITFileTrack_FWD_DEFINED__
    112 typedef struct ITFileTrack ITFileTrack;
    113 #endif
    114 
    115 #ifndef __ITMediaPlayback_FWD_DEFINED__
    116 #define __ITMediaPlayback_FWD_DEFINED__
    117 typedef struct ITMediaPlayback ITMediaPlayback;
    118 #endif
    119 
    120 #ifndef __ITMediaRecord_FWD_DEFINED__
    121 #define __ITMediaRecord_FWD_DEFINED__
    122 typedef struct ITMediaRecord ITMediaRecord;
    123 #endif
    124 
    125 #ifndef __ITMediaControl_FWD_DEFINED__
    126 #define __ITMediaControl_FWD_DEFINED__
    127 typedef struct ITMediaControl ITMediaControl;
    128 #endif
    129 
    130 #ifndef __ITBasicAudioTerminal_FWD_DEFINED__
    131 #define __ITBasicAudioTerminal_FWD_DEFINED__
    132 typedef struct ITBasicAudioTerminal ITBasicAudioTerminal;
    133 #endif
    134 
    135 #ifndef __ITStaticAudioTerminal_FWD_DEFINED__
    136 #define __ITStaticAudioTerminal_FWD_DEFINED__
    137 typedef struct ITStaticAudioTerminal ITStaticAudioTerminal;
    138 #endif
    139 
    140 #ifndef __ITCallHub_FWD_DEFINED__
    141 #define __ITCallHub_FWD_DEFINED__
    142 typedef struct ITCallHub ITCallHub;
    143 #endif
    144 
    145 #ifndef __ITLegacyAddressMediaControl_FWD_DEFINED__
    146 #define __ITLegacyAddressMediaControl_FWD_DEFINED__
    147 typedef struct ITLegacyAddressMediaControl ITLegacyAddressMediaControl;
    148 #endif
    149 
    150 #ifndef __ITPrivateEvent_FWD_DEFINED__
    151 #define __ITPrivateEvent_FWD_DEFINED__
    152 typedef struct ITPrivateEvent ITPrivateEvent;
    153 #endif
    154 
    155 #ifndef __ITLegacyAddressMediaControl2_FWD_DEFINED__
    156 #define __ITLegacyAddressMediaControl2_FWD_DEFINED__
    157 typedef struct ITLegacyAddressMediaControl2 ITLegacyAddressMediaControl2;
    158 #endif
    159 
    160 #ifndef __ITLegacyCallMediaControl_FWD_DEFINED__
    161 #define __ITLegacyCallMediaControl_FWD_DEFINED__
    162 typedef struct ITLegacyCallMediaControl ITLegacyCallMediaControl;
    163 #endif
    164 
    165 #ifndef __ITLegacyCallMediaControl2_FWD_DEFINED__
    166 #define __ITLegacyCallMediaControl2_FWD_DEFINED__
    167 typedef struct ITLegacyCallMediaControl2 ITLegacyCallMediaControl2;
    168 #endif
    169 
    170 #ifndef __ITDetectTone_FWD_DEFINED__
    171 #define __ITDetectTone_FWD_DEFINED__
    172 typedef struct ITDetectTone ITDetectTone;
    173 #endif
    174 
    175 #ifndef __ITCustomTone_FWD_DEFINED__
    176 #define __ITCustomTone_FWD_DEFINED__
    177 typedef struct ITCustomTone ITCustomTone;
    178 #endif
    179 
    180 #ifndef __IEnumPhone_FWD_DEFINED__
    181 #define __IEnumPhone_FWD_DEFINED__
    182 typedef struct IEnumPhone IEnumPhone;
    183 #endif
    184 
    185 #ifndef __IEnumTerminal_FWD_DEFINED__
    186 #define __IEnumTerminal_FWD_DEFINED__
    187 typedef struct IEnumTerminal IEnumTerminal;
    188 #endif
    189 
    190 #ifndef __IEnumTerminalClass_FWD_DEFINED__
    191 #define __IEnumTerminalClass_FWD_DEFINED__
    192 typedef struct IEnumTerminalClass IEnumTerminalClass;
    193 #endif
    194 
    195 #ifndef __IEnumCall_FWD_DEFINED__
    196 #define __IEnumCall_FWD_DEFINED__
    197 typedef struct IEnumCall IEnumCall;
    198 #endif
    199 
    200 #ifndef __IEnumAddress_FWD_DEFINED__
    201 #define __IEnumAddress_FWD_DEFINED__
    202 typedef struct IEnumAddress IEnumAddress;
    203 #endif
    204 
    205 #ifndef __IEnumCallHub_FWD_DEFINED__
    206 #define __IEnumCallHub_FWD_DEFINED__
    207 typedef struct IEnumCallHub IEnumCallHub;
    208 #endif
    209 
    210 #ifndef __IEnumBstr_FWD_DEFINED__
    211 #define __IEnumBstr_FWD_DEFINED__
    212 typedef struct IEnumBstr IEnumBstr;
    213 #endif
    214 
    215 #ifndef __IEnumPluggableTerminalClassInfo_FWD_DEFINED__
    216 #define __IEnumPluggableTerminalClassInfo_FWD_DEFINED__
    217 typedef struct IEnumPluggableTerminalClassInfo IEnumPluggableTerminalClassInfo;
    218 #endif
    219 
    220 #ifndef __IEnumPluggableSuperclassInfo_FWD_DEFINED__
    221 #define __IEnumPluggableSuperclassInfo_FWD_DEFINED__
    222 typedef struct IEnumPluggableSuperclassInfo IEnumPluggableSuperclassInfo;
    223 #endif
    224 
    225 #ifndef __ITPhoneEvent_FWD_DEFINED__
    226 #define __ITPhoneEvent_FWD_DEFINED__
    227 typedef struct ITPhoneEvent ITPhoneEvent;
    228 #endif
    229 
    230 #ifndef __ITCallStateEvent_FWD_DEFINED__
    231 #define __ITCallStateEvent_FWD_DEFINED__
    232 typedef struct ITCallStateEvent ITCallStateEvent;
    233 #endif
    234 
    235 #ifndef __ITPhoneDeviceSpecificEvent_FWD_DEFINED__
    236 #define __ITPhoneDeviceSpecificEvent_FWD_DEFINED__
    237 typedef struct ITPhoneDeviceSpecificEvent ITPhoneDeviceSpecificEvent;
    238 #endif
    239 
    240 #ifndef __ITCallMediaEvent_FWD_DEFINED__
    241 #define __ITCallMediaEvent_FWD_DEFINED__
    242 typedef struct ITCallMediaEvent ITCallMediaEvent;
    243 #endif
    244 
    245 #ifndef __ITDigitDetectionEvent_FWD_DEFINED__
    246 #define __ITDigitDetectionEvent_FWD_DEFINED__
    247 typedef struct ITDigitDetectionEvent ITDigitDetectionEvent;
    248 #endif
    249 
    250 #ifndef __ITDigitGenerationEvent_FWD_DEFINED__
    251 #define __ITDigitGenerationEvent_FWD_DEFINED__
    252 typedef struct ITDigitGenerationEvent ITDigitGenerationEvent;
    253 #endif
    254 
    255 #ifndef __ITDigitsGatheredEvent_FWD_DEFINED__
    256 #define __ITDigitsGatheredEvent_FWD_DEFINED__
    257 typedef struct ITDigitsGatheredEvent ITDigitsGatheredEvent;
    258 #endif
    259 
    260 #ifndef __ITToneDetectionEvent_FWD_DEFINED__
    261 #define __ITToneDetectionEvent_FWD_DEFINED__
    262 typedef struct ITToneDetectionEvent ITToneDetectionEvent;
    263 #endif
    264 
    265 #ifndef __ITTAPIObjectEvent_FWD_DEFINED__
    266 #define __ITTAPIObjectEvent_FWD_DEFINED__
    267 typedef struct ITTAPIObjectEvent ITTAPIObjectEvent;
    268 #endif
    269 
    270 #ifndef __ITTAPIObjectEvent2_FWD_DEFINED__
    271 #define __ITTAPIObjectEvent2_FWD_DEFINED__
    272 typedef struct ITTAPIObjectEvent2 ITTAPIObjectEvent2;
    273 #endif
    274 
    275 #ifndef __ITTAPIEventNotification_FWD_DEFINED__
    276 #define __ITTAPIEventNotification_FWD_DEFINED__
    277 typedef struct ITTAPIEventNotification ITTAPIEventNotification;
    278 #endif
    279 
    280 #ifndef __ITCallHubEvent_FWD_DEFINED__
    281 #define __ITCallHubEvent_FWD_DEFINED__
    282 typedef struct ITCallHubEvent ITCallHubEvent;
    283 #endif
    284 
    285 #ifndef __ITAddressEvent_FWD_DEFINED__
    286 #define __ITAddressEvent_FWD_DEFINED__
    287 typedef struct ITAddressEvent ITAddressEvent;
    288 #endif
    289 
    290 #ifndef __ITAddressDeviceSpecificEvent_FWD_DEFINED__
    291 #define __ITAddressDeviceSpecificEvent_FWD_DEFINED__
    292 typedef struct ITAddressDeviceSpecificEvent ITAddressDeviceSpecificEvent;
    293 #endif
    294 
    295 #ifndef __ITFileTerminalEvent_FWD_DEFINED__
    296 #define __ITFileTerminalEvent_FWD_DEFINED__
    297 typedef struct ITFileTerminalEvent ITFileTerminalEvent;
    298 #endif
    299 
    300 #ifndef __ITTTSTerminalEvent_FWD_DEFINED__
    301 #define __ITTTSTerminalEvent_FWD_DEFINED__
    302 typedef struct ITTTSTerminalEvent ITTTSTerminalEvent;
    303 #endif
    304 
    305 #ifndef __ITASRTerminalEvent_FWD_DEFINED__
    306 #define __ITASRTerminalEvent_FWD_DEFINED__
    307 typedef struct ITASRTerminalEvent ITASRTerminalEvent;
    308 #endif
    309 
    310 #ifndef __ITToneTerminalEvent_FWD_DEFINED__
    311 #define __ITToneTerminalEvent_FWD_DEFINED__
    312 typedef struct ITToneTerminalEvent ITToneTerminalEvent;
    313 #endif
    314 
    315 #ifndef __ITQOSEvent_FWD_DEFINED__
    316 #define __ITQOSEvent_FWD_DEFINED__
    317 typedef struct ITQOSEvent ITQOSEvent;
    318 #endif
    319 
    320 #ifndef __ITCallInfoChangeEvent_FWD_DEFINED__
    321 #define __ITCallInfoChangeEvent_FWD_DEFINED__
    322 typedef struct ITCallInfoChangeEvent ITCallInfoChangeEvent;
    323 #endif
    324 
    325 #ifndef __ITRequest_FWD_DEFINED__
    326 #define __ITRequest_FWD_DEFINED__
    327 typedef struct ITRequest ITRequest;
    328 #endif
    329 
    330 #ifndef __ITRequestEvent_FWD_DEFINED__
    331 #define __ITRequestEvent_FWD_DEFINED__
    332 typedef struct ITRequestEvent ITRequestEvent;
    333 #endif
    334 
    335 #ifndef __ITCollection_FWD_DEFINED__
    336 #define __ITCollection_FWD_DEFINED__
    337 typedef struct ITCollection ITCollection;
    338 #endif
    339 
    340 #ifndef __ITCollection2_FWD_DEFINED__
    341 #define __ITCollection2_FWD_DEFINED__
    342 typedef struct ITCollection2 ITCollection2;
    343 #endif
    344 
    345 #ifndef __ITForwardInformation_FWD_DEFINED__
    346 #define __ITForwardInformation_FWD_DEFINED__
    347 typedef struct ITForwardInformation ITForwardInformation;
    348 #endif
    349 
    350 #ifndef __ITForwardInformation2_FWD_DEFINED__
    351 #define __ITForwardInformation2_FWD_DEFINED__
    352 typedef struct ITForwardInformation2 ITForwardInformation2;
    353 #endif
    354 
    355 #ifndef __ITAddressTranslation_FWD_DEFINED__
    356 #define __ITAddressTranslation_FWD_DEFINED__
    357 typedef struct ITAddressTranslation ITAddressTranslation;
    358 #endif
    359 
    360 #ifndef __ITAddressTranslationInfo_FWD_DEFINED__
    361 #define __ITAddressTranslationInfo_FWD_DEFINED__
    362 typedef struct ITAddressTranslationInfo ITAddressTranslationInfo;
    363 #endif
    364 
    365 #ifndef __ITLocationInfo_FWD_DEFINED__
    366 #define __ITLocationInfo_FWD_DEFINED__
    367 typedef struct ITLocationInfo ITLocationInfo;
    368 #endif
    369 
    370 #ifndef __IEnumLocation_FWD_DEFINED__
    371 #define __IEnumLocation_FWD_DEFINED__
    372 typedef struct IEnumLocation IEnumLocation;
    373 #endif
    374 
    375 #ifndef __ITCallingCard_FWD_DEFINED__
    376 #define __ITCallingCard_FWD_DEFINED__
    377 typedef struct ITCallingCard ITCallingCard;
    378 #endif
    379 
    380 #ifndef __IEnumCallingCard_FWD_DEFINED__
    381 #define __IEnumCallingCard_FWD_DEFINED__
    382 typedef struct IEnumCallingCard IEnumCallingCard;
    383 #endif
    384 
    385 #ifndef __ITCallNotificationEvent_FWD_DEFINED__
    386 #define __ITCallNotificationEvent_FWD_DEFINED__
    387 typedef struct ITCallNotificationEvent ITCallNotificationEvent;
    388 #endif
    389 
    390 #ifndef __ITDispatchMapper_FWD_DEFINED__
    391 #define __ITDispatchMapper_FWD_DEFINED__
    392 typedef struct ITDispatchMapper ITDispatchMapper;
    393 #endif
    394 
    395 #ifndef __ITStreamControl_FWD_DEFINED__
    396 #define __ITStreamControl_FWD_DEFINED__
    397 typedef struct ITStreamControl ITStreamControl;
    398 #endif
    399 
    400 #ifndef __ITStream_FWD_DEFINED__
    401 #define __ITStream_FWD_DEFINED__
    402 typedef struct ITStream ITStream;
    403 #endif
    404 
    405 #ifndef __IEnumStream_FWD_DEFINED__
    406 #define __IEnumStream_FWD_DEFINED__
    407 typedef struct IEnumStream IEnumStream;
    408 #endif
    409 
    410 #ifndef __ITSubStreamControl_FWD_DEFINED__
    411 #define __ITSubStreamControl_FWD_DEFINED__
    412 typedef struct ITSubStreamControl ITSubStreamControl;
    413 #endif
    414 
    415 #ifndef __ITSubStream_FWD_DEFINED__
    416 #define __ITSubStream_FWD_DEFINED__
    417 typedef struct ITSubStream ITSubStream;
    418 #endif
    419 
    420 #ifndef __IEnumSubStream_FWD_DEFINED__
    421 #define __IEnumSubStream_FWD_DEFINED__
    422 typedef struct IEnumSubStream IEnumSubStream;
    423 #endif
    424 
    425 #ifndef __ITLegacyWaveSupport_FWD_DEFINED__
    426 #define __ITLegacyWaveSupport_FWD_DEFINED__
    427 typedef struct ITLegacyWaveSupport ITLegacyWaveSupport;
    428 #endif
    429 
    430 #ifndef __ITBasicCallControl2_FWD_DEFINED__
    431 #define __ITBasicCallControl2_FWD_DEFINED__
    432 typedef struct ITBasicCallControl2 ITBasicCallControl2;
    433 #endif
    434 
    435 #ifndef __ITScriptableAudioFormat_FWD_DEFINED__
    436 #define __ITScriptableAudioFormat_FWD_DEFINED__
    437 typedef struct ITScriptableAudioFormat ITScriptableAudioFormat;
    438 #endif
    439 
    440 #include "oaidl.h"
    441 #include "strmif.h"
    442 
    443 #ifdef __cplusplus
    444 extern "C" {
    445 #endif
    446 
    447 #ifndef __MIDL_user_allocate_free_DEFINED__
    448 #define __MIDL_user_allocate_free_DEFINED__
    449   void *__RPC_API MIDL_user_allocate(size_t);
    450   void __RPC_API MIDL_user_free(void *);
    451 #endif
    452 
    453 #ifdef _X86_
    454   typedef __LONG32 TAPIHWND;
    455 #else
    456   typedef LONGLONG TAPIHWND;
    457 #endif
    458   typedef __LONG32 TAPI_DIGITMODE;
    459 
    460   typedef enum TAPI_TONEMODE {
    461     TTM_RINGBACK = 0x2,TTM_BUSY = 0x4,TTM_BEEP = 0x8,TTM_BILLING = 0x10
    462   } TAPI_TONEMODE;
    463 
    464   typedef enum TAPI_GATHERTERM {
    465     TGT_BUFFERFULL = 0x1,TGT_TERMDIGIT = 0x2,TGT_FIRSTTIMEOUT = 0x4,TGT_INTERTIMEOUT = 0x8,TGT_CANCEL = 0x10
    466   } TAPI_GATHERTERM;
    467 
    468   typedef struct TAPI_CUSTOMTONE {
    469     DWORD dwFrequency;
    470     DWORD dwCadenceOn;
    471     DWORD dwCadenceOff;
    472     DWORD dwVolume;
    473   } TAPI_CUSTOMTONE;
    474 
    475   typedef struct TAPI_CUSTOMTONE *LPTAPI_CUSTOMTONE;
    476 
    477   typedef struct TAPI_DETECTTONE {
    478     DWORD dwAppSpecific;
    479     DWORD dwDuration;
    480     DWORD dwFrequency1;
    481     DWORD dwFrequency2;
    482     DWORD dwFrequency3;
    483   } TAPI_DETECTTONE;
    484 
    485   typedef struct TAPI_DETECTTONE *LPTAPI_DETECTTONE;
    486 
    487   typedef enum ADDRESS_EVENT {
    488     AE_STATE = 0,
    489     AE_CAPSCHANGE,AE_RINGING,AE_CONFIGCHANGE,AE_FORWARD,AE_NEWTERMINAL,
    490     AE_REMOVETERMINAL,AE_MSGWAITON,AE_MSGWAITOFF,
    491     AE_LASTITEM = AE_MSGWAITOFF
    492   } ADDRESS_EVENT;
    493 
    494   typedef enum ADDRESS_STATE {
    495     AS_INSERVICE = 0,
    496     AS_OUTOFSERVICE
    497   } ADDRESS_STATE;
    498 
    499   typedef enum CALL_STATE {
    500     CS_IDLE = 0,
    501     CS_INPROGRESS,CS_CONNECTED,CS_DISCONNECTED,CS_OFFERING,CS_HOLD,CS_QUEUED,
    502     CS_LASTITEM = CS_QUEUED
    503   } CALL_STATE;
    504 
    505   typedef enum CALL_STATE_EVENT_CAUSE {
    506     CEC_NONE = 0,
    507     CEC_DISCONNECT_NORMAL,CEC_DISCONNECT_BUSY,CEC_DISCONNECT_BADADDRESS,
    508     CEC_DISCONNECT_NOANSWER,CEC_DISCONNECT_CANCELLED,CEC_DISCONNECT_REJECTED,
    509     CEC_DISCONNECT_FAILED,CEC_DISCONNECT_BLOCKED
    510   } CALL_STATE_EVENT_CAUSE;
    511 
    512   typedef enum CALL_MEDIA_EVENT {
    513     CME_NEW_STREAM = 0,
    514     CME_STREAM_FAIL,CME_TERMINAL_FAIL,CME_STREAM_NOT_USED,CME_STREAM_ACTIVE,
    515     CME_STREAM_INACTIVE,
    516     CME_LASTITEM = CME_STREAM_INACTIVE
    517   } CALL_MEDIA_EVENT;
    518 
    519   typedef enum CALL_MEDIA_EVENT_CAUSE {
    520     CMC_UNKNOWN = 0,
    521     CMC_BAD_DEVICE,CMC_CONNECT_FAIL,CMC_LOCAL_REQUEST,CMC_REMOTE_REQUEST,
    522     CMC_MEDIA_TIMEOUT,CMC_MEDIA_RECOVERED,CMC_QUALITY_OF_SERVICE
    523   } CALL_MEDIA_EVENT_CAUSE;
    524 
    525   typedef enum DISCONNECT_CODE {
    526     DC_NORMAL = 0,
    527     DC_NOANSWER,DC_REJECTED
    528   } DISCONNECT_CODE;
    529 
    530   typedef enum TERMINAL_STATE {
    531     TS_INUSE = 0,
    532     TS_NOTINUSE
    533   } TERMINAL_STATE;
    534 
    535   typedef enum TERMINAL_DIRECTION {
    536     TD_CAPTURE = 0,
    537     TD_RENDER,TD_BIDIRECTIONAL,TD_MULTITRACK_MIXED,TD_NONE
    538   } TERMINAL_DIRECTION;
    539 
    540   typedef enum TERMINAL_TYPE {
    541     TT_STATIC = 0,
    542     TT_DYNAMIC
    543   } TERMINAL_TYPE;
    544 
    545   typedef enum CALL_PRIVILEGE {
    546     CP_OWNER = 0,
    547     CP_MONITOR
    548   } CALL_PRIVILEGE;
    549 
    550   typedef enum TAPI_EVENT {
    551     TE_TAPIOBJECT = 0x1,TE_ADDRESS = 0x2,TE_CALLNOTIFICATION = 0x4,TE_CALLSTATE = 0x8,
    552     TE_CALLMEDIA = 0x10,TE_CALLHUB = 0x20,TE_CALLINFOCHANGE = 0x40,TE_PRIVATE = 0x80,
    553     TE_REQUEST = 0x100,TE_AGENT = 0x200,TE_AGENTSESSION = 0x400,TE_QOSEVENT = 0x800,
    554     TE_AGENTHANDLER = 0x1000,TE_ACDGROUP = 0x2000,TE_QUEUE = 0x4000,TE_DIGITEVENT = 0x8000,
    555     TE_GENERATEEVENT = 0x10000,TE_ASRTERMINAL = 0x20000,TE_TTSTERMINAL = 0x40000,TE_FILETERMINAL = 0x80000,
    556     TE_TONETERMINAL = 0x100000,TE_PHONEEVENT = 0x200000,TE_TONEEVENT = 0x400000,TE_GATHERDIGITS = 0x800000,
    557     TE_ADDRESSDEVSPECIFIC = 0x1000000,TE_PHONEDEVSPECIFIC = 0x2000000
    558   } TAPI_EVENT;
    559 
    560   typedef enum CALL_NOTIFICATION_EVENT {
    561     CNE_OWNER = 0,CNE_MONITOR,
    562     CNE_LASTITEM = CNE_MONITOR
    563   } CALL_NOTIFICATION_EVENT;
    564 
    565   typedef enum CALLHUB_EVENT {
    566     CHE_CALLJOIN = 0,
    567     CHE_CALLLEAVE,CHE_CALLHUBNEW,CHE_CALLHUBIDLE,
    568     CHE_LASTITEM = CHE_CALLHUBIDLE
    569   } CALLHUB_EVENT;
    570 
    571   typedef enum CALLHUB_STATE {
    572     CHS_ACTIVE = 0,
    573     CHS_IDLE
    574   } CALLHUB_STATE;
    575 
    576   typedef enum TAPIOBJECT_EVENT {
    577     TE_ADDRESSCREATE = 0,
    578     TE_ADDRESSREMOVE,TE_REINIT,TE_TRANSLATECHANGE,TE_ADDRESSCLOSE,TE_PHONECREATE,
    579     TE_PHONEREMOVE
    580   } TAPIOBJECT_EVENT;
    581 
    582   typedef enum TAPI_OBJECT_TYPE {
    583     TOT_NONE = 0,
    584     TOT_TAPI,TOT_ADDRESS,TOT_TERMINAL,TOT_CALL,TOT_CALLHUB,TOT_PHONE
    585   } TAPI_OBJECT_TYPE;
    586 
    587   typedef enum QOS_SERVICE_LEVEL {
    588     QSL_NEEDED = 1,
    589     QSL_IF_AVAILABLE = 2,
    590     QSL_BEST_EFFORT = 3
    591   } QOS_SERVICE_LEVEL;
    592 
    593   typedef enum QOS_EVENT {
    594     QE_NOQOS = 1,QE_ADMISSIONFAILURE = 2,QE_POLICYFAILURE = 3,QE_GENERICERROR = 4,
    595     QE_LASTITEM = QE_GENERICERROR
    596   } QOS_EVENT;
    597 
    598   typedef enum CALLINFOCHANGE_CAUSE {
    599     CIC_OTHER = 0,
    600     CIC_DEVSPECIFIC,CIC_BEARERMODE,CIC_RATE,CIC_APPSPECIFIC,CIC_CALLID,
    601     CIC_RELATEDCALLID,CIC_ORIGIN,CIC_REASON,CIC_COMPLETIONID,CIC_NUMOWNERINCR,
    602     CIC_NUMOWNERDECR,CIC_NUMMONITORS,CIC_TRUNK,CIC_CALLERID,CIC_CALLEDID,
    603     CIC_CONNECTEDID,CIC_REDIRECTIONID,CIC_REDIRECTINGID,CIC_USERUSERINFO,
    604     CIC_HIGHLEVELCOMP,CIC_LOWLEVELCOMP,CIC_CHARGINGINFO,CIC_TREATMENT,
    605     CIC_CALLDATA,CIC_PRIVILEGE,CIC_MEDIATYPE,
    606     CIC_LASTITEM = CIC_MEDIATYPE
    607   } CALLINFOCHANGE_CAUSE;
    608 
    609   typedef enum CALLINFO_LONG {
    610     CIL_MEDIATYPESAVAILABLE = 0,
    611     CIL_BEARERMODE,CIL_CALLERIDADDRESSTYPE,CIL_CALLEDIDADDRESSTYPE,CIL_CONNECTEDIDADDRESSTYPE,
    612     CIL_REDIRECTIONIDADDRESSTYPE,CIL_REDIRECTINGIDADDRESSTYPE,CIL_ORIGIN,
    613     CIL_REASON,CIL_APPSPECIFIC,CIL_CALLPARAMSFLAGS,CIL_CALLTREATMENT,CIL_MINRATE,
    614     CIL_MAXRATE,CIL_COUNTRYCODE,CIL_CALLID,CIL_RELATEDCALLID,CIL_COMPLETIONID,
    615     CIL_NUMBEROFOWNERS,CIL_NUMBEROFMONITORS,CIL_TRUNK,CIL_RATE,CIL_GENERATEDIGITDURATION,
    616     CIL_MONITORDIGITMODES,CIL_MONITORMEDIAMODES
    617   } CALLINFO_LONG;
    618 
    619   typedef enum CALLINFO_STRING {
    620     CIS_CALLERIDNAME = 0,
    621     CIS_CALLERIDNUMBER,CIS_CALLEDIDNAME,CIS_CALLEDIDNUMBER,CIS_CONNECTEDIDNAME,
    622     CIS_CONNECTEDIDNUMBER,CIS_REDIRECTIONIDNAME,CIS_REDIRECTIONIDNUMBER,
    623     CIS_REDIRECTINGIDNAME,CIS_REDIRECTINGIDNUMBER,CIS_CALLEDPARTYFRIENDLYNAME,
    624     CIS_COMMENT,CIS_DISPLAYABLEADDRESS,CIS_CALLINGPARTYID
    625   } CALLINFO_STRING;
    626 
    627   typedef enum CALLINFO_BUFFER {
    628     CIB_USERUSERINFO = 0,
    629     CIB_DEVSPECIFICBUFFER,CIB_CALLDATABUFFER,CIB_CHARGINGINFOBUFFER,
    630     CIB_HIGHLEVELCOMPATIBILITYBUFFER,CIB_LOWLEVELCOMPATIBILITYBUFFER
    631   } CALLINFO_BUFFER;
    632 
    633   typedef enum ADDRESS_CAPABILITY {
    634     AC_ADDRESSTYPES = 0,
    635     AC_BEARERMODES,AC_MAXACTIVECALLS,AC_MAXONHOLDCALLS,
    636     AC_MAXONHOLDPENDINGCALLS,AC_MAXNUMCONFERENCE,AC_MAXNUMTRANSCONF,
    637     AC_MONITORDIGITSUPPORT,AC_GENERATEDIGITSUPPORT,AC_GENERATETONEMODES,
    638     AC_GENERATETONEMAXNUMFREQ,AC_MONITORTONEMAXNUMFREQ,AC_MONITORTONEMAXNUMENTRIES,
    639     AC_DEVCAPFLAGS,AC_ANSWERMODES,AC_LINEFEATURES,AC_SETTABLEDEVSTATUS,
    640     AC_PARKSUPPORT,AC_CALLERIDSUPPORT,AC_CALLEDIDSUPPORT,AC_CONNECTEDIDSUPPORT,
    641     AC_REDIRECTIONIDSUPPORT,AC_REDIRECTINGIDSUPPORT,AC_ADDRESSCAPFLAGS,
    642     AC_CALLFEATURES1,AC_CALLFEATURES2,AC_REMOVEFROMCONFCAPS,AC_REMOVEFROMCONFSTATE,
    643     AC_TRANSFERMODES,AC_ADDRESSFEATURES,AC_PREDICTIVEAUTOTRANSFERSTATES,
    644     AC_MAXCALLDATASIZE,AC_LINEID,AC_ADDRESSID,AC_FORWARDMODES,AC_MAXFORWARDENTRIES,
    645     AC_MAXSPECIFICENTRIES,AC_MINFWDNUMRINGS,AC_MAXFWDNUMRINGS,AC_MAXCALLCOMPLETIONS,
    646     AC_CALLCOMPLETIONCONDITIONS,AC_CALLCOMPLETIONMODES,AC_PERMANENTDEVICEID,
    647     AC_GATHERDIGITSMINTIMEOUT,AC_GATHERDIGITSMAXTIMEOUT,AC_GENERATEDIGITMINDURATION,
    648     AC_GENERATEDIGITMAXDURATION,AC_GENERATEDIGITDEFAULTDURATION
    649   } ADDRESS_CAPABILITY;
    650 
    651   typedef enum ADDRESS_CAPABILITY_STRING {
    652     ACS_PROTOCOL = 0,
    653     ACS_ADDRESSDEVICESPECIFIC,ACS_LINEDEVICESPECIFIC,
    654     ACS_PROVIDERSPECIFIC,ACS_SWITCHSPECIFIC,ACS_PERMANENTDEVICEGUID
    655   } ADDRESS_CAPABILITY_STRING;
    656 
    657   typedef enum FULLDUPLEX_SUPPORT {
    658     FDS_SUPPORTED = 0,
    659     FDS_NOTSUPPORTED,FDS_UNKNOWN
    660   } FULLDUPLEX_SUPPORT;
    661 
    662   typedef enum FINISH_MODE {
    663     FM_ASTRANSFER = 0,
    664     FM_ASCONFERENCE
    665   } FINISH_MODE;
    666 
    667   typedef enum PHONE_PRIVILEGE {
    668     PP_OWNER = 0,
    669     PP_MONITOR
    670   } PHONE_PRIVILEGE;
    671 
    672   typedef enum PHONE_HOOK_SWITCH_DEVICE {
    673     PHSD_HANDSET = 0x1,PHSD_SPEAKERPHONE = 0x2,PHSD_HEADSET = 0x4
    674   } PHONE_HOOK_SWITCH_DEVICE;
    675 
    676   typedef enum PHONE_HOOK_SWITCH_STATE {
    677     PHSS_ONHOOK = 0x1,PHSS_OFFHOOK_MIC_ONLY = 0x2,PHSS_OFFHOOK_SPEAKER_ONLY = 0x4,PHSS_OFFHOOK = 0x8
    678   } PHONE_HOOK_SWITCH_STATE;
    679 
    680   typedef enum PHONE_LAMP_MODE {
    681     LM_DUMMY = 0x1,LM_OFF = 0x2,LM_STEADY = 0x4,LM_WINK = 0x8,
    682     LM_FLASH = 0x10,LM_FLUTTER = 0x20,LM_BROKENFLUTTER = 0x40,LM_UNKNOWN = 0x80
    683   } PHONE_LAMP_MODE;
    684 
    685   typedef enum PHONECAPS_LONG {
    686     PCL_HOOKSWITCHES = 0,
    687     PCL_HANDSETHOOKSWITCHMODES,PCL_HEADSETHOOKSWITCHMODES,PCL_SPEAKERPHONEHOOKSWITCHMODES,
    688     PCL_DISPLAYNUMROWS,PCL_DISPLAYNUMCOLUMNS,PCL_NUMRINGMODES,PCL_NUMBUTTONLAMPS,
    689     PCL_GENERICPHONE
    690   } PHONECAPS_LONG;
    691 
    692   typedef enum PHONECAPS_STRING {
    693     PCS_PHONENAME = 0,
    694     PCS_PHONEINFO,PCS_PROVIDERINFO
    695   } PHONECAPS_STRING;
    696 
    697   typedef enum PHONECAPS_BUFFER {
    698     PCB_DEVSPECIFICBUFFER = 0
    699   } PHONECAPS_BUFFER;
    700 
    701   typedef enum PHONE_BUTTON_STATE {
    702     PBS_UP = 0x1,PBS_DOWN = 0x2,PBS_UNKNOWN = 0x4,PBS_UNAVAIL = 0x8
    703   } PHONE_BUTTON_STATE;
    704 
    705   typedef enum PHONE_BUTTON_MODE {
    706     PBM_DUMMY = 0,
    707     PBM_CALL,PBM_FEATURE,PBM_KEYPAD,PBM_LOCAL,PBM_DISPLAY
    708   } PHONE_BUTTON_MODE;
    709 
    710   typedef enum PHONE_BUTTON_FUNCTION {
    711     PBF_UNKNOWN = 0,
    712     PBF_CONFERENCE,PBF_TRANSFER,PBF_DROP,PBF_HOLD,PBF_RECALL,PBF_DISCONNECT,PBF_CONNECT,
    713     PBF_MSGWAITON,PBF_MSGWAITOFF,PBF_SELECTRING,PBF_ABBREVDIAL,PBF_FORWARD,
    714     PBF_PICKUP,PBF_RINGAGAIN,PBF_PARK,PBF_REJECT,PBF_REDIRECT,PBF_MUTE,
    715     PBF_VOLUMEUP,PBF_VOLUMEDOWN,PBF_SPEAKERON,PBF_SPEAKEROFF,PBF_FLASH,
    716     PBF_DATAON,PBF_DATAOFF,PBF_DONOTDISTURB,PBF_INTERCOM,PBF_BRIDGEDAPP,
    717     PBF_BUSY,PBF_CALLAPP,PBF_DATETIME,PBF_DIRECTORY,PBF_COVER,PBF_CALLID,
    718     PBF_LASTNUM,PBF_NIGHTSRV,PBF_SENDCALLS,PBF_MSGINDICATOR,PBF_REPDIAL,
    719     PBF_SETREPDIAL,PBF_SYSTEMSPEED,PBF_STATIONSPEED,PBF_CAMPON,PBF_SAVEREPEAT,
    720     PBF_QUEUECALL,PBF_NONE,PBF_SEND
    721   } PHONE_BUTTON_FUNCTION;
    722 
    723   typedef enum PHONE_TONE {
    724     PT_KEYPADZERO = 0,
    725     PT_KEYPADONE,PT_KEYPADTWO,PT_KEYPADTHREE,PT_KEYPADFOUR,PT_KEYPADFIVE,PT_KEYPADSIX,
    726     PT_KEYPADSEVEN,PT_KEYPADEIGHT,PT_KEYPADNINE,PT_KEYPADSTAR,PT_KEYPADPOUND,PT_KEYPADA,
    727     PT_KEYPADB,PT_KEYPADC,PT_KEYPADD,PT_NORMALDIALTONE,PT_EXTERNALDIALTONE,PT_BUSY,
    728     PT_RINGBACK,PT_ERRORTONE,PT_SILENCE
    729   } PHONE_TONE;
    730 
    731   typedef enum PHONE_EVENT {
    732     PE_DISPLAY = 0,
    733     PE_LAMPMODE,PE_RINGMODE,PE_RINGVOLUME,PE_HOOKSWITCH,PE_CAPSCHANGE,PE_BUTTON,
    734     PE_CLOSE,PE_NUMBERGATHERED,PE_DIALING,PE_ANSWER,PE_DISCONNECT,
    735     PE_LASTITEM = PE_DISCONNECT
    736   } PHONE_EVENT;
    737 
    738 #define INTERFACEMASK (0xff0000)
    739 
    740 #define DISPIDMASK (0xffff)
    741 
    742 #define IDISPTAPI (0x10000)
    743 #define IDISPTAPICALLCENTER (0x20000)
    744 #define IDISPCALLINFO (0x10000)
    745 #define IDISPBASICCALLCONTROL (0x20000)
    746 #define IDISPLEGACYCALLMEDIACONTROL (0x30000)
    747 #define IDISPAGGREGATEDMSPCALLOBJ (0x40000)
    748 #define IDISPADDRESS (0x10000)
    749 #define IDISPADDRESSCAPABILITIES (0x20000)
    750 #define IDISPMEDIASUPPORT (0x30000)
    751 #define IDISPADDRESSTRANSLATION (0x40000)
    752 #define IDISPLEGACYADDRESSMEDIACONTROL (0x50000)
    753 #define IDISPAGGREGATEDMSPADDRESSOBJ (0x60000)
    754 #define IDISPPHONE (0x10000)
    755 #define IDISPAPC (0x20000)
    756 #define IDISPMULTITRACK (0x10000)
    757 #define IDISPMEDIACONTROL (0x20000)
    758 #define IDISPMEDIARECORD (0x30000)
    759 #define IDISPMEDIAPLAYBACK (0x40000)
    760 #define IDISPFILETRACK (0x10000)
    761 
    762   extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0000_v0_0_c_ifspec;
    763   extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0000_v0_0_s_ifspec;
    764 #ifndef __ITTAPI_INTERFACE_DEFINED__
    765 #define __ITTAPI_INTERFACE_DEFINED__
    766   EXTERN_C const IID IID_ITTAPI;
    767 #if defined(__cplusplus) && !defined(CINTERFACE)
    768   struct ITTAPI : public IDispatch {
    769   public:
    770     virtual HRESULT WINAPI Initialize(void) = 0;
    771     virtual HRESULT WINAPI Shutdown(void) = 0;
    772     virtual HRESULT WINAPI get_Addresses(VARIANT *pVariant) = 0;
    773     virtual HRESULT WINAPI EnumerateAddresses(IEnumAddress **ppEnumAddress) = 0;
    774     virtual HRESULT WINAPI RegisterCallNotifications(ITAddress *pAddress,VARIANT_BOOL fMonitor,VARIANT_BOOL fOwner,__LONG32 lMediaTypes,__LONG32 lCallbackInstance,__LONG32 *plRegister) = 0;
    775     virtual HRESULT WINAPI UnregisterNotifications(__LONG32 lRegister) = 0;
    776     virtual HRESULT WINAPI get_CallHubs(VARIANT *pVariant) = 0;
    777     virtual HRESULT WINAPI EnumerateCallHubs(IEnumCallHub **ppEnumCallHub) = 0;
    778     virtual HRESULT WINAPI SetCallHubTracking(VARIANT pAddresses,VARIANT_BOOL bTracking) = 0;
    779     virtual HRESULT WINAPI EnumeratePrivateTAPIObjects(IEnumUnknown **ppEnumUnknown) = 0;
    780     virtual HRESULT WINAPI get_PrivateTAPIObjects(VARIANT *pVariant) = 0;
    781     virtual HRESULT WINAPI RegisterRequestRecipient(__LONG32 lRegistrationInstance,__LONG32 lRequestMode,VARIANT_BOOL fEnable) = 0;
    782     virtual HRESULT WINAPI SetAssistedTelephonyPriority(BSTR pAppFilename,VARIANT_BOOL fPriority) = 0;
    783     virtual HRESULT WINAPI SetApplicationPriority(BSTR pAppFilename,__LONG32 lMediaType,VARIANT_BOOL fPriority) = 0;
    784     virtual HRESULT WINAPI put_EventFilter(__LONG32 lFilterMask) = 0;
    785     virtual HRESULT WINAPI get_EventFilter(__LONG32 *plFilterMask) = 0;
    786   };
    787 #else
    788   typedef struct ITTAPIVtbl {
    789     BEGIN_INTERFACE
    790       HRESULT (WINAPI *QueryInterface)(ITTAPI *This,REFIID riid,void **ppvObject);
    791       ULONG (WINAPI *AddRef)(ITTAPI *This);
    792       ULONG (WINAPI *Release)(ITTAPI *This);
    793       HRESULT (WINAPI *GetTypeInfoCount)(ITTAPI *This,UINT *pctinfo);
    794       HRESULT (WINAPI *GetTypeInfo)(ITTAPI *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    795       HRESULT (WINAPI *GetIDsOfNames)(ITTAPI *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    796       HRESULT (WINAPI *Invoke)(ITTAPI *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    797       HRESULT (WINAPI *Initialize)(ITTAPI *This);
    798       HRESULT (WINAPI *Shutdown)(ITTAPI *This);
    799       HRESULT (WINAPI *get_Addresses)(ITTAPI *This,VARIANT *pVariant);
    800       HRESULT (WINAPI *EnumerateAddresses)(ITTAPI *This,IEnumAddress **ppEnumAddress);
    801       HRESULT (WINAPI *RegisterCallNotifications)(ITTAPI *This,ITAddress *pAddress,VARIANT_BOOL fMonitor,VARIANT_BOOL fOwner,__LONG32 lMediaTypes,__LONG32 lCallbackInstance,__LONG32 *plRegister);
    802       HRESULT (WINAPI *UnregisterNotifications)(ITTAPI *This,__LONG32 lRegister);
    803       HRESULT (WINAPI *get_CallHubs)(ITTAPI *This,VARIANT *pVariant);
    804       HRESULT (WINAPI *EnumerateCallHubs)(ITTAPI *This,IEnumCallHub **ppEnumCallHub);
    805       HRESULT (WINAPI *SetCallHubTracking)(ITTAPI *This,VARIANT pAddresses,VARIANT_BOOL bTracking);
    806       HRESULT (WINAPI *EnumeratePrivateTAPIObjects)(ITTAPI *This,IEnumUnknown **ppEnumUnknown);
    807       HRESULT (WINAPI *get_PrivateTAPIObjects)(ITTAPI *This,VARIANT *pVariant);
    808       HRESULT (WINAPI *RegisterRequestRecipient)(ITTAPI *This,__LONG32 lRegistrationInstance,__LONG32 lRequestMode,VARIANT_BOOL fEnable);
    809       HRESULT (WINAPI *SetAssistedTelephonyPriority)(ITTAPI *This,BSTR pAppFilename,VARIANT_BOOL fPriority);
    810       HRESULT (WINAPI *SetApplicationPriority)(ITTAPI *This,BSTR pAppFilename,__LONG32 lMediaType,VARIANT_BOOL fPriority);
    811       HRESULT (WINAPI *put_EventFilter)(ITTAPI *This,__LONG32 lFilterMask);
    812       HRESULT (WINAPI *get_EventFilter)(ITTAPI *This,__LONG32 *plFilterMask);
    813     END_INTERFACE
    814   } ITTAPIVtbl;
    815   struct ITTAPI {
    816     CONST_VTBL struct ITTAPIVtbl *lpVtbl;
    817   };
    818 #ifdef COBJMACROS
    819 #define ITTAPI_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    820 #define ITTAPI_AddRef(This) (This)->lpVtbl->AddRef(This)
    821 #define ITTAPI_Release(This) (This)->lpVtbl->Release(This)
    822 #define ITTAPI_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    823 #define ITTAPI_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    824 #define ITTAPI_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    825 #define ITTAPI_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    826 #define ITTAPI_Initialize(This) (This)->lpVtbl->Initialize(This)
    827 #define ITTAPI_Shutdown(This) (This)->lpVtbl->Shutdown(This)
    828 #define ITTAPI_get_Addresses(This,pVariant) (This)->lpVtbl->get_Addresses(This,pVariant)
    829 #define ITTAPI_EnumerateAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumerateAddresses(This,ppEnumAddress)
    830 #define ITTAPI_RegisterCallNotifications(This,pAddress,fMonitor,fOwner,lMediaTypes,lCallbackInstance,plRegister) (This)->lpVtbl->RegisterCallNotifications(This,pAddress,fMonitor,fOwner,lMediaTypes,lCallbackInstance,plRegister)
    831 #define ITTAPI_UnregisterNotifications(This,lRegister) (This)->lpVtbl->UnregisterNotifications(This,lRegister)
    832 #define ITTAPI_get_CallHubs(This,pVariant) (This)->lpVtbl->get_CallHubs(This,pVariant)
    833 #define ITTAPI_EnumerateCallHubs(This,ppEnumCallHub) (This)->lpVtbl->EnumerateCallHubs(This,ppEnumCallHub)
    834 #define ITTAPI_SetCallHubTracking(This,pAddresses,bTracking) (This)->lpVtbl->SetCallHubTracking(This,pAddresses,bTracking)
    835 #define ITTAPI_EnumeratePrivateTAPIObjects(This,ppEnumUnknown) (This)->lpVtbl->EnumeratePrivateTAPIObjects(This,ppEnumUnknown)
    836 #define ITTAPI_get_PrivateTAPIObjects(This,pVariant) (This)->lpVtbl->get_PrivateTAPIObjects(This,pVariant)
    837 #define ITTAPI_RegisterRequestRecipient(This,lRegistrationInstance,lRequestMode,fEnable) (This)->lpVtbl->RegisterRequestRecipient(This,lRegistrationInstance,lRequestMode,fEnable)
    838 #define ITTAPI_SetAssistedTelephonyPriority(This,pAppFilename,fPriority) (This)->lpVtbl->SetAssistedTelephonyPriority(This,pAppFilename,fPriority)
    839 #define ITTAPI_SetApplicationPriority(This,pAppFilename,lMediaType,fPriority) (This)->lpVtbl->SetApplicationPriority(This,pAppFilename,lMediaType,fPriority)
    840 #define ITTAPI_put_EventFilter(This,lFilterMask) (This)->lpVtbl->put_EventFilter(This,lFilterMask)
    841 #define ITTAPI_get_EventFilter(This,plFilterMask) (This)->lpVtbl->get_EventFilter(This,plFilterMask)
    842 #endif
    843 #endif
    844   HRESULT WINAPI ITTAPI_Initialize_Proxy(ITTAPI *This);
    845   void __RPC_STUB ITTAPI_Initialize_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    846   HRESULT WINAPI ITTAPI_Shutdown_Proxy(ITTAPI *This);
    847   void __RPC_STUB ITTAPI_Shutdown_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    848   HRESULT WINAPI ITTAPI_get_Addresses_Proxy(ITTAPI *This,VARIANT *pVariant);
    849   void __RPC_STUB ITTAPI_get_Addresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    850   HRESULT WINAPI ITTAPI_EnumerateAddresses_Proxy(ITTAPI *This,IEnumAddress **ppEnumAddress);
    851   void __RPC_STUB ITTAPI_EnumerateAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    852   HRESULT WINAPI ITTAPI_RegisterCallNotifications_Proxy(ITTAPI *This,ITAddress *pAddress,VARIANT_BOOL fMonitor,VARIANT_BOOL fOwner,__LONG32 lMediaTypes,__LONG32 lCallbackInstance,__LONG32 *plRegister);
    853   void __RPC_STUB ITTAPI_RegisterCallNotifications_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    854   HRESULT WINAPI ITTAPI_UnregisterNotifications_Proxy(ITTAPI *This,__LONG32 lRegister);
    855   void __RPC_STUB ITTAPI_UnregisterNotifications_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    856   HRESULT WINAPI ITTAPI_get_CallHubs_Proxy(ITTAPI *This,VARIANT *pVariant);
    857   void __RPC_STUB ITTAPI_get_CallHubs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    858   HRESULT WINAPI ITTAPI_EnumerateCallHubs_Proxy(ITTAPI *This,IEnumCallHub **ppEnumCallHub);
    859   void __RPC_STUB ITTAPI_EnumerateCallHubs_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    860   HRESULT WINAPI ITTAPI_SetCallHubTracking_Proxy(ITTAPI *This,VARIANT pAddresses,VARIANT_BOOL bTracking);
    861   void __RPC_STUB ITTAPI_SetCallHubTracking_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    862   HRESULT WINAPI ITTAPI_EnumeratePrivateTAPIObjects_Proxy(ITTAPI *This,IEnumUnknown **ppEnumUnknown);
    863   void __RPC_STUB ITTAPI_EnumeratePrivateTAPIObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    864   HRESULT WINAPI ITTAPI_get_PrivateTAPIObjects_Proxy(ITTAPI *This,VARIANT *pVariant);
    865   void __RPC_STUB ITTAPI_get_PrivateTAPIObjects_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    866   HRESULT WINAPI ITTAPI_RegisterRequestRecipient_Proxy(ITTAPI *This,__LONG32 lRegistrationInstance,__LONG32 lRequestMode,VARIANT_BOOL fEnable);
    867   void __RPC_STUB ITTAPI_RegisterRequestRecipient_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    868   HRESULT WINAPI ITTAPI_SetAssistedTelephonyPriority_Proxy(ITTAPI *This,BSTR pAppFilename,VARIANT_BOOL fPriority);
    869   void __RPC_STUB ITTAPI_SetAssistedTelephonyPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    870   HRESULT WINAPI ITTAPI_SetApplicationPriority_Proxy(ITTAPI *This,BSTR pAppFilename,__LONG32 lMediaType,VARIANT_BOOL fPriority);
    871   void __RPC_STUB ITTAPI_SetApplicationPriority_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    872   HRESULT WINAPI ITTAPI_put_EventFilter_Proxy(ITTAPI *This,__LONG32 lFilterMask);
    873   void __RPC_STUB ITTAPI_put_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    874   HRESULT WINAPI ITTAPI_get_EventFilter_Proxy(ITTAPI *This,__LONG32 *plFilterMask);
    875   void __RPC_STUB ITTAPI_get_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    876 #endif
    877 
    878 #ifndef __ITTAPI2_INTERFACE_DEFINED__
    879 #define __ITTAPI2_INTERFACE_DEFINED__
    880   EXTERN_C const IID IID_ITTAPI2;
    881 #if defined(__cplusplus) && !defined(CINTERFACE)
    882   struct ITTAPI2 : public ITTAPI {
    883   public:
    884     virtual HRESULT WINAPI get_Phones(VARIANT *pPhones) = 0;
    885     virtual HRESULT WINAPI EnumeratePhones(IEnumPhone **ppEnumPhone) = 0;
    886     virtual HRESULT WINAPI CreateEmptyCollectionObject(ITCollection2 **ppCollection) = 0;
    887   };
    888 #else
    889   typedef struct ITTAPI2Vtbl {
    890     BEGIN_INTERFACE
    891       HRESULT (WINAPI *QueryInterface)(ITTAPI2 *This,REFIID riid,void **ppvObject);
    892       ULONG (WINAPI *AddRef)(ITTAPI2 *This);
    893       ULONG (WINAPI *Release)(ITTAPI2 *This);
    894       HRESULT (WINAPI *GetTypeInfoCount)(ITTAPI2 *This,UINT *pctinfo);
    895       HRESULT (WINAPI *GetTypeInfo)(ITTAPI2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    896       HRESULT (WINAPI *GetIDsOfNames)(ITTAPI2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    897       HRESULT (WINAPI *Invoke)(ITTAPI2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    898       HRESULT (WINAPI *Initialize)(ITTAPI2 *This);
    899       HRESULT (WINAPI *Shutdown)(ITTAPI2 *This);
    900       HRESULT (WINAPI *get_Addresses)(ITTAPI2 *This,VARIANT *pVariant);
    901       HRESULT (WINAPI *EnumerateAddresses)(ITTAPI2 *This,IEnumAddress **ppEnumAddress);
    902       HRESULT (WINAPI *RegisterCallNotifications)(ITTAPI2 *This,ITAddress *pAddress,VARIANT_BOOL fMonitor,VARIANT_BOOL fOwner,__LONG32 lMediaTypes,__LONG32 lCallbackInstance,__LONG32 *plRegister);
    903       HRESULT (WINAPI *UnregisterNotifications)(ITTAPI2 *This,__LONG32 lRegister);
    904       HRESULT (WINAPI *get_CallHubs)(ITTAPI2 *This,VARIANT *pVariant);
    905       HRESULT (WINAPI *EnumerateCallHubs)(ITTAPI2 *This,IEnumCallHub **ppEnumCallHub);
    906       HRESULT (WINAPI *SetCallHubTracking)(ITTAPI2 *This,VARIANT pAddresses,VARIANT_BOOL bTracking);
    907       HRESULT (WINAPI *EnumeratePrivateTAPIObjects)(ITTAPI2 *This,IEnumUnknown **ppEnumUnknown);
    908       HRESULT (WINAPI *get_PrivateTAPIObjects)(ITTAPI2 *This,VARIANT *pVariant);
    909       HRESULT (WINAPI *RegisterRequestRecipient)(ITTAPI2 *This,__LONG32 lRegistrationInstance,__LONG32 lRequestMode,VARIANT_BOOL fEnable);
    910       HRESULT (WINAPI *SetAssistedTelephonyPriority)(ITTAPI2 *This,BSTR pAppFilename,VARIANT_BOOL fPriority);
    911       HRESULT (WINAPI *SetApplicationPriority)(ITTAPI2 *This,BSTR pAppFilename,__LONG32 lMediaType,VARIANT_BOOL fPriority);
    912       HRESULT (WINAPI *put_EventFilter)(ITTAPI2 *This,__LONG32 lFilterMask);
    913       HRESULT (WINAPI *get_EventFilter)(ITTAPI2 *This,__LONG32 *plFilterMask);
    914       HRESULT (WINAPI *get_Phones)(ITTAPI2 *This,VARIANT *pPhones);
    915       HRESULT (WINAPI *EnumeratePhones)(ITTAPI2 *This,IEnumPhone **ppEnumPhone);
    916       HRESULT (WINAPI *CreateEmptyCollectionObject)(ITTAPI2 *This,ITCollection2 **ppCollection);
    917     END_INTERFACE
    918   } ITTAPI2Vtbl;
    919   struct ITTAPI2 {
    920     CONST_VTBL struct ITTAPI2Vtbl *lpVtbl;
    921   };
    922 #ifdef COBJMACROS
    923 #define ITTAPI2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    924 #define ITTAPI2_AddRef(This) (This)->lpVtbl->AddRef(This)
    925 #define ITTAPI2_Release(This) (This)->lpVtbl->Release(This)
    926 #define ITTAPI2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    927 #define ITTAPI2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    928 #define ITTAPI2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    929 #define ITTAPI2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    930 #define ITTAPI2_Initialize(This) (This)->lpVtbl->Initialize(This)
    931 #define ITTAPI2_Shutdown(This) (This)->lpVtbl->Shutdown(This)
    932 #define ITTAPI2_get_Addresses(This,pVariant) (This)->lpVtbl->get_Addresses(This,pVariant)
    933 #define ITTAPI2_EnumerateAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumerateAddresses(This,ppEnumAddress)
    934 #define ITTAPI2_RegisterCallNotifications(This,pAddress,fMonitor,fOwner,lMediaTypes,lCallbackInstance,plRegister) (This)->lpVtbl->RegisterCallNotifications(This,pAddress,fMonitor,fOwner,lMediaTypes,lCallbackInstance,plRegister)
    935 #define ITTAPI2_UnregisterNotifications(This,lRegister) (This)->lpVtbl->UnregisterNotifications(This,lRegister)
    936 #define ITTAPI2_get_CallHubs(This,pVariant) (This)->lpVtbl->get_CallHubs(This,pVariant)
    937 #define ITTAPI2_EnumerateCallHubs(This,ppEnumCallHub) (This)->lpVtbl->EnumerateCallHubs(This,ppEnumCallHub)
    938 #define ITTAPI2_SetCallHubTracking(This,pAddresses,bTracking) (This)->lpVtbl->SetCallHubTracking(This,pAddresses,bTracking)
    939 #define ITTAPI2_EnumeratePrivateTAPIObjects(This,ppEnumUnknown) (This)->lpVtbl->EnumeratePrivateTAPIObjects(This,ppEnumUnknown)
    940 #define ITTAPI2_get_PrivateTAPIObjects(This,pVariant) (This)->lpVtbl->get_PrivateTAPIObjects(This,pVariant)
    941 #define ITTAPI2_RegisterRequestRecipient(This,lRegistrationInstance,lRequestMode,fEnable) (This)->lpVtbl->RegisterRequestRecipient(This,lRegistrationInstance,lRequestMode,fEnable)
    942 #define ITTAPI2_SetAssistedTelephonyPriority(This,pAppFilename,fPriority) (This)->lpVtbl->SetAssistedTelephonyPriority(This,pAppFilename,fPriority)
    943 #define ITTAPI2_SetApplicationPriority(This,pAppFilename,lMediaType,fPriority) (This)->lpVtbl->SetApplicationPriority(This,pAppFilename,lMediaType,fPriority)
    944 #define ITTAPI2_put_EventFilter(This,lFilterMask) (This)->lpVtbl->put_EventFilter(This,lFilterMask)
    945 #define ITTAPI2_get_EventFilter(This,plFilterMask) (This)->lpVtbl->get_EventFilter(This,plFilterMask)
    946 #define ITTAPI2_get_Phones(This,pPhones) (This)->lpVtbl->get_Phones(This,pPhones)
    947 #define ITTAPI2_EnumeratePhones(This,ppEnumPhone) (This)->lpVtbl->EnumeratePhones(This,ppEnumPhone)
    948 #define ITTAPI2_CreateEmptyCollectionObject(This,ppCollection) (This)->lpVtbl->CreateEmptyCollectionObject(This,ppCollection)
    949 #endif
    950 #endif
    951   HRESULT WINAPI ITTAPI2_get_Phones_Proxy(ITTAPI2 *This,VARIANT *pPhones);
    952   void __RPC_STUB ITTAPI2_get_Phones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    953   HRESULT WINAPI ITTAPI2_EnumeratePhones_Proxy(ITTAPI2 *This,IEnumPhone **ppEnumPhone);
    954   void __RPC_STUB ITTAPI2_EnumeratePhones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    955   HRESULT WINAPI ITTAPI2_CreateEmptyCollectionObject_Proxy(ITTAPI2 *This,ITCollection2 **ppCollection);
    956   void __RPC_STUB ITTAPI2_CreateEmptyCollectionObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    957 #endif
    958 
    959 #ifndef __ITMediaSupport_INTERFACE_DEFINED__
    960 #define __ITMediaSupport_INTERFACE_DEFINED__
    961   EXTERN_C const IID IID_ITMediaSupport;
    962 #if defined(__cplusplus) && !defined(CINTERFACE)
    963   struct ITMediaSupport : public IDispatch {
    964   public:
    965     virtual HRESULT WINAPI get_MediaTypes(__LONG32 *plMediaTypes) = 0;
    966     virtual HRESULT WINAPI QueryMediaType(__LONG32 lMediaType,VARIANT_BOOL *pfSupport) = 0;
    967   };
    968 #else
    969   typedef struct ITMediaSupportVtbl {
    970     BEGIN_INTERFACE
    971       HRESULT (WINAPI *QueryInterface)(ITMediaSupport *This,REFIID riid,void **ppvObject);
    972       ULONG (WINAPI *AddRef)(ITMediaSupport *This);
    973       ULONG (WINAPI *Release)(ITMediaSupport *This);
    974       HRESULT (WINAPI *GetTypeInfoCount)(ITMediaSupport *This,UINT *pctinfo);
    975       HRESULT (WINAPI *GetTypeInfo)(ITMediaSupport *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
    976       HRESULT (WINAPI *GetIDsOfNames)(ITMediaSupport *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
    977       HRESULT (WINAPI *Invoke)(ITMediaSupport *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
    978       HRESULT (WINAPI *get_MediaTypes)(ITMediaSupport *This,__LONG32 *plMediaTypes);
    979       HRESULT (WINAPI *QueryMediaType)(ITMediaSupport *This,__LONG32 lMediaType,VARIANT_BOOL *pfSupport);
    980     END_INTERFACE
    981   } ITMediaSupportVtbl;
    982   struct ITMediaSupport {
    983     CONST_VTBL struct ITMediaSupportVtbl *lpVtbl;
    984   };
    985 #ifdef COBJMACROS
    986 #define ITMediaSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
    987 #define ITMediaSupport_AddRef(This) (This)->lpVtbl->AddRef(This)
    988 #define ITMediaSupport_Release(This) (This)->lpVtbl->Release(This)
    989 #define ITMediaSupport_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
    990 #define ITMediaSupport_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
    991 #define ITMediaSupport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
    992 #define ITMediaSupport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
    993 #define ITMediaSupport_get_MediaTypes(This,plMediaTypes) (This)->lpVtbl->get_MediaTypes(This,plMediaTypes)
    994 #define ITMediaSupport_QueryMediaType(This,lMediaType,pfSupport) (This)->lpVtbl->QueryMediaType(This,lMediaType,pfSupport)
    995 #endif
    996 #endif
    997   HRESULT WINAPI ITMediaSupport_get_MediaTypes_Proxy(ITMediaSupport *This,__LONG32 *plMediaTypes);
    998   void __RPC_STUB ITMediaSupport_get_MediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
    999   HRESULT WINAPI ITMediaSupport_QueryMediaType_Proxy(ITMediaSupport *This,__LONG32 lMediaType,VARIANT_BOOL *pfSupport);
   1000   void __RPC_STUB ITMediaSupport_QueryMediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1001 #endif
   1002 
   1003 #ifndef __ITPluggableTerminalClassInfo_INTERFACE_DEFINED__
   1004 #define __ITPluggableTerminalClassInfo_INTERFACE_DEFINED__
   1005   EXTERN_C const IID IID_ITPluggableTerminalClassInfo;
   1006 #if defined(__cplusplus) && !defined(CINTERFACE)
   1007   struct ITPluggableTerminalClassInfo : public IDispatch {
   1008   public:
   1009     virtual HRESULT WINAPI get_Name(BSTR *pName) = 0;
   1010     virtual HRESULT WINAPI get_Company(BSTR *pCompany) = 0;
   1011     virtual HRESULT WINAPI get_Version(BSTR *pVersion) = 0;
   1012     virtual HRESULT WINAPI get_TerminalClass(BSTR *pTerminalClass) = 0;
   1013     virtual HRESULT WINAPI get_CLSID(BSTR *pCLSID) = 0;
   1014     virtual HRESULT WINAPI get_Direction(TERMINAL_DIRECTION *pDirection) = 0;
   1015     virtual HRESULT WINAPI get_MediaTypes(__LONG32 *pMediaTypes) = 0;
   1016   };
   1017 #else
   1018   typedef struct ITPluggableTerminalClassInfoVtbl {
   1019     BEGIN_INTERFACE
   1020       HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalClassInfo *This,REFIID riid,void **ppvObject);
   1021       ULONG (WINAPI *AddRef)(ITPluggableTerminalClassInfo *This);
   1022       ULONG (WINAPI *Release)(ITPluggableTerminalClassInfo *This);
   1023       HRESULT (WINAPI *GetTypeInfoCount)(ITPluggableTerminalClassInfo *This,UINT *pctinfo);
   1024       HRESULT (WINAPI *GetTypeInfo)(ITPluggableTerminalClassInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1025       HRESULT (WINAPI *GetIDsOfNames)(ITPluggableTerminalClassInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1026       HRESULT (WINAPI *Invoke)(ITPluggableTerminalClassInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1027       HRESULT (WINAPI *get_Name)(ITPluggableTerminalClassInfo *This,BSTR *pName);
   1028       HRESULT (WINAPI *get_Company)(ITPluggableTerminalClassInfo *This,BSTR *pCompany);
   1029       HRESULT (WINAPI *get_Version)(ITPluggableTerminalClassInfo *This,BSTR *pVersion);
   1030       HRESULT (WINAPI *get_TerminalClass)(ITPluggableTerminalClassInfo *This,BSTR *pTerminalClass);
   1031       HRESULT (WINAPI *get_CLSID)(ITPluggableTerminalClassInfo *This,BSTR *pCLSID);
   1032       HRESULT (WINAPI *get_Direction)(ITPluggableTerminalClassInfo *This,TERMINAL_DIRECTION *pDirection);
   1033       HRESULT (WINAPI *get_MediaTypes)(ITPluggableTerminalClassInfo *This,__LONG32 *pMediaTypes);
   1034     END_INTERFACE
   1035   } ITPluggableTerminalClassInfoVtbl;
   1036   struct ITPluggableTerminalClassInfo {
   1037     CONST_VTBL struct ITPluggableTerminalClassInfoVtbl *lpVtbl;
   1038   };
   1039 #ifdef COBJMACROS
   1040 #define ITPluggableTerminalClassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1041 #define ITPluggableTerminalClassInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   1042 #define ITPluggableTerminalClassInfo_Release(This) (This)->lpVtbl->Release(This)
   1043 #define ITPluggableTerminalClassInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1044 #define ITPluggableTerminalClassInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1045 #define ITPluggableTerminalClassInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1046 #define ITPluggableTerminalClassInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1047 #define ITPluggableTerminalClassInfo_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName)
   1048 #define ITPluggableTerminalClassInfo_get_Company(This,pCompany) (This)->lpVtbl->get_Company(This,pCompany)
   1049 #define ITPluggableTerminalClassInfo_get_Version(This,pVersion) (This)->lpVtbl->get_Version(This,pVersion)
   1050 #define ITPluggableTerminalClassInfo_get_TerminalClass(This,pTerminalClass) (This)->lpVtbl->get_TerminalClass(This,pTerminalClass)
   1051 #define ITPluggableTerminalClassInfo_get_CLSID(This,pCLSID) (This)->lpVtbl->get_CLSID(This,pCLSID)
   1052 #define ITPluggableTerminalClassInfo_get_Direction(This,pDirection) (This)->lpVtbl->get_Direction(This,pDirection)
   1053 #define ITPluggableTerminalClassInfo_get_MediaTypes(This,pMediaTypes) (This)->lpVtbl->get_MediaTypes(This,pMediaTypes)
   1054 #endif
   1055 #endif
   1056   HRESULT WINAPI ITPluggableTerminalClassInfo_get_Name_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pName);
   1057   void __RPC_STUB ITPluggableTerminalClassInfo_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1058   HRESULT WINAPI ITPluggableTerminalClassInfo_get_Company_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pCompany);
   1059   void __RPC_STUB ITPluggableTerminalClassInfo_get_Company_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1060   HRESULT WINAPI ITPluggableTerminalClassInfo_get_Version_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pVersion);
   1061   void __RPC_STUB ITPluggableTerminalClassInfo_get_Version_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1062   HRESULT WINAPI ITPluggableTerminalClassInfo_get_TerminalClass_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pTerminalClass);
   1063   void __RPC_STUB ITPluggableTerminalClassInfo_get_TerminalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1064   HRESULT WINAPI ITPluggableTerminalClassInfo_get_CLSID_Proxy(ITPluggableTerminalClassInfo *This,BSTR *pCLSID);
   1065   void __RPC_STUB ITPluggableTerminalClassInfo_get_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1066   HRESULT WINAPI ITPluggableTerminalClassInfo_get_Direction_Proxy(ITPluggableTerminalClassInfo *This,TERMINAL_DIRECTION *pDirection);
   1067   void __RPC_STUB ITPluggableTerminalClassInfo_get_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1068   HRESULT WINAPI ITPluggableTerminalClassInfo_get_MediaTypes_Proxy(ITPluggableTerminalClassInfo *This,__LONG32 *pMediaTypes);
   1069   void __RPC_STUB ITPluggableTerminalClassInfo_get_MediaTypes_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1070 #endif
   1071 
   1072 #ifndef __ITPluggableTerminalSuperclassInfo_INTERFACE_DEFINED__
   1073 #define __ITPluggableTerminalSuperclassInfo_INTERFACE_DEFINED__
   1074   EXTERN_C const IID IID_ITPluggableTerminalSuperclassInfo;
   1075 #if defined(__cplusplus) && !defined(CINTERFACE)
   1076   struct ITPluggableTerminalSuperclassInfo : public IDispatch {
   1077   public:
   1078     virtual HRESULT WINAPI get_Name(BSTR *pName) = 0;
   1079     virtual HRESULT WINAPI get_CLSID(BSTR *pCLSID) = 0;
   1080   };
   1081 #else
   1082   typedef struct ITPluggableTerminalSuperclassInfoVtbl {
   1083     BEGIN_INTERFACE
   1084       HRESULT (WINAPI *QueryInterface)(ITPluggableTerminalSuperclassInfo *This,REFIID riid,void **ppvObject);
   1085       ULONG (WINAPI *AddRef)(ITPluggableTerminalSuperclassInfo *This);
   1086       ULONG (WINAPI *Release)(ITPluggableTerminalSuperclassInfo *This);
   1087       HRESULT (WINAPI *GetTypeInfoCount)(ITPluggableTerminalSuperclassInfo *This,UINT *pctinfo);
   1088       HRESULT (WINAPI *GetTypeInfo)(ITPluggableTerminalSuperclassInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1089       HRESULT (WINAPI *GetIDsOfNames)(ITPluggableTerminalSuperclassInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1090       HRESULT (WINAPI *Invoke)(ITPluggableTerminalSuperclassInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1091       HRESULT (WINAPI *get_Name)(ITPluggableTerminalSuperclassInfo *This,BSTR *pName);
   1092       HRESULT (WINAPI *get_CLSID)(ITPluggableTerminalSuperclassInfo *This,BSTR *pCLSID);
   1093     END_INTERFACE
   1094   } ITPluggableTerminalSuperclassInfoVtbl;
   1095   struct ITPluggableTerminalSuperclassInfo {
   1096     CONST_VTBL struct ITPluggableTerminalSuperclassInfoVtbl *lpVtbl;
   1097   };
   1098 #ifdef COBJMACROS
   1099 #define ITPluggableTerminalSuperclassInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1100 #define ITPluggableTerminalSuperclassInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   1101 #define ITPluggableTerminalSuperclassInfo_Release(This) (This)->lpVtbl->Release(This)
   1102 #define ITPluggableTerminalSuperclassInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1103 #define ITPluggableTerminalSuperclassInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1104 #define ITPluggableTerminalSuperclassInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1105 #define ITPluggableTerminalSuperclassInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1106 #define ITPluggableTerminalSuperclassInfo_get_Name(This,pName) (This)->lpVtbl->get_Name(This,pName)
   1107 #define ITPluggableTerminalSuperclassInfo_get_CLSID(This,pCLSID) (This)->lpVtbl->get_CLSID(This,pCLSID)
   1108 #endif
   1109 #endif
   1110   HRESULT WINAPI ITPluggableTerminalSuperclassInfo_get_Name_Proxy(ITPluggableTerminalSuperclassInfo *This,BSTR *pName);
   1111   void __RPC_STUB ITPluggableTerminalSuperclassInfo_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1112   HRESULT WINAPI ITPluggableTerminalSuperclassInfo_get_CLSID_Proxy(ITPluggableTerminalSuperclassInfo *This,BSTR *pCLSID);
   1113   void __RPC_STUB ITPluggableTerminalSuperclassInfo_get_CLSID_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1114 #endif
   1115 
   1116 #ifndef __ITTerminalSupport_INTERFACE_DEFINED__
   1117 #define __ITTerminalSupport_INTERFACE_DEFINED__
   1118   EXTERN_C const IID IID_ITTerminalSupport;
   1119 #if defined(__cplusplus) && !defined(CINTERFACE)
   1120   struct ITTerminalSupport : public IDispatch {
   1121   public:
   1122     virtual HRESULT WINAPI get_StaticTerminals(VARIANT *pVariant) = 0;
   1123     virtual HRESULT WINAPI EnumerateStaticTerminals(IEnumTerminal **ppTerminalEnumerator) = 0;
   1124     virtual HRESULT WINAPI get_DynamicTerminalClasses(VARIANT *pVariant) = 0;
   1125     virtual HRESULT WINAPI EnumerateDynamicTerminalClasses(IEnumTerminalClass **ppTerminalClassEnumerator) = 0;
   1126     virtual HRESULT WINAPI CreateTerminal(BSTR pTerminalClass,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal) = 0;
   1127     virtual HRESULT WINAPI GetDefaultStaticTerminal(__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal) = 0;
   1128   };
   1129 #else
   1130   typedef struct ITTerminalSupportVtbl {
   1131     BEGIN_INTERFACE
   1132       HRESULT (WINAPI *QueryInterface)(ITTerminalSupport *This,REFIID riid,void **ppvObject);
   1133       ULONG (WINAPI *AddRef)(ITTerminalSupport *This);
   1134       ULONG (WINAPI *Release)(ITTerminalSupport *This);
   1135       HRESULT (WINAPI *GetTypeInfoCount)(ITTerminalSupport *This,UINT *pctinfo);
   1136       HRESULT (WINAPI *GetTypeInfo)(ITTerminalSupport *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1137       HRESULT (WINAPI *GetIDsOfNames)(ITTerminalSupport *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1138       HRESULT (WINAPI *Invoke)(ITTerminalSupport *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1139       HRESULT (WINAPI *get_StaticTerminals)(ITTerminalSupport *This,VARIANT *pVariant);
   1140       HRESULT (WINAPI *EnumerateStaticTerminals)(ITTerminalSupport *This,IEnumTerminal **ppTerminalEnumerator);
   1141       HRESULT (WINAPI *get_DynamicTerminalClasses)(ITTerminalSupport *This,VARIANT *pVariant);
   1142       HRESULT (WINAPI *EnumerateDynamicTerminalClasses)(ITTerminalSupport *This,IEnumTerminalClass **ppTerminalClassEnumerator);
   1143       HRESULT (WINAPI *CreateTerminal)(ITTerminalSupport *This,BSTR pTerminalClass,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal);
   1144       HRESULT (WINAPI *GetDefaultStaticTerminal)(ITTerminalSupport *This,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal);
   1145     END_INTERFACE
   1146   } ITTerminalSupportVtbl;
   1147   struct ITTerminalSupport {
   1148     CONST_VTBL struct ITTerminalSupportVtbl *lpVtbl;
   1149   };
   1150 #ifdef COBJMACROS
   1151 #define ITTerminalSupport_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1152 #define ITTerminalSupport_AddRef(This) (This)->lpVtbl->AddRef(This)
   1153 #define ITTerminalSupport_Release(This) (This)->lpVtbl->Release(This)
   1154 #define ITTerminalSupport_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1155 #define ITTerminalSupport_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1156 #define ITTerminalSupport_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1157 #define ITTerminalSupport_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1158 #define ITTerminalSupport_get_StaticTerminals(This,pVariant) (This)->lpVtbl->get_StaticTerminals(This,pVariant)
   1159 #define ITTerminalSupport_EnumerateStaticTerminals(This,ppTerminalEnumerator) (This)->lpVtbl->EnumerateStaticTerminals(This,ppTerminalEnumerator)
   1160 #define ITTerminalSupport_get_DynamicTerminalClasses(This,pVariant) (This)->lpVtbl->get_DynamicTerminalClasses(This,pVariant)
   1161 #define ITTerminalSupport_EnumerateDynamicTerminalClasses(This,ppTerminalClassEnumerator) (This)->lpVtbl->EnumerateDynamicTerminalClasses(This,ppTerminalClassEnumerator)
   1162 #define ITTerminalSupport_CreateTerminal(This,pTerminalClass,lMediaType,Direction,ppTerminal) (This)->lpVtbl->CreateTerminal(This,pTerminalClass,lMediaType,Direction,ppTerminal)
   1163 #define ITTerminalSupport_GetDefaultStaticTerminal(This,lMediaType,Direction,ppTerminal) (This)->lpVtbl->GetDefaultStaticTerminal(This,lMediaType,Direction,ppTerminal)
   1164 #endif
   1165 #endif
   1166   HRESULT WINAPI ITTerminalSupport_get_StaticTerminals_Proxy(ITTerminalSupport *This,VARIANT *pVariant);
   1167   void __RPC_STUB ITTerminalSupport_get_StaticTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1168   HRESULT WINAPI ITTerminalSupport_EnumerateStaticTerminals_Proxy(ITTerminalSupport *This,IEnumTerminal **ppTerminalEnumerator);
   1169   void __RPC_STUB ITTerminalSupport_EnumerateStaticTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1170   HRESULT WINAPI ITTerminalSupport_get_DynamicTerminalClasses_Proxy(ITTerminalSupport *This,VARIANT *pVariant);
   1171   void __RPC_STUB ITTerminalSupport_get_DynamicTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1172   HRESULT WINAPI ITTerminalSupport_EnumerateDynamicTerminalClasses_Proxy(ITTerminalSupport *This,IEnumTerminalClass **ppTerminalClassEnumerator);
   1173   void __RPC_STUB ITTerminalSupport_EnumerateDynamicTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1174   HRESULT WINAPI ITTerminalSupport_CreateTerminal_Proxy(ITTerminalSupport *This,BSTR pTerminalClass,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal);
   1175   void __RPC_STUB ITTerminalSupport_CreateTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1176   HRESULT WINAPI ITTerminalSupport_GetDefaultStaticTerminal_Proxy(ITTerminalSupport *This,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal);
   1177   void __RPC_STUB ITTerminalSupport_GetDefaultStaticTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1178 #endif
   1179 
   1180 #ifndef __ITTerminalSupport2_INTERFACE_DEFINED__
   1181 #define __ITTerminalSupport2_INTERFACE_DEFINED__
   1182   EXTERN_C const IID IID_ITTerminalSupport2;
   1183 #if defined(__cplusplus) && !defined(CINTERFACE)
   1184   struct ITTerminalSupport2 : public ITTerminalSupport {
   1185   public:
   1186     virtual HRESULT WINAPI get_PluggableSuperclasses(VARIANT *pVariant) = 0;
   1187     virtual HRESULT WINAPI EnumeratePluggableSuperclasses(IEnumPluggableSuperclassInfo **ppSuperclassEnumerator) = 0;
   1188     virtual HRESULT WINAPI get_PluggableTerminalClasses(BSTR bstrTerminalSuperclass,__LONG32 lMediaType,VARIANT *pVariant) = 0;
   1189     virtual HRESULT WINAPI EnumeratePluggableTerminalClasses(CLSID iidTerminalSuperclass,__LONG32 lMediaType,IEnumPluggableTerminalClassInfo **ppClassEnumerator) = 0;
   1190   };
   1191 #else
   1192   typedef struct ITTerminalSupport2Vtbl {
   1193     BEGIN_INTERFACE
   1194       HRESULT (WINAPI *QueryInterface)(ITTerminalSupport2 *This,REFIID riid,void **ppvObject);
   1195       ULONG (WINAPI *AddRef)(ITTerminalSupport2 *This);
   1196       ULONG (WINAPI *Release)(ITTerminalSupport2 *This);
   1197       HRESULT (WINAPI *GetTypeInfoCount)(ITTerminalSupport2 *This,UINT *pctinfo);
   1198       HRESULT (WINAPI *GetTypeInfo)(ITTerminalSupport2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1199       HRESULT (WINAPI *GetIDsOfNames)(ITTerminalSupport2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1200       HRESULT (WINAPI *Invoke)(ITTerminalSupport2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1201       HRESULT (WINAPI *get_StaticTerminals)(ITTerminalSupport2 *This,VARIANT *pVariant);
   1202       HRESULT (WINAPI *EnumerateStaticTerminals)(ITTerminalSupport2 *This,IEnumTerminal **ppTerminalEnumerator);
   1203       HRESULT (WINAPI *get_DynamicTerminalClasses)(ITTerminalSupport2 *This,VARIANT *pVariant);
   1204       HRESULT (WINAPI *EnumerateDynamicTerminalClasses)(ITTerminalSupport2 *This,IEnumTerminalClass **ppTerminalClassEnumerator);
   1205       HRESULT (WINAPI *CreateTerminal)(ITTerminalSupport2 *This,BSTR pTerminalClass,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal);
   1206       HRESULT (WINAPI *GetDefaultStaticTerminal)(ITTerminalSupport2 *This,__LONG32 lMediaType,TERMINAL_DIRECTION Direction,ITTerminal **ppTerminal);
   1207       HRESULT (WINAPI *get_PluggableSuperclasses)(ITTerminalSupport2 *This,VARIANT *pVariant);
   1208       HRESULT (WINAPI *EnumeratePluggableSuperclasses)(ITTerminalSupport2 *This,IEnumPluggableSuperclassInfo **ppSuperclassEnumerator);
   1209       HRESULT (WINAPI *get_PluggableTerminalClasses)(ITTerminalSupport2 *This,BSTR bstrTerminalSuperclass,__LONG32 lMediaType,VARIANT *pVariant);
   1210       HRESULT (WINAPI *EnumeratePluggableTerminalClasses)(ITTerminalSupport2 *This,CLSID iidTerminalSuperclass,__LONG32 lMediaType,IEnumPluggableTerminalClassInfo **ppClassEnumerator);
   1211     END_INTERFACE
   1212   } ITTerminalSupport2Vtbl;
   1213   struct ITTerminalSupport2 {
   1214     CONST_VTBL struct ITTerminalSupport2Vtbl *lpVtbl;
   1215   };
   1216 #ifdef COBJMACROS
   1217 #define ITTerminalSupport2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1218 #define ITTerminalSupport2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1219 #define ITTerminalSupport2_Release(This) (This)->lpVtbl->Release(This)
   1220 #define ITTerminalSupport2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1221 #define ITTerminalSupport2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1222 #define ITTerminalSupport2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1223 #define ITTerminalSupport2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1224 #define ITTerminalSupport2_get_StaticTerminals(This,pVariant) (This)->lpVtbl->get_StaticTerminals(This,pVariant)
   1225 #define ITTerminalSupport2_EnumerateStaticTerminals(This,ppTerminalEnumerator) (This)->lpVtbl->EnumerateStaticTerminals(This,ppTerminalEnumerator)
   1226 #define ITTerminalSupport2_get_DynamicTerminalClasses(This,pVariant) (This)->lpVtbl->get_DynamicTerminalClasses(This,pVariant)
   1227 #define ITTerminalSupport2_EnumerateDynamicTerminalClasses(This,ppTerminalClassEnumerator) (This)->lpVtbl->EnumerateDynamicTerminalClasses(This,ppTerminalClassEnumerator)
   1228 #define ITTerminalSupport2_CreateTerminal(This,pTerminalClass,lMediaType,Direction,ppTerminal) (This)->lpVtbl->CreateTerminal(This,pTerminalClass,lMediaType,Direction,ppTerminal)
   1229 #define ITTerminalSupport2_GetDefaultStaticTerminal(This,lMediaType,Direction,ppTerminal) (This)->lpVtbl->GetDefaultStaticTerminal(This,lMediaType,Direction,ppTerminal)
   1230 #define ITTerminalSupport2_get_PluggableSuperclasses(This,pVariant) (This)->lpVtbl->get_PluggableSuperclasses(This,pVariant)
   1231 #define ITTerminalSupport2_EnumeratePluggableSuperclasses(This,ppSuperclassEnumerator) (This)->lpVtbl->EnumeratePluggableSuperclasses(This,ppSuperclassEnumerator)
   1232 #define ITTerminalSupport2_get_PluggableTerminalClasses(This,bstrTerminalSuperclass,lMediaType,pVariant) (This)->lpVtbl->get_PluggableTerminalClasses(This,bstrTerminalSuperclass,lMediaType,pVariant)
   1233 #define ITTerminalSupport2_EnumeratePluggableTerminalClasses(This,iidTerminalSuperclass,lMediaType,ppClassEnumerator) (This)->lpVtbl->EnumeratePluggableTerminalClasses(This,iidTerminalSuperclass,lMediaType,ppClassEnumerator)
   1234 #endif
   1235 #endif
   1236   HRESULT WINAPI ITTerminalSupport2_get_PluggableSuperclasses_Proxy(ITTerminalSupport2 *This,VARIANT *pVariant);
   1237   void __RPC_STUB ITTerminalSupport2_get_PluggableSuperclasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1238   HRESULT WINAPI ITTerminalSupport2_EnumeratePluggableSuperclasses_Proxy(ITTerminalSupport2 *This,IEnumPluggableSuperclassInfo **ppSuperclassEnumerator);
   1239   void __RPC_STUB ITTerminalSupport2_EnumeratePluggableSuperclasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1240   HRESULT WINAPI ITTerminalSupport2_get_PluggableTerminalClasses_Proxy(ITTerminalSupport2 *This,BSTR bstrTerminalSuperclass,__LONG32 lMediaType,VARIANT *pVariant);
   1241   void __RPC_STUB ITTerminalSupport2_get_PluggableTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1242   HRESULT WINAPI ITTerminalSupport2_EnumeratePluggableTerminalClasses_Proxy(ITTerminalSupport2 *This,CLSID iidTerminalSuperclass,__LONG32 lMediaType,IEnumPluggableTerminalClassInfo **ppClassEnumerator);
   1243   void __RPC_STUB ITTerminalSupport2_EnumeratePluggableTerminalClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1244 #endif
   1245 
   1246 #ifndef __ITAddress_INTERFACE_DEFINED__
   1247 #define __ITAddress_INTERFACE_DEFINED__
   1248   EXTERN_C const IID IID_ITAddress;
   1249 #if defined(__cplusplus) && !defined(CINTERFACE)
   1250   struct ITAddress : public IDispatch {
   1251   public:
   1252     virtual HRESULT WINAPI get_State(ADDRESS_STATE *pAddressState) = 0;
   1253     virtual HRESULT WINAPI get_AddressName(BSTR *ppName) = 0;
   1254     virtual HRESULT WINAPI get_ServiceProviderName(BSTR *ppName) = 0;
   1255     virtual HRESULT WINAPI get_TAPIObject(ITTAPI **ppTapiObject) = 0;
   1256     virtual HRESULT WINAPI CreateCall(BSTR pDestAddress,__LONG32 lAddressType,__LONG32 lMediaTypes,ITBasicCallControl **ppCall) = 0;
   1257     virtual HRESULT WINAPI get_Calls(VARIANT *pVariant) = 0;
   1258     virtual HRESULT WINAPI EnumerateCalls(IEnumCall **ppCallEnum) = 0;
   1259     virtual HRESULT WINAPI get_DialableAddress(BSTR *pDialableAddress) = 0;
   1260     virtual HRESULT WINAPI CreateForwardInfoObject(ITForwardInformation **ppForwardInfo) = 0;
   1261     virtual HRESULT WINAPI Forward(ITForwardInformation *pForwardInfo,ITBasicCallControl *pCall) = 0;
   1262     virtual HRESULT WINAPI get_CurrentForwardInfo(ITForwardInformation **ppForwardInfo) = 0;
   1263     virtual HRESULT WINAPI put_MessageWaiting(VARIANT_BOOL fMessageWaiting) = 0;
   1264     virtual HRESULT WINAPI get_MessageWaiting(VARIANT_BOOL *pfMessageWaiting) = 0;
   1265     virtual HRESULT WINAPI put_DoNotDisturb(VARIANT_BOOL fDoNotDisturb) = 0;
   1266     virtual HRESULT WINAPI get_DoNotDisturb(VARIANT_BOOL *pfDoNotDisturb) = 0;
   1267   };
   1268 #else
   1269   typedef struct ITAddressVtbl {
   1270     BEGIN_INTERFACE
   1271       HRESULT (WINAPI *QueryInterface)(ITAddress *This,REFIID riid,void **ppvObject);
   1272       ULONG (WINAPI *AddRef)(ITAddress *This);
   1273       ULONG (WINAPI *Release)(ITAddress *This);
   1274       HRESULT (WINAPI *GetTypeInfoCount)(ITAddress *This,UINT *pctinfo);
   1275       HRESULT (WINAPI *GetTypeInfo)(ITAddress *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1276       HRESULT (WINAPI *GetIDsOfNames)(ITAddress *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1277       HRESULT (WINAPI *Invoke)(ITAddress *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1278       HRESULT (WINAPI *get_State)(ITAddress *This,ADDRESS_STATE *pAddressState);
   1279       HRESULT (WINAPI *get_AddressName)(ITAddress *This,BSTR *ppName);
   1280       HRESULT (WINAPI *get_ServiceProviderName)(ITAddress *This,BSTR *ppName);
   1281       HRESULT (WINAPI *get_TAPIObject)(ITAddress *This,ITTAPI **ppTapiObject);
   1282       HRESULT (WINAPI *CreateCall)(ITAddress *This,BSTR pDestAddress,__LONG32 lAddressType,__LONG32 lMediaTypes,ITBasicCallControl **ppCall);
   1283       HRESULT (WINAPI *get_Calls)(ITAddress *This,VARIANT *pVariant);
   1284       HRESULT (WINAPI *EnumerateCalls)(ITAddress *This,IEnumCall **ppCallEnum);
   1285       HRESULT (WINAPI *get_DialableAddress)(ITAddress *This,BSTR *pDialableAddress);
   1286       HRESULT (WINAPI *CreateForwardInfoObject)(ITAddress *This,ITForwardInformation **ppForwardInfo);
   1287       HRESULT (WINAPI *Forward)(ITAddress *This,ITForwardInformation *pForwardInfo,ITBasicCallControl *pCall);
   1288       HRESULT (WINAPI *get_CurrentForwardInfo)(ITAddress *This,ITForwardInformation **ppForwardInfo);
   1289       HRESULT (WINAPI *put_MessageWaiting)(ITAddress *This,VARIANT_BOOL fMessageWaiting);
   1290       HRESULT (WINAPI *get_MessageWaiting)(ITAddress *This,VARIANT_BOOL *pfMessageWaiting);
   1291       HRESULT (WINAPI *put_DoNotDisturb)(ITAddress *This,VARIANT_BOOL fDoNotDisturb);
   1292       HRESULT (WINAPI *get_DoNotDisturb)(ITAddress *This,VARIANT_BOOL *pfDoNotDisturb);
   1293     END_INTERFACE
   1294   } ITAddressVtbl;
   1295   struct ITAddress {
   1296     CONST_VTBL struct ITAddressVtbl *lpVtbl;
   1297   };
   1298 #ifdef COBJMACROS
   1299 #define ITAddress_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1300 #define ITAddress_AddRef(This) (This)->lpVtbl->AddRef(This)
   1301 #define ITAddress_Release(This) (This)->lpVtbl->Release(This)
   1302 #define ITAddress_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1303 #define ITAddress_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1304 #define ITAddress_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1305 #define ITAddress_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1306 #define ITAddress_get_State(This,pAddressState) (This)->lpVtbl->get_State(This,pAddressState)
   1307 #define ITAddress_get_AddressName(This,ppName) (This)->lpVtbl->get_AddressName(This,ppName)
   1308 #define ITAddress_get_ServiceProviderName(This,ppName) (This)->lpVtbl->get_ServiceProviderName(This,ppName)
   1309 #define ITAddress_get_TAPIObject(This,ppTapiObject) (This)->lpVtbl->get_TAPIObject(This,ppTapiObject)
   1310 #define ITAddress_CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall) (This)->lpVtbl->CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall)
   1311 #define ITAddress_get_Calls(This,pVariant) (This)->lpVtbl->get_Calls(This,pVariant)
   1312 #define ITAddress_EnumerateCalls(This,ppCallEnum) (This)->lpVtbl->EnumerateCalls(This,ppCallEnum)
   1313 #define ITAddress_get_DialableAddress(This,pDialableAddress) (This)->lpVtbl->get_DialableAddress(This,pDialableAddress)
   1314 #define ITAddress_CreateForwardInfoObject(This,ppForwardInfo) (This)->lpVtbl->CreateForwardInfoObject(This,ppForwardInfo)
   1315 #define ITAddress_Forward(This,pForwardInfo,pCall) (This)->lpVtbl->Forward(This,pForwardInfo,pCall)
   1316 #define ITAddress_get_CurrentForwardInfo(This,ppForwardInfo) (This)->lpVtbl->get_CurrentForwardInfo(This,ppForwardInfo)
   1317 #define ITAddress_put_MessageWaiting(This,fMessageWaiting) (This)->lpVtbl->put_MessageWaiting(This,fMessageWaiting)
   1318 #define ITAddress_get_MessageWaiting(This,pfMessageWaiting) (This)->lpVtbl->get_MessageWaiting(This,pfMessageWaiting)
   1319 #define ITAddress_put_DoNotDisturb(This,fDoNotDisturb) (This)->lpVtbl->put_DoNotDisturb(This,fDoNotDisturb)
   1320 #define ITAddress_get_DoNotDisturb(This,pfDoNotDisturb) (This)->lpVtbl->get_DoNotDisturb(This,pfDoNotDisturb)
   1321 #endif
   1322 #endif
   1323   HRESULT WINAPI ITAddress_get_State_Proxy(ITAddress *This,ADDRESS_STATE *pAddressState);
   1324   void __RPC_STUB ITAddress_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1325   HRESULT WINAPI ITAddress_get_AddressName_Proxy(ITAddress *This,BSTR *ppName);
   1326   void __RPC_STUB ITAddress_get_AddressName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1327   HRESULT WINAPI ITAddress_get_ServiceProviderName_Proxy(ITAddress *This,BSTR *ppName);
   1328   void __RPC_STUB ITAddress_get_ServiceProviderName_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1329   HRESULT WINAPI ITAddress_get_TAPIObject_Proxy(ITAddress *This,ITTAPI **ppTapiObject);
   1330   void __RPC_STUB ITAddress_get_TAPIObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1331   HRESULT WINAPI ITAddress_CreateCall_Proxy(ITAddress *This,BSTR pDestAddress,__LONG32 lAddressType,__LONG32 lMediaTypes,ITBasicCallControl **ppCall);
   1332   void __RPC_STUB ITAddress_CreateCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1333   HRESULT WINAPI ITAddress_get_Calls_Proxy(ITAddress *This,VARIANT *pVariant);
   1334   void __RPC_STUB ITAddress_get_Calls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1335   HRESULT WINAPI ITAddress_EnumerateCalls_Proxy(ITAddress *This,IEnumCall **ppCallEnum);
   1336   void __RPC_STUB ITAddress_EnumerateCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1337   HRESULT WINAPI ITAddress_get_DialableAddress_Proxy(ITAddress *This,BSTR *pDialableAddress);
   1338   void __RPC_STUB ITAddress_get_DialableAddress_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1339   HRESULT WINAPI ITAddress_CreateForwardInfoObject_Proxy(ITAddress *This,ITForwardInformation **ppForwardInfo);
   1340   void __RPC_STUB ITAddress_CreateForwardInfoObject_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1341   HRESULT WINAPI ITAddress_Forward_Proxy(ITAddress *This,ITForwardInformation *pForwardInfo,ITBasicCallControl *pCall);
   1342   void __RPC_STUB ITAddress_Forward_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1343   HRESULT WINAPI ITAddress_get_CurrentForwardInfo_Proxy(ITAddress *This,ITForwardInformation **ppForwardInfo);
   1344   void __RPC_STUB ITAddress_get_CurrentForwardInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1345   HRESULT WINAPI ITAddress_put_MessageWaiting_Proxy(ITAddress *This,VARIANT_BOOL fMessageWaiting);
   1346   void __RPC_STUB ITAddress_put_MessageWaiting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1347   HRESULT WINAPI ITAddress_get_MessageWaiting_Proxy(ITAddress *This,VARIANT_BOOL *pfMessageWaiting);
   1348   void __RPC_STUB ITAddress_get_MessageWaiting_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1349   HRESULT WINAPI ITAddress_put_DoNotDisturb_Proxy(ITAddress *This,VARIANT_BOOL fDoNotDisturb);
   1350   void __RPC_STUB ITAddress_put_DoNotDisturb_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1351   HRESULT WINAPI ITAddress_get_DoNotDisturb_Proxy(ITAddress *This,VARIANT_BOOL *pfDoNotDisturb);
   1352   void __RPC_STUB ITAddress_get_DoNotDisturb_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1353 #endif
   1354 
   1355 #ifndef __ITAddress2_INTERFACE_DEFINED__
   1356 #define __ITAddress2_INTERFACE_DEFINED__
   1357   EXTERN_C const IID IID_ITAddress2;
   1358 #if defined(__cplusplus) && !defined(CINTERFACE)
   1359   struct ITAddress2 : public ITAddress {
   1360   public:
   1361     virtual HRESULT WINAPI get_Phones(VARIANT *pPhones) = 0;
   1362     virtual HRESULT WINAPI EnumeratePhones(IEnumPhone **ppEnumPhone) = 0;
   1363     virtual HRESULT WINAPI GetPhoneFromTerminal(ITTerminal *pTerminal,ITPhone **ppPhone) = 0;
   1364     virtual HRESULT WINAPI get_PreferredPhones(VARIANT *pPhones) = 0;
   1365     virtual HRESULT WINAPI EnumeratePreferredPhones(IEnumPhone **ppEnumPhone) = 0;
   1366     virtual HRESULT WINAPI get_EventFilter(TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable) = 0;
   1367     virtual HRESULT WINAPI put_EventFilter(TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable) = 0;
   1368     virtual HRESULT WINAPI DeviceSpecific(ITCallInfo *pCall,BYTE *pParams,DWORD dwSize) = 0;
   1369     virtual HRESULT WINAPI DeviceSpecificVariant(ITCallInfo *pCall,VARIANT varDevSpecificByteArray) = 0;
   1370     virtual HRESULT WINAPI NegotiateExtVersion(__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion) = 0;
   1371   };
   1372 #else
   1373   typedef struct ITAddress2Vtbl {
   1374     BEGIN_INTERFACE
   1375       HRESULT (WINAPI *QueryInterface)(ITAddress2 *This,REFIID riid,void **ppvObject);
   1376       ULONG (WINAPI *AddRef)(ITAddress2 *This);
   1377       ULONG (WINAPI *Release)(ITAddress2 *This);
   1378       HRESULT (WINAPI *GetTypeInfoCount)(ITAddress2 *This,UINT *pctinfo);
   1379       HRESULT (WINAPI *GetTypeInfo)(ITAddress2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1380       HRESULT (WINAPI *GetIDsOfNames)(ITAddress2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1381       HRESULT (WINAPI *Invoke)(ITAddress2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1382       HRESULT (WINAPI *get_State)(ITAddress2 *This,ADDRESS_STATE *pAddressState);
   1383       HRESULT (WINAPI *get_AddressName)(ITAddress2 *This,BSTR *ppName);
   1384       HRESULT (WINAPI *get_ServiceProviderName)(ITAddress2 *This,BSTR *ppName);
   1385       HRESULT (WINAPI *get_TAPIObject)(ITAddress2 *This,ITTAPI **ppTapiObject);
   1386       HRESULT (WINAPI *CreateCall)(ITAddress2 *This,BSTR pDestAddress,__LONG32 lAddressType,__LONG32 lMediaTypes,ITBasicCallControl **ppCall);
   1387       HRESULT (WINAPI *get_Calls)(ITAddress2 *This,VARIANT *pVariant);
   1388       HRESULT (WINAPI *EnumerateCalls)(ITAddress2 *This,IEnumCall **ppCallEnum);
   1389       HRESULT (WINAPI *get_DialableAddress)(ITAddress2 *This,BSTR *pDialableAddress);
   1390       HRESULT (WINAPI *CreateForwardInfoObject)(ITAddress2 *This,ITForwardInformation **ppForwardInfo);
   1391       HRESULT (WINAPI *Forward)(ITAddress2 *This,ITForwardInformation *pForwardInfo,ITBasicCallControl *pCall);
   1392       HRESULT (WINAPI *get_CurrentForwardInfo)(ITAddress2 *This,ITForwardInformation **ppForwardInfo);
   1393       HRESULT (WINAPI *put_MessageWaiting)(ITAddress2 *This,VARIANT_BOOL fMessageWaiting);
   1394       HRESULT (WINAPI *get_MessageWaiting)(ITAddress2 *This,VARIANT_BOOL *pfMessageWaiting);
   1395       HRESULT (WINAPI *put_DoNotDisturb)(ITAddress2 *This,VARIANT_BOOL fDoNotDisturb);
   1396       HRESULT (WINAPI *get_DoNotDisturb)(ITAddress2 *This,VARIANT_BOOL *pfDoNotDisturb);
   1397       HRESULT (WINAPI *get_Phones)(ITAddress2 *This,VARIANT *pPhones);
   1398       HRESULT (WINAPI *EnumeratePhones)(ITAddress2 *This,IEnumPhone **ppEnumPhone);
   1399       HRESULT (WINAPI *GetPhoneFromTerminal)(ITAddress2 *This,ITTerminal *pTerminal,ITPhone **ppPhone);
   1400       HRESULT (WINAPI *get_PreferredPhones)(ITAddress2 *This,VARIANT *pPhones);
   1401       HRESULT (WINAPI *EnumeratePreferredPhones)(ITAddress2 *This,IEnumPhone **ppEnumPhone);
   1402       HRESULT (WINAPI *get_EventFilter)(ITAddress2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable);
   1403       HRESULT (WINAPI *put_EventFilter)(ITAddress2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable);
   1404       HRESULT (WINAPI *DeviceSpecific)(ITAddress2 *This,ITCallInfo *pCall,BYTE *pParams,DWORD dwSize);
   1405       HRESULT (WINAPI *DeviceSpecificVariant)(ITAddress2 *This,ITCallInfo *pCall,VARIANT varDevSpecificByteArray);
   1406       HRESULT (WINAPI *NegotiateExtVersion)(ITAddress2 *This,__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion);
   1407     END_INTERFACE
   1408   } ITAddress2Vtbl;
   1409   struct ITAddress2 {
   1410     CONST_VTBL struct ITAddress2Vtbl *lpVtbl;
   1411   };
   1412 #ifdef COBJMACROS
   1413 #define ITAddress2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1414 #define ITAddress2_AddRef(This) (This)->lpVtbl->AddRef(This)
   1415 #define ITAddress2_Release(This) (This)->lpVtbl->Release(This)
   1416 #define ITAddress2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1417 #define ITAddress2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1418 #define ITAddress2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1419 #define ITAddress2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1420 #define ITAddress2_get_State(This,pAddressState) (This)->lpVtbl->get_State(This,pAddressState)
   1421 #define ITAddress2_get_AddressName(This,ppName) (This)->lpVtbl->get_AddressName(This,ppName)
   1422 #define ITAddress2_get_ServiceProviderName(This,ppName) (This)->lpVtbl->get_ServiceProviderName(This,ppName)
   1423 #define ITAddress2_get_TAPIObject(This,ppTapiObject) (This)->lpVtbl->get_TAPIObject(This,ppTapiObject)
   1424 #define ITAddress2_CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall) (This)->lpVtbl->CreateCall(This,pDestAddress,lAddressType,lMediaTypes,ppCall)
   1425 #define ITAddress2_get_Calls(This,pVariant) (This)->lpVtbl->get_Calls(This,pVariant)
   1426 #define ITAddress2_EnumerateCalls(This,ppCallEnum) (This)->lpVtbl->EnumerateCalls(This,ppCallEnum)
   1427 #define ITAddress2_get_DialableAddress(This,pDialableAddress) (This)->lpVtbl->get_DialableAddress(This,pDialableAddress)
   1428 #define ITAddress2_CreateForwardInfoObject(This,ppForwardInfo) (This)->lpVtbl->CreateForwardInfoObject(This,ppForwardInfo)
   1429 #define ITAddress2_Forward(This,pForwardInfo,pCall) (This)->lpVtbl->Forward(This,pForwardInfo,pCall)
   1430 #define ITAddress2_get_CurrentForwardInfo(This,ppForwardInfo) (This)->lpVtbl->get_CurrentForwardInfo(This,ppForwardInfo)
   1431 #define ITAddress2_put_MessageWaiting(This,fMessageWaiting) (This)->lpVtbl->put_MessageWaiting(This,fMessageWaiting)
   1432 #define ITAddress2_get_MessageWaiting(This,pfMessageWaiting) (This)->lpVtbl->get_MessageWaiting(This,pfMessageWaiting)
   1433 #define ITAddress2_put_DoNotDisturb(This,fDoNotDisturb) (This)->lpVtbl->put_DoNotDisturb(This,fDoNotDisturb)
   1434 #define ITAddress2_get_DoNotDisturb(This,pfDoNotDisturb) (This)->lpVtbl->get_DoNotDisturb(This,pfDoNotDisturb)
   1435 #define ITAddress2_get_Phones(This,pPhones) (This)->lpVtbl->get_Phones(This,pPhones)
   1436 #define ITAddress2_EnumeratePhones(This,ppEnumPhone) (This)->lpVtbl->EnumeratePhones(This,ppEnumPhone)
   1437 #define ITAddress2_GetPhoneFromTerminal(This,pTerminal,ppPhone) (This)->lpVtbl->GetPhoneFromTerminal(This,pTerminal,ppPhone)
   1438 #define ITAddress2_get_PreferredPhones(This,pPhones) (This)->lpVtbl->get_PreferredPhones(This,pPhones)
   1439 #define ITAddress2_EnumeratePreferredPhones(This,ppEnumPhone) (This)->lpVtbl->EnumeratePreferredPhones(This,ppEnumPhone)
   1440 #define ITAddress2_get_EventFilter(This,TapiEvent,lSubEvent,pEnable) (This)->lpVtbl->get_EventFilter(This,TapiEvent,lSubEvent,pEnable)
   1441 #define ITAddress2_put_EventFilter(This,TapiEvent,lSubEvent,bEnable) (This)->lpVtbl->put_EventFilter(This,TapiEvent,lSubEvent,bEnable)
   1442 #define ITAddress2_DeviceSpecific(This,pCall,pParams,dwSize) (This)->lpVtbl->DeviceSpecific(This,pCall,pParams,dwSize)
   1443 #define ITAddress2_DeviceSpecificVariant(This,pCall,varDevSpecificByteArray) (This)->lpVtbl->DeviceSpecificVariant(This,pCall,varDevSpecificByteArray)
   1444 #define ITAddress2_NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion) (This)->lpVtbl->NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion)
   1445 #endif
   1446 #endif
   1447   HRESULT WINAPI ITAddress2_get_Phones_Proxy(ITAddress2 *This,VARIANT *pPhones);
   1448   void __RPC_STUB ITAddress2_get_Phones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1449   HRESULT WINAPI ITAddress2_EnumeratePhones_Proxy(ITAddress2 *This,IEnumPhone **ppEnumPhone);
   1450   void __RPC_STUB ITAddress2_EnumeratePhones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1451   HRESULT WINAPI ITAddress2_GetPhoneFromTerminal_Proxy(ITAddress2 *This,ITTerminal *pTerminal,ITPhone **ppPhone);
   1452   void __RPC_STUB ITAddress2_GetPhoneFromTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1453   HRESULT WINAPI ITAddress2_get_PreferredPhones_Proxy(ITAddress2 *This,VARIANT *pPhones);
   1454   void __RPC_STUB ITAddress2_get_PreferredPhones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1455   HRESULT WINAPI ITAddress2_EnumeratePreferredPhones_Proxy(ITAddress2 *This,IEnumPhone **ppEnumPhone);
   1456   void __RPC_STUB ITAddress2_EnumeratePreferredPhones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1457   HRESULT WINAPI ITAddress2_get_EventFilter_Proxy(ITAddress2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable);
   1458   void __RPC_STUB ITAddress2_get_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1459   HRESULT WINAPI ITAddress2_put_EventFilter_Proxy(ITAddress2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable);
   1460   void __RPC_STUB ITAddress2_put_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1461   HRESULT WINAPI ITAddress2_DeviceSpecific_Proxy(ITAddress2 *This,ITCallInfo *pCall,BYTE *pParams,DWORD dwSize);
   1462   void __RPC_STUB ITAddress2_DeviceSpecific_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1463   HRESULT WINAPI ITAddress2_DeviceSpecificVariant_Proxy(ITAddress2 *This,ITCallInfo *pCall,VARIANT varDevSpecificByteArray);
   1464   void __RPC_STUB ITAddress2_DeviceSpecificVariant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1465   HRESULT WINAPI ITAddress2_NegotiateExtVersion_Proxy(ITAddress2 *This,__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion);
   1466   void __RPC_STUB ITAddress2_NegotiateExtVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1467 #endif
   1468 
   1469 #ifndef __ITAddressCapabilities_INTERFACE_DEFINED__
   1470 #define __ITAddressCapabilities_INTERFACE_DEFINED__
   1471   EXTERN_C const IID IID_ITAddressCapabilities;
   1472 #if defined(__cplusplus) && !defined(CINTERFACE)
   1473   struct ITAddressCapabilities : public IDispatch {
   1474   public:
   1475     virtual HRESULT WINAPI get_AddressCapability(ADDRESS_CAPABILITY AddressCap,__LONG32 *plCapability) = 0;
   1476     virtual HRESULT WINAPI get_AddressCapabilityString(ADDRESS_CAPABILITY_STRING AddressCapString,BSTR *ppCapabilityString) = 0;
   1477     virtual HRESULT WINAPI get_CallTreatments(VARIANT *pVariant) = 0;
   1478     virtual HRESULT WINAPI EnumerateCallTreatments(IEnumBstr **ppEnumCallTreatment) = 0;
   1479     virtual HRESULT WINAPI get_CompletionMessages(VARIANT *pVariant) = 0;
   1480     virtual HRESULT WINAPI EnumerateCompletionMessages(IEnumBstr **ppEnumCompletionMessage) = 0;
   1481     virtual HRESULT WINAPI get_DeviceClasses(VARIANT *pVariant) = 0;
   1482     virtual HRESULT WINAPI EnumerateDeviceClasses(IEnumBstr **ppEnumDeviceClass) = 0;
   1483   };
   1484 #else
   1485   typedef struct ITAddressCapabilitiesVtbl {
   1486     BEGIN_INTERFACE
   1487       HRESULT (WINAPI *QueryInterface)(ITAddressCapabilities *This,REFIID riid,void **ppvObject);
   1488       ULONG (WINAPI *AddRef)(ITAddressCapabilities *This);
   1489       ULONG (WINAPI *Release)(ITAddressCapabilities *This);
   1490       HRESULT (WINAPI *GetTypeInfoCount)(ITAddressCapabilities *This,UINT *pctinfo);
   1491       HRESULT (WINAPI *GetTypeInfo)(ITAddressCapabilities *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1492       HRESULT (WINAPI *GetIDsOfNames)(ITAddressCapabilities *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1493       HRESULT (WINAPI *Invoke)(ITAddressCapabilities *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1494       HRESULT (WINAPI *get_AddressCapability)(ITAddressCapabilities *This,ADDRESS_CAPABILITY AddressCap,__LONG32 *plCapability);
   1495       HRESULT (WINAPI *get_AddressCapabilityString)(ITAddressCapabilities *This,ADDRESS_CAPABILITY_STRING AddressCapString,BSTR *ppCapabilityString);
   1496       HRESULT (WINAPI *get_CallTreatments)(ITAddressCapabilities *This,VARIANT *pVariant);
   1497       HRESULT (WINAPI *EnumerateCallTreatments)(ITAddressCapabilities *This,IEnumBstr **ppEnumCallTreatment);
   1498       HRESULT (WINAPI *get_CompletionMessages)(ITAddressCapabilities *This,VARIANT *pVariant);
   1499       HRESULT (WINAPI *EnumerateCompletionMessages)(ITAddressCapabilities *This,IEnumBstr **ppEnumCompletionMessage);
   1500       HRESULT (WINAPI *get_DeviceClasses)(ITAddressCapabilities *This,VARIANT *pVariant);
   1501       HRESULT (WINAPI *EnumerateDeviceClasses)(ITAddressCapabilities *This,IEnumBstr **ppEnumDeviceClass);
   1502     END_INTERFACE
   1503   } ITAddressCapabilitiesVtbl;
   1504   struct ITAddressCapabilities {
   1505     CONST_VTBL struct ITAddressCapabilitiesVtbl *lpVtbl;
   1506   };
   1507 #ifdef COBJMACROS
   1508 #define ITAddressCapabilities_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1509 #define ITAddressCapabilities_AddRef(This) (This)->lpVtbl->AddRef(This)
   1510 #define ITAddressCapabilities_Release(This) (This)->lpVtbl->Release(This)
   1511 #define ITAddressCapabilities_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1512 #define ITAddressCapabilities_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1513 #define ITAddressCapabilities_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1514 #define ITAddressCapabilities_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1515 #define ITAddressCapabilities_get_AddressCapability(This,AddressCap,plCapability) (This)->lpVtbl->get_AddressCapability(This,AddressCap,plCapability)
   1516 #define ITAddressCapabilities_get_AddressCapabilityString(This,AddressCapString,ppCapabilityString) (This)->lpVtbl->get_AddressCapabilityString(This,AddressCapString,ppCapabilityString)
   1517 #define ITAddressCapabilities_get_CallTreatments(This,pVariant) (This)->lpVtbl->get_CallTreatments(This,pVariant)
   1518 #define ITAddressCapabilities_EnumerateCallTreatments(This,ppEnumCallTreatment) (This)->lpVtbl->EnumerateCallTreatments(This,ppEnumCallTreatment)
   1519 #define ITAddressCapabilities_get_CompletionMessages(This,pVariant) (This)->lpVtbl->get_CompletionMessages(This,pVariant)
   1520 #define ITAddressCapabilities_EnumerateCompletionMessages(This,ppEnumCompletionMessage) (This)->lpVtbl->EnumerateCompletionMessages(This,ppEnumCompletionMessage)
   1521 #define ITAddressCapabilities_get_DeviceClasses(This,pVariant) (This)->lpVtbl->get_DeviceClasses(This,pVariant)
   1522 #define ITAddressCapabilities_EnumerateDeviceClasses(This,ppEnumDeviceClass) (This)->lpVtbl->EnumerateDeviceClasses(This,ppEnumDeviceClass)
   1523 #endif
   1524 #endif
   1525   HRESULT WINAPI ITAddressCapabilities_get_AddressCapability_Proxy(ITAddressCapabilities *This,ADDRESS_CAPABILITY AddressCap,__LONG32 *plCapability);
   1526   void __RPC_STUB ITAddressCapabilities_get_AddressCapability_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1527   HRESULT WINAPI ITAddressCapabilities_get_AddressCapabilityString_Proxy(ITAddressCapabilities *This,ADDRESS_CAPABILITY_STRING AddressCapString,BSTR *ppCapabilityString);
   1528   void __RPC_STUB ITAddressCapabilities_get_AddressCapabilityString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1529   HRESULT WINAPI ITAddressCapabilities_get_CallTreatments_Proxy(ITAddressCapabilities *This,VARIANT *pVariant);
   1530   void __RPC_STUB ITAddressCapabilities_get_CallTreatments_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1531   HRESULT WINAPI ITAddressCapabilities_EnumerateCallTreatments_Proxy(ITAddressCapabilities *This,IEnumBstr **ppEnumCallTreatment);
   1532   void __RPC_STUB ITAddressCapabilities_EnumerateCallTreatments_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1533   HRESULT WINAPI ITAddressCapabilities_get_CompletionMessages_Proxy(ITAddressCapabilities *This,VARIANT *pVariant);
   1534   void __RPC_STUB ITAddressCapabilities_get_CompletionMessages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1535   HRESULT WINAPI ITAddressCapabilities_EnumerateCompletionMessages_Proxy(ITAddressCapabilities *This,IEnumBstr **ppEnumCompletionMessage);
   1536   void __RPC_STUB ITAddressCapabilities_EnumerateCompletionMessages_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1537   HRESULT WINAPI ITAddressCapabilities_get_DeviceClasses_Proxy(ITAddressCapabilities *This,VARIANT *pVariant);
   1538   void __RPC_STUB ITAddressCapabilities_get_DeviceClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1539   HRESULT WINAPI ITAddressCapabilities_EnumerateDeviceClasses_Proxy(ITAddressCapabilities *This,IEnumBstr **ppEnumDeviceClass);
   1540   void __RPC_STUB ITAddressCapabilities_EnumerateDeviceClasses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1541 #endif
   1542 
   1543 #ifndef __ITPhone_INTERFACE_DEFINED__
   1544 #define __ITPhone_INTERFACE_DEFINED__
   1545   EXTERN_C const IID IID_ITPhone;
   1546 #if defined(__cplusplus) && !defined(CINTERFACE)
   1547   struct ITPhone : public IDispatch {
   1548   public:
   1549     virtual HRESULT WINAPI Open(PHONE_PRIVILEGE Privilege) = 0;
   1550     virtual HRESULT WINAPI Close(void) = 0;
   1551     virtual HRESULT WINAPI get_Addresses(VARIANT *pAddresses) = 0;
   1552     virtual HRESULT WINAPI EnumerateAddresses(IEnumAddress **ppEnumAddress) = 0;
   1553     virtual HRESULT WINAPI get_PhoneCapsLong(PHONECAPS_LONG pclCap,__LONG32 *plCapability) = 0;
   1554     virtual HRESULT WINAPI get_PhoneCapsString(PHONECAPS_STRING pcsCap,BSTR *ppCapability) = 0;
   1555     virtual HRESULT WINAPI get_Terminals(ITAddress *pAddress,VARIANT *pTerminals) = 0;
   1556     virtual HRESULT WINAPI EnumerateTerminals(ITAddress *pAddress,IEnumTerminal **ppEnumTerminal) = 0;
   1557     virtual HRESULT WINAPI get_ButtonMode(__LONG32 lButtonID,PHONE_BUTTON_MODE *pButtonMode) = 0;
   1558     virtual HRESULT WINAPI put_ButtonMode(__LONG32 lButtonID,PHONE_BUTTON_MODE ButtonMode) = 0;
   1559     virtual HRESULT WINAPI get_ButtonFunction(__LONG32 lButtonID,PHONE_BUTTON_FUNCTION *pButtonFunction) = 0;
   1560     virtual HRESULT WINAPI put_ButtonFunction(__LONG32 lButtonID,PHONE_BUTTON_FUNCTION ButtonFunction) = 0;
   1561     virtual HRESULT WINAPI get_ButtonText(__LONG32 lButtonID,BSTR *ppButtonText) = 0;
   1562     virtual HRESULT WINAPI put_ButtonText(__LONG32 lButtonID,BSTR bstrButtonText) = 0;
   1563     virtual HRESULT WINAPI get_ButtonState(__LONG32 lButtonID,PHONE_BUTTON_STATE *pButtonState) = 0;
   1564     virtual HRESULT WINAPI get_HookSwitchState(PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE *pHookSwitchState) = 0;
   1565     virtual HRESULT WINAPI put_HookSwitchState(PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE HookSwitchState) = 0;
   1566     virtual HRESULT WINAPI put_RingMode(__LONG32 lRingMode) = 0;
   1567     virtual HRESULT WINAPI get_RingMode(__LONG32 *plRingMode) = 0;
   1568     virtual HRESULT WINAPI put_RingVolume(__LONG32 lRingVolume) = 0;
   1569     virtual HRESULT WINAPI get_RingVolume(__LONG32 *plRingVolume) = 0;
   1570     virtual HRESULT WINAPI get_Privilege(PHONE_PRIVILEGE *pPrivilege) = 0;
   1571     virtual HRESULT WINAPI GetPhoneCapsBuffer(PHONECAPS_BUFFER pcbCaps,DWORD *pdwSize,BYTE **ppPhoneCapsBuffer) = 0;
   1572     virtual HRESULT WINAPI get_PhoneCapsBuffer(PHONECAPS_BUFFER pcbCaps,VARIANT *pVarBuffer) = 0;
   1573     virtual HRESULT WINAPI get_LampMode(__LONG32 lLampID,PHONE_LAMP_MODE *pLampMode) = 0;
   1574     virtual HRESULT WINAPI put_LampMode(__LONG32 lLampID,PHONE_LAMP_MODE LampMode) = 0;
   1575     virtual HRESULT WINAPI get_Display(BSTR *pbstrDisplay) = 0;
   1576     virtual HRESULT WINAPI SetDisplay(__LONG32 lRow,__LONG32 lColumn,BSTR bstrDisplay) = 0;
   1577     virtual HRESULT WINAPI get_PreferredAddresses(VARIANT *pAddresses) = 0;
   1578     virtual HRESULT WINAPI EnumeratePreferredAddresses(IEnumAddress **ppEnumAddress) = 0;
   1579     virtual HRESULT WINAPI DeviceSpecific(BYTE *pParams,DWORD dwSize) = 0;
   1580     virtual HRESULT WINAPI DeviceSpecificVariant(VARIANT varDevSpecificByteArray) = 0;
   1581     virtual HRESULT WINAPI NegotiateExtVersion(__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion) = 0;
   1582   };
   1583 #else
   1584   typedef struct ITPhoneVtbl {
   1585     BEGIN_INTERFACE
   1586       HRESULT (WINAPI *QueryInterface)(ITPhone *This,REFIID riid,void **ppvObject);
   1587       ULONG (WINAPI *AddRef)(ITPhone *This);
   1588       ULONG (WINAPI *Release)(ITPhone *This);
   1589       HRESULT (WINAPI *GetTypeInfoCount)(ITPhone *This,UINT *pctinfo);
   1590       HRESULT (WINAPI *GetTypeInfo)(ITPhone *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1591       HRESULT (WINAPI *GetIDsOfNames)(ITPhone *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1592       HRESULT (WINAPI *Invoke)(ITPhone *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1593       HRESULT (WINAPI *Open)(ITPhone *This,PHONE_PRIVILEGE Privilege);
   1594       HRESULT (WINAPI *Close)(ITPhone *This);
   1595       HRESULT (WINAPI *get_Addresses)(ITPhone *This,VARIANT *pAddresses);
   1596       HRESULT (WINAPI *EnumerateAddresses)(ITPhone *This,IEnumAddress **ppEnumAddress);
   1597       HRESULT (WINAPI *get_PhoneCapsLong)(ITPhone *This,PHONECAPS_LONG pclCap,__LONG32 *plCapability);
   1598       HRESULT (WINAPI *get_PhoneCapsString)(ITPhone *This,PHONECAPS_STRING pcsCap,BSTR *ppCapability);
   1599       HRESULT (WINAPI *get_Terminals)(ITPhone *This,ITAddress *pAddress,VARIANT *pTerminals);
   1600       HRESULT (WINAPI *EnumerateTerminals)(ITPhone *This,ITAddress *pAddress,IEnumTerminal **ppEnumTerminal);
   1601       HRESULT (WINAPI *get_ButtonMode)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_MODE *pButtonMode);
   1602       HRESULT (WINAPI *put_ButtonMode)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_MODE ButtonMode);
   1603       HRESULT (WINAPI *get_ButtonFunction)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_FUNCTION *pButtonFunction);
   1604       HRESULT (WINAPI *put_ButtonFunction)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_FUNCTION ButtonFunction);
   1605       HRESULT (WINAPI *get_ButtonText)(ITPhone *This,__LONG32 lButtonID,BSTR *ppButtonText);
   1606       HRESULT (WINAPI *put_ButtonText)(ITPhone *This,__LONG32 lButtonID,BSTR bstrButtonText);
   1607       HRESULT (WINAPI *get_ButtonState)(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_STATE *pButtonState);
   1608       HRESULT (WINAPI *get_HookSwitchState)(ITPhone *This,PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE *pHookSwitchState);
   1609       HRESULT (WINAPI *put_HookSwitchState)(ITPhone *This,PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE HookSwitchState);
   1610       HRESULT (WINAPI *put_RingMode)(ITPhone *This,__LONG32 lRingMode);
   1611       HRESULT (WINAPI *get_RingMode)(ITPhone *This,__LONG32 *plRingMode);
   1612       HRESULT (WINAPI *put_RingVolume)(ITPhone *This,__LONG32 lRingVolume);
   1613       HRESULT (WINAPI *get_RingVolume)(ITPhone *This,__LONG32 *plRingVolume);
   1614       HRESULT (WINAPI *get_Privilege)(ITPhone *This,PHONE_PRIVILEGE *pPrivilege);
   1615       HRESULT (WINAPI *GetPhoneCapsBuffer)(ITPhone *This,PHONECAPS_BUFFER pcbCaps,DWORD *pdwSize,BYTE **ppPhoneCapsBuffer);
   1616       HRESULT (WINAPI *get_PhoneCapsBuffer)(ITPhone *This,PHONECAPS_BUFFER pcbCaps,VARIANT *pVarBuffer);
   1617       HRESULT (WINAPI *get_LampMode)(ITPhone *This,__LONG32 lLampID,PHONE_LAMP_MODE *pLampMode);
   1618       HRESULT (WINAPI *put_LampMode)(ITPhone *This,__LONG32 lLampID,PHONE_LAMP_MODE LampMode);
   1619       HRESULT (WINAPI *get_Display)(ITPhone *This,BSTR *pbstrDisplay);
   1620       HRESULT (WINAPI *SetDisplay)(ITPhone *This,__LONG32 lRow,__LONG32 lColumn,BSTR bstrDisplay);
   1621       HRESULT (WINAPI *get_PreferredAddresses)(ITPhone *This,VARIANT *pAddresses);
   1622       HRESULT (WINAPI *EnumeratePreferredAddresses)(ITPhone *This,IEnumAddress **ppEnumAddress);
   1623       HRESULT (WINAPI *DeviceSpecific)(ITPhone *This,BYTE *pParams,DWORD dwSize);
   1624       HRESULT (WINAPI *DeviceSpecificVariant)(ITPhone *This,VARIANT varDevSpecificByteArray);
   1625       HRESULT (WINAPI *NegotiateExtVersion)(ITPhone *This,__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion);
   1626     END_INTERFACE
   1627   } ITPhoneVtbl;
   1628   struct ITPhone {
   1629     CONST_VTBL struct ITPhoneVtbl *lpVtbl;
   1630   };
   1631 #ifdef COBJMACROS
   1632 #define ITPhone_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1633 #define ITPhone_AddRef(This) (This)->lpVtbl->AddRef(This)
   1634 #define ITPhone_Release(This) (This)->lpVtbl->Release(This)
   1635 #define ITPhone_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1636 #define ITPhone_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1637 #define ITPhone_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1638 #define ITPhone_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1639 #define ITPhone_Open(This,Privilege) (This)->lpVtbl->Open(This,Privilege)
   1640 #define ITPhone_Close(This) (This)->lpVtbl->Close(This)
   1641 #define ITPhone_get_Addresses(This,pAddresses) (This)->lpVtbl->get_Addresses(This,pAddresses)
   1642 #define ITPhone_EnumerateAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumerateAddresses(This,ppEnumAddress)
   1643 #define ITPhone_get_PhoneCapsLong(This,pclCap,plCapability) (This)->lpVtbl->get_PhoneCapsLong(This,pclCap,plCapability)
   1644 #define ITPhone_get_PhoneCapsString(This,pcsCap,ppCapability) (This)->lpVtbl->get_PhoneCapsString(This,pcsCap,ppCapability)
   1645 #define ITPhone_get_Terminals(This,pAddress,pTerminals) (This)->lpVtbl->get_Terminals(This,pAddress,pTerminals)
   1646 #define ITPhone_EnumerateTerminals(This,pAddress,ppEnumTerminal) (This)->lpVtbl->EnumerateTerminals(This,pAddress,ppEnumTerminal)
   1647 #define ITPhone_get_ButtonMode(This,lButtonID,pButtonMode) (This)->lpVtbl->get_ButtonMode(This,lButtonID,pButtonMode)
   1648 #define ITPhone_put_ButtonMode(This,lButtonID,ButtonMode) (This)->lpVtbl->put_ButtonMode(This,lButtonID,ButtonMode)
   1649 #define ITPhone_get_ButtonFunction(This,lButtonID,pButtonFunction) (This)->lpVtbl->get_ButtonFunction(This,lButtonID,pButtonFunction)
   1650 #define ITPhone_put_ButtonFunction(This,lButtonID,ButtonFunction) (This)->lpVtbl->put_ButtonFunction(This,lButtonID,ButtonFunction)
   1651 #define ITPhone_get_ButtonText(This,lButtonID,ppButtonText) (This)->lpVtbl->get_ButtonText(This,lButtonID,ppButtonText)
   1652 #define ITPhone_put_ButtonText(This,lButtonID,bstrButtonText) (This)->lpVtbl->put_ButtonText(This,lButtonID,bstrButtonText)
   1653 #define ITPhone_get_ButtonState(This,lButtonID,pButtonState) (This)->lpVtbl->get_ButtonState(This,lButtonID,pButtonState)
   1654 #define ITPhone_get_HookSwitchState(This,HookSwitchDevice,pHookSwitchState) (This)->lpVtbl->get_HookSwitchState(This,HookSwitchDevice,pHookSwitchState)
   1655 #define ITPhone_put_HookSwitchState(This,HookSwitchDevice,HookSwitchState) (This)->lpVtbl->put_HookSwitchState(This,HookSwitchDevice,HookSwitchState)
   1656 #define ITPhone_put_RingMode(This,lRingMode) (This)->lpVtbl->put_RingMode(This,lRingMode)
   1657 #define ITPhone_get_RingMode(This,plRingMode) (This)->lpVtbl->get_RingMode(This,plRingMode)
   1658 #define ITPhone_put_RingVolume(This,lRingVolume) (This)->lpVtbl->put_RingVolume(This,lRingVolume)
   1659 #define ITPhone_get_RingVolume(This,plRingVolume) (This)->lpVtbl->get_RingVolume(This,plRingVolume)
   1660 #define ITPhone_get_Privilege(This,pPrivilege) (This)->lpVtbl->get_Privilege(This,pPrivilege)
   1661 #define ITPhone_GetPhoneCapsBuffer(This,pcbCaps,pdwSize,ppPhoneCapsBuffer) (This)->lpVtbl->GetPhoneCapsBuffer(This,pcbCaps,pdwSize,ppPhoneCapsBuffer)
   1662 #define ITPhone_get_PhoneCapsBuffer(This,pcbCaps,pVarBuffer) (This)->lpVtbl->get_PhoneCapsBuffer(This,pcbCaps,pVarBuffer)
   1663 #define ITPhone_get_LampMode(This,lLampID,pLampMode) (This)->lpVtbl->get_LampMode(This,lLampID,pLampMode)
   1664 #define ITPhone_put_LampMode(This,lLampID,LampMode) (This)->lpVtbl->put_LampMode(This,lLampID,LampMode)
   1665 #define ITPhone_get_Display(This,pbstrDisplay) (This)->lpVtbl->get_Display(This,pbstrDisplay)
   1666 #define ITPhone_SetDisplay(This,lRow,lColumn,bstrDisplay) (This)->lpVtbl->SetDisplay(This,lRow,lColumn,bstrDisplay)
   1667 #define ITPhone_get_PreferredAddresses(This,pAddresses) (This)->lpVtbl->get_PreferredAddresses(This,pAddresses)
   1668 #define ITPhone_EnumeratePreferredAddresses(This,ppEnumAddress) (This)->lpVtbl->EnumeratePreferredAddresses(This,ppEnumAddress)
   1669 #define ITPhone_DeviceSpecific(This,pParams,dwSize) (This)->lpVtbl->DeviceSpecific(This,pParams,dwSize)
   1670 #define ITPhone_DeviceSpecificVariant(This,varDevSpecificByteArray) (This)->lpVtbl->DeviceSpecificVariant(This,varDevSpecificByteArray)
   1671 #define ITPhone_NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion) (This)->lpVtbl->NegotiateExtVersion(This,lLowVersion,lHighVersion,plExtVersion)
   1672 #endif
   1673 #endif
   1674   HRESULT WINAPI ITPhone_Open_Proxy(ITPhone *This,PHONE_PRIVILEGE Privilege);
   1675   void __RPC_STUB ITPhone_Open_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1676   HRESULT WINAPI ITPhone_Close_Proxy(ITPhone *This);
   1677   void __RPC_STUB ITPhone_Close_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1678   HRESULT WINAPI ITPhone_get_Addresses_Proxy(ITPhone *This,VARIANT *pAddresses);
   1679   void __RPC_STUB ITPhone_get_Addresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1680   HRESULT WINAPI ITPhone_EnumerateAddresses_Proxy(ITPhone *This,IEnumAddress **ppEnumAddress);
   1681   void __RPC_STUB ITPhone_EnumerateAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1682   HRESULT WINAPI ITPhone_get_PhoneCapsLong_Proxy(ITPhone *This,PHONECAPS_LONG pclCap,__LONG32 *plCapability);
   1683   void __RPC_STUB ITPhone_get_PhoneCapsLong_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1684   HRESULT WINAPI ITPhone_get_PhoneCapsString_Proxy(ITPhone *This,PHONECAPS_STRING pcsCap,BSTR *ppCapability);
   1685   void __RPC_STUB ITPhone_get_PhoneCapsString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1686   HRESULT WINAPI ITPhone_get_Terminals_Proxy(ITPhone *This,ITAddress *pAddress,VARIANT *pTerminals);
   1687   void __RPC_STUB ITPhone_get_Terminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1688   HRESULT WINAPI ITPhone_EnumerateTerminals_Proxy(ITPhone *This,ITAddress *pAddress,IEnumTerminal **ppEnumTerminal);
   1689   void __RPC_STUB ITPhone_EnumerateTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1690   HRESULT WINAPI ITPhone_get_ButtonMode_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_MODE *pButtonMode);
   1691   void __RPC_STUB ITPhone_get_ButtonMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1692   HRESULT WINAPI ITPhone_put_ButtonMode_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_MODE ButtonMode);
   1693   void __RPC_STUB ITPhone_put_ButtonMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1694   HRESULT WINAPI ITPhone_get_ButtonFunction_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_FUNCTION *pButtonFunction);
   1695   void __RPC_STUB ITPhone_get_ButtonFunction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1696   HRESULT WINAPI ITPhone_put_ButtonFunction_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_FUNCTION ButtonFunction);
   1697   void __RPC_STUB ITPhone_put_ButtonFunction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1698   HRESULT WINAPI ITPhone_get_ButtonText_Proxy(ITPhone *This,__LONG32 lButtonID,BSTR *ppButtonText);
   1699   void __RPC_STUB ITPhone_get_ButtonText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1700   HRESULT WINAPI ITPhone_put_ButtonText_Proxy(ITPhone *This,__LONG32 lButtonID,BSTR bstrButtonText);
   1701   void __RPC_STUB ITPhone_put_ButtonText_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1702   HRESULT WINAPI ITPhone_get_ButtonState_Proxy(ITPhone *This,__LONG32 lButtonID,PHONE_BUTTON_STATE *pButtonState);
   1703   void __RPC_STUB ITPhone_get_ButtonState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1704   HRESULT WINAPI ITPhone_get_HookSwitchState_Proxy(ITPhone *This,PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE *pHookSwitchState);
   1705   void __RPC_STUB ITPhone_get_HookSwitchState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1706   HRESULT WINAPI ITPhone_put_HookSwitchState_Proxy(ITPhone *This,PHONE_HOOK_SWITCH_DEVICE HookSwitchDevice,PHONE_HOOK_SWITCH_STATE HookSwitchState);
   1707   void __RPC_STUB ITPhone_put_HookSwitchState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1708   HRESULT WINAPI ITPhone_put_RingMode_Proxy(ITPhone *This,__LONG32 lRingMode);
   1709   void __RPC_STUB ITPhone_put_RingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1710   HRESULT WINAPI ITPhone_get_RingMode_Proxy(ITPhone *This,__LONG32 *plRingMode);
   1711   void __RPC_STUB ITPhone_get_RingMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1712   HRESULT WINAPI ITPhone_put_RingVolume_Proxy(ITPhone *This,__LONG32 lRingVolume);
   1713   void __RPC_STUB ITPhone_put_RingVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1714   HRESULT WINAPI ITPhone_get_RingVolume_Proxy(ITPhone *This,__LONG32 *plRingVolume);
   1715   void __RPC_STUB ITPhone_get_RingVolume_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1716   HRESULT WINAPI ITPhone_get_Privilege_Proxy(ITPhone *This,PHONE_PRIVILEGE *pPrivilege);
   1717   void __RPC_STUB ITPhone_get_Privilege_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1718   HRESULT WINAPI ITPhone_GetPhoneCapsBuffer_Proxy(ITPhone *This,PHONECAPS_BUFFER pcbCaps,DWORD *pdwSize,BYTE **ppPhoneCapsBuffer);
   1719   void __RPC_STUB ITPhone_GetPhoneCapsBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1720   HRESULT WINAPI ITPhone_get_PhoneCapsBuffer_Proxy(ITPhone *This,PHONECAPS_BUFFER pcbCaps,VARIANT *pVarBuffer);
   1721   void __RPC_STUB ITPhone_get_PhoneCapsBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1722   HRESULT WINAPI ITPhone_get_LampMode_Proxy(ITPhone *This,__LONG32 lLampID,PHONE_LAMP_MODE *pLampMode);
   1723   void __RPC_STUB ITPhone_get_LampMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1724   HRESULT WINAPI ITPhone_put_LampMode_Proxy(ITPhone *This,__LONG32 lLampID,PHONE_LAMP_MODE LampMode);
   1725   void __RPC_STUB ITPhone_put_LampMode_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1726   HRESULT WINAPI ITPhone_get_Display_Proxy(ITPhone *This,BSTR *pbstrDisplay);
   1727   void __RPC_STUB ITPhone_get_Display_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1728   HRESULT WINAPI ITPhone_SetDisplay_Proxy(ITPhone *This,__LONG32 lRow,__LONG32 lColumn,BSTR bstrDisplay);
   1729   void __RPC_STUB ITPhone_SetDisplay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1730   HRESULT WINAPI ITPhone_get_PreferredAddresses_Proxy(ITPhone *This,VARIANT *pAddresses);
   1731   void __RPC_STUB ITPhone_get_PreferredAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1732   HRESULT WINAPI ITPhone_EnumeratePreferredAddresses_Proxy(ITPhone *This,IEnumAddress **ppEnumAddress);
   1733   void __RPC_STUB ITPhone_EnumeratePreferredAddresses_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1734   HRESULT WINAPI ITPhone_DeviceSpecific_Proxy(ITPhone *This,BYTE *pParams,DWORD dwSize);
   1735   void __RPC_STUB ITPhone_DeviceSpecific_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1736   HRESULT WINAPI ITPhone_DeviceSpecificVariant_Proxy(ITPhone *This,VARIANT varDevSpecificByteArray);
   1737   void __RPC_STUB ITPhone_DeviceSpecificVariant_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1738   HRESULT WINAPI ITPhone_NegotiateExtVersion_Proxy(ITPhone *This,__LONG32 lLowVersion,__LONG32 lHighVersion,__LONG32 *plExtVersion);
   1739   void __RPC_STUB ITPhone_NegotiateExtVersion_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1740 #endif
   1741 
   1742 #ifndef __ITAutomatedPhoneControl_INTERFACE_DEFINED__
   1743 #define __ITAutomatedPhoneControl_INTERFACE_DEFINED__
   1744   EXTERN_C const IID IID_ITAutomatedPhoneControl;
   1745 #if defined(__cplusplus) && !defined(CINTERFACE)
   1746   struct ITAutomatedPhoneControl : public IDispatch {
   1747   public:
   1748     virtual HRESULT WINAPI StartTone(PHONE_TONE Tone,__LONG32 lDuration) = 0;
   1749     virtual HRESULT WINAPI StopTone(void) = 0;
   1750     virtual HRESULT WINAPI get_Tone(PHONE_TONE *pTone) = 0;
   1751     virtual HRESULT WINAPI StartRinger(__LONG32 lRingMode,__LONG32 lDuration) = 0;
   1752     virtual HRESULT WINAPI StopRinger(void) = 0;
   1753     virtual HRESULT WINAPI get_Ringer(VARIANT_BOOL *pfRinging) = 0;
   1754     virtual HRESULT WINAPI put_PhoneHandlingEnabled(VARIANT_BOOL fEnabled) = 0;
   1755     virtual HRESULT WINAPI get_PhoneHandlingEnabled(VARIANT_BOOL *pfEnabled) = 0;
   1756     virtual HRESULT WINAPI put_AutoEndOfNumberTimeout(__LONG32 lTimeout) = 0;
   1757     virtual HRESULT WINAPI get_AutoEndOfNumberTimeout(__LONG32 *plTimeout) = 0;
   1758     virtual HRESULT WINAPI put_AutoDialtone(VARIANT_BOOL fEnabled) = 0;
   1759     virtual HRESULT WINAPI get_AutoDialtone(VARIANT_BOOL *pfEnabled) = 0;
   1760     virtual HRESULT WINAPI put_AutoStopTonesOnOnHook(VARIANT_BOOL fEnabled) = 0;
   1761     virtual HRESULT WINAPI get_AutoStopTonesOnOnHook(VARIANT_BOOL *pfEnabled) = 0;
   1762     virtual HRESULT WINAPI put_AutoStopRingOnOffHook(VARIANT_BOOL fEnabled) = 0;
   1763     virtual HRESULT WINAPI get_AutoStopRingOnOffHook(VARIANT_BOOL *pfEnabled) = 0;
   1764     virtual HRESULT WINAPI put_AutoKeypadTones(VARIANT_BOOL fEnabled) = 0;
   1765     virtual HRESULT WINAPI get_AutoKeypadTones(VARIANT_BOOL *pfEnabled) = 0;
   1766     virtual HRESULT WINAPI put_AutoKeypadTonesMinimumDuration(__LONG32 lDuration) = 0;
   1767     virtual HRESULT WINAPI get_AutoKeypadTonesMinimumDuration(__LONG32 *plDuration) = 0;
   1768     virtual HRESULT WINAPI put_AutoVolumeControl(VARIANT_BOOL fEnabled) = 0;
   1769     virtual HRESULT WINAPI get_AutoVolumeControl(VARIANT_BOOL *fEnabled) = 0;
   1770     virtual HRESULT WINAPI put_AutoVolumeControlStep(__LONG32 lStepSize) = 0;
   1771     virtual HRESULT WINAPI get_AutoVolumeControlStep(__LONG32 *plStepSize) = 0;
   1772     virtual HRESULT WINAPI put_AutoVolumeControlRepeatDelay(__LONG32 lDelay) = 0;
   1773     virtual HRESULT WINAPI get_AutoVolumeControlRepeatDelay(__LONG32 *plDelay) = 0;
   1774     virtual HRESULT WINAPI put_AutoVolumeControlRepeatPeriod(__LONG32 lPeriod) = 0;
   1775     virtual HRESULT WINAPI get_AutoVolumeControlRepeatPeriod(__LONG32 *plPeriod) = 0;
   1776     virtual HRESULT WINAPI SelectCall(ITCallInfo *pCall,VARIANT_BOOL fSelectDefaultTerminals) = 0;
   1777     virtual HRESULT WINAPI UnselectCall(ITCallInfo *pCall) = 0;
   1778     virtual HRESULT WINAPI EnumerateSelectedCalls(IEnumCall **ppCallEnum) = 0;
   1779     virtual HRESULT WINAPI get_SelectedCalls(VARIANT *pVariant) = 0;
   1780   };
   1781 #else
   1782   typedef struct ITAutomatedPhoneControlVtbl {
   1783     BEGIN_INTERFACE
   1784       HRESULT (WINAPI *QueryInterface)(ITAutomatedPhoneControl *This,REFIID riid,void **ppvObject);
   1785       ULONG (WINAPI *AddRef)(ITAutomatedPhoneControl *This);
   1786       ULONG (WINAPI *Release)(ITAutomatedPhoneControl *This);
   1787       HRESULT (WINAPI *GetTypeInfoCount)(ITAutomatedPhoneControl *This,UINT *pctinfo);
   1788       HRESULT (WINAPI *GetTypeInfo)(ITAutomatedPhoneControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1789       HRESULT (WINAPI *GetIDsOfNames)(ITAutomatedPhoneControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1790       HRESULT (WINAPI *Invoke)(ITAutomatedPhoneControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1791       HRESULT (WINAPI *StartTone)(ITAutomatedPhoneControl *This,PHONE_TONE Tone,__LONG32 lDuration);
   1792       HRESULT (WINAPI *StopTone)(ITAutomatedPhoneControl *This);
   1793       HRESULT (WINAPI *get_Tone)(ITAutomatedPhoneControl *This,PHONE_TONE *pTone);
   1794       HRESULT (WINAPI *StartRinger)(ITAutomatedPhoneControl *This,__LONG32 lRingMode,__LONG32 lDuration);
   1795       HRESULT (WINAPI *StopRinger)(ITAutomatedPhoneControl *This);
   1796       HRESULT (WINAPI *get_Ringer)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfRinging);
   1797       HRESULT (WINAPI *put_PhoneHandlingEnabled)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1798       HRESULT (WINAPI *get_PhoneHandlingEnabled)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1799       HRESULT (WINAPI *put_AutoEndOfNumberTimeout)(ITAutomatedPhoneControl *This,__LONG32 lTimeout);
   1800       HRESULT (WINAPI *get_AutoEndOfNumberTimeout)(ITAutomatedPhoneControl *This,__LONG32 *plTimeout);
   1801       HRESULT (WINAPI *put_AutoDialtone)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1802       HRESULT (WINAPI *get_AutoDialtone)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1803       HRESULT (WINAPI *put_AutoStopTonesOnOnHook)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1804       HRESULT (WINAPI *get_AutoStopTonesOnOnHook)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1805       HRESULT (WINAPI *put_AutoStopRingOnOffHook)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1806       HRESULT (WINAPI *get_AutoStopRingOnOffHook)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1807       HRESULT (WINAPI *put_AutoKeypadTones)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1808       HRESULT (WINAPI *get_AutoKeypadTones)(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1809       HRESULT (WINAPI *put_AutoKeypadTonesMinimumDuration)(ITAutomatedPhoneControl *This,__LONG32 lDuration);
   1810       HRESULT (WINAPI *get_AutoKeypadTonesMinimumDuration)(ITAutomatedPhoneControl *This,__LONG32 *plDuration);
   1811       HRESULT (WINAPI *put_AutoVolumeControl)(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1812       HRESULT (WINAPI *get_AutoVolumeControl)(ITAutomatedPhoneControl *This,VARIANT_BOOL *fEnabled);
   1813       HRESULT (WINAPI *put_AutoVolumeControlStep)(ITAutomatedPhoneControl *This,__LONG32 lStepSize);
   1814       HRESULT (WINAPI *get_AutoVolumeControlStep)(ITAutomatedPhoneControl *This,__LONG32 *plStepSize);
   1815       HRESULT (WINAPI *put_AutoVolumeControlRepeatDelay)(ITAutomatedPhoneControl *This,__LONG32 lDelay);
   1816       HRESULT (WINAPI *get_AutoVolumeControlRepeatDelay)(ITAutomatedPhoneControl *This,__LONG32 *plDelay);
   1817       HRESULT (WINAPI *put_AutoVolumeControlRepeatPeriod)(ITAutomatedPhoneControl *This,__LONG32 lPeriod);
   1818       HRESULT (WINAPI *get_AutoVolumeControlRepeatPeriod)(ITAutomatedPhoneControl *This,__LONG32 *plPeriod);
   1819       HRESULT (WINAPI *SelectCall)(ITAutomatedPhoneControl *This,ITCallInfo *pCall,VARIANT_BOOL fSelectDefaultTerminals);
   1820       HRESULT (WINAPI *UnselectCall)(ITAutomatedPhoneControl *This,ITCallInfo *pCall);
   1821       HRESULT (WINAPI *EnumerateSelectedCalls)(ITAutomatedPhoneControl *This,IEnumCall **ppCallEnum);
   1822       HRESULT (WINAPI *get_SelectedCalls)(ITAutomatedPhoneControl *This,VARIANT *pVariant);
   1823     END_INTERFACE
   1824   } ITAutomatedPhoneControlVtbl;
   1825   struct ITAutomatedPhoneControl {
   1826     CONST_VTBL struct ITAutomatedPhoneControlVtbl *lpVtbl;
   1827   };
   1828 #ifdef COBJMACROS
   1829 #define ITAutomatedPhoneControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1830 #define ITAutomatedPhoneControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   1831 #define ITAutomatedPhoneControl_Release(This) (This)->lpVtbl->Release(This)
   1832 #define ITAutomatedPhoneControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1833 #define ITAutomatedPhoneControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   1834 #define ITAutomatedPhoneControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   1835 #define ITAutomatedPhoneControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   1836 #define ITAutomatedPhoneControl_StartTone(This,Tone,lDuration) (This)->lpVtbl->StartTone(This,Tone,lDuration)
   1837 #define ITAutomatedPhoneControl_StopTone(This) (This)->lpVtbl->StopTone(This)
   1838 #define ITAutomatedPhoneControl_get_Tone(This,pTone) (This)->lpVtbl->get_Tone(This,pTone)
   1839 #define ITAutomatedPhoneControl_StartRinger(This,lRingMode,lDuration) (This)->lpVtbl->StartRinger(This,lRingMode,lDuration)
   1840 #define ITAutomatedPhoneControl_StopRinger(This) (This)->lpVtbl->StopRinger(This)
   1841 #define ITAutomatedPhoneControl_get_Ringer(This,pfRinging) (This)->lpVtbl->get_Ringer(This,pfRinging)
   1842 #define ITAutomatedPhoneControl_put_PhoneHandlingEnabled(This,fEnabled) (This)->lpVtbl->put_PhoneHandlingEnabled(This,fEnabled)
   1843 #define ITAutomatedPhoneControl_get_PhoneHandlingEnabled(This,pfEnabled) (This)->lpVtbl->get_PhoneHandlingEnabled(This,pfEnabled)
   1844 #define ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout(This,lTimeout) (This)->lpVtbl->put_AutoEndOfNumberTimeout(This,lTimeout)
   1845 #define ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout(This,plTimeout) (This)->lpVtbl->get_AutoEndOfNumberTimeout(This,plTimeout)
   1846 #define ITAutomatedPhoneControl_put_AutoDialtone(This,fEnabled) (This)->lpVtbl->put_AutoDialtone(This,fEnabled)
   1847 #define ITAutomatedPhoneControl_get_AutoDialtone(This,pfEnabled) (This)->lpVtbl->get_AutoDialtone(This,pfEnabled)
   1848 #define ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook(This,fEnabled) (This)->lpVtbl->put_AutoStopTonesOnOnHook(This,fEnabled)
   1849 #define ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook(This,pfEnabled) (This)->lpVtbl->get_AutoStopTonesOnOnHook(This,pfEnabled)
   1850 #define ITAutomatedPhoneControl_put_AutoStopRingOnOffHook(This,fEnabled) (This)->lpVtbl->put_AutoStopRingOnOffHook(This,fEnabled)
   1851 #define ITAutomatedPhoneControl_get_AutoStopRingOnOffHook(This,pfEnabled) (This)->lpVtbl->get_AutoStopRingOnOffHook(This,pfEnabled)
   1852 #define ITAutomatedPhoneControl_put_AutoKeypadTones(This,fEnabled) (This)->lpVtbl->put_AutoKeypadTones(This,fEnabled)
   1853 #define ITAutomatedPhoneControl_get_AutoKeypadTones(This,pfEnabled) (This)->lpVtbl->get_AutoKeypadTones(This,pfEnabled)
   1854 #define ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration(This,lDuration) (This)->lpVtbl->put_AutoKeypadTonesMinimumDuration(This,lDuration)
   1855 #define ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration(This,plDuration) (This)->lpVtbl->get_AutoKeypadTonesMinimumDuration(This,plDuration)
   1856 #define ITAutomatedPhoneControl_put_AutoVolumeControl(This,fEnabled) (This)->lpVtbl->put_AutoVolumeControl(This,fEnabled)
   1857 #define ITAutomatedPhoneControl_get_AutoVolumeControl(This,fEnabled) (This)->lpVtbl->get_AutoVolumeControl(This,fEnabled)
   1858 #define ITAutomatedPhoneControl_put_AutoVolumeControlStep(This,lStepSize) (This)->lpVtbl->put_AutoVolumeControlStep(This,lStepSize)
   1859 #define ITAutomatedPhoneControl_get_AutoVolumeControlStep(This,plStepSize) (This)->lpVtbl->get_AutoVolumeControlStep(This,plStepSize)
   1860 #define ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay(This,lDelay) (This)->lpVtbl->put_AutoVolumeControlRepeatDelay(This,lDelay)
   1861 #define ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay(This,plDelay) (This)->lpVtbl->get_AutoVolumeControlRepeatDelay(This,plDelay)
   1862 #define ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod(This,lPeriod) (This)->lpVtbl->put_AutoVolumeControlRepeatPeriod(This,lPeriod)
   1863 #define ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod(This,plPeriod) (This)->lpVtbl->get_AutoVolumeControlRepeatPeriod(This,plPeriod)
   1864 #define ITAutomatedPhoneControl_SelectCall(This,pCall,fSelectDefaultTerminals) (This)->lpVtbl->SelectCall(This,pCall,fSelectDefaultTerminals)
   1865 #define ITAutomatedPhoneControl_UnselectCall(This,pCall) (This)->lpVtbl->UnselectCall(This,pCall)
   1866 #define ITAutomatedPhoneControl_EnumerateSelectedCalls(This,ppCallEnum) (This)->lpVtbl->EnumerateSelectedCalls(This,ppCallEnum)
   1867 #define ITAutomatedPhoneControl_get_SelectedCalls(This,pVariant) (This)->lpVtbl->get_SelectedCalls(This,pVariant)
   1868 #endif
   1869 #endif
   1870   HRESULT WINAPI ITAutomatedPhoneControl_StartTone_Proxy(ITAutomatedPhoneControl *This,PHONE_TONE Tone,__LONG32 lDuration);
   1871   void __RPC_STUB ITAutomatedPhoneControl_StartTone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1872   HRESULT WINAPI ITAutomatedPhoneControl_StopTone_Proxy(ITAutomatedPhoneControl *This);
   1873   void __RPC_STUB ITAutomatedPhoneControl_StopTone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1874   HRESULT WINAPI ITAutomatedPhoneControl_get_Tone_Proxy(ITAutomatedPhoneControl *This,PHONE_TONE *pTone);
   1875   void __RPC_STUB ITAutomatedPhoneControl_get_Tone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1876   HRESULT WINAPI ITAutomatedPhoneControl_StartRinger_Proxy(ITAutomatedPhoneControl *This,__LONG32 lRingMode,__LONG32 lDuration);
   1877   void __RPC_STUB ITAutomatedPhoneControl_StartRinger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1878   HRESULT WINAPI ITAutomatedPhoneControl_StopRinger_Proxy(ITAutomatedPhoneControl *This);
   1879   void __RPC_STUB ITAutomatedPhoneControl_StopRinger_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1880   HRESULT WINAPI ITAutomatedPhoneControl_get_Ringer_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfRinging);
   1881   void __RPC_STUB ITAutomatedPhoneControl_get_Ringer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1882   HRESULT WINAPI ITAutomatedPhoneControl_put_PhoneHandlingEnabled_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1883   void __RPC_STUB ITAutomatedPhoneControl_put_PhoneHandlingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1884   HRESULT WINAPI ITAutomatedPhoneControl_get_PhoneHandlingEnabled_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1885   void __RPC_STUB ITAutomatedPhoneControl_get_PhoneHandlingEnabled_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1886   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout_Proxy(ITAutomatedPhoneControl *This,__LONG32 lTimeout);
   1887   void __RPC_STUB ITAutomatedPhoneControl_put_AutoEndOfNumberTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1888   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plTimeout);
   1889   void __RPC_STUB ITAutomatedPhoneControl_get_AutoEndOfNumberTimeout_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1890   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoDialtone_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1891   void __RPC_STUB ITAutomatedPhoneControl_put_AutoDialtone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1892   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoDialtone_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1893   void __RPC_STUB ITAutomatedPhoneControl_get_AutoDialtone_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1894   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1895   void __RPC_STUB ITAutomatedPhoneControl_put_AutoStopTonesOnOnHook_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1896   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1897   void __RPC_STUB ITAutomatedPhoneControl_get_AutoStopTonesOnOnHook_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1898   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoStopRingOnOffHook_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1899   void __RPC_STUB ITAutomatedPhoneControl_put_AutoStopRingOnOffHook_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1900   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoStopRingOnOffHook_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1901   void __RPC_STUB ITAutomatedPhoneControl_get_AutoStopRingOnOffHook_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1902   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoKeypadTones_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1903   void __RPC_STUB ITAutomatedPhoneControl_put_AutoKeypadTones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1904   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoKeypadTones_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *pfEnabled);
   1905   void __RPC_STUB ITAutomatedPhoneControl_get_AutoKeypadTones_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1906   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration_Proxy(ITAutomatedPhoneControl *This,__LONG32 lDuration);
   1907   void __RPC_STUB ITAutomatedPhoneControl_put_AutoKeypadTonesMinimumDuration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1908   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plDuration);
   1909   void __RPC_STUB ITAutomatedPhoneControl_get_AutoKeypadTonesMinimumDuration_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1910   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoVolumeControl_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL fEnabled);
   1911   void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1912   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoVolumeControl_Proxy(ITAutomatedPhoneControl *This,VARIANT_BOOL *fEnabled);
   1913   void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControl_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1914   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoVolumeControlStep_Proxy(ITAutomatedPhoneControl *This,__LONG32 lStepSize);
   1915   void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1916   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoVolumeControlStep_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plStepSize);
   1917   void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlStep_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1918   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay_Proxy(ITAutomatedPhoneControl *This,__LONG32 lDelay);
   1919   void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlRepeatDelay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1920   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plDelay);
   1921   void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlRepeatDelay_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1922   HRESULT WINAPI ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod_Proxy(ITAutomatedPhoneControl *This,__LONG32 lPeriod);
   1923   void __RPC_STUB ITAutomatedPhoneControl_put_AutoVolumeControlRepeatPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1924   HRESULT WINAPI ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod_Proxy(ITAutomatedPhoneControl *This,__LONG32 *plPeriod);
   1925   void __RPC_STUB ITAutomatedPhoneControl_get_AutoVolumeControlRepeatPeriod_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1926   HRESULT WINAPI ITAutomatedPhoneControl_SelectCall_Proxy(ITAutomatedPhoneControl *This,ITCallInfo *pCall,VARIANT_BOOL fSelectDefaultTerminals);
   1927   void __RPC_STUB ITAutomatedPhoneControl_SelectCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1928   HRESULT WINAPI ITAutomatedPhoneControl_UnselectCall_Proxy(ITAutomatedPhoneControl *This,ITCallInfo *pCall);
   1929   void __RPC_STUB ITAutomatedPhoneControl_UnselectCall_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1930   HRESULT WINAPI ITAutomatedPhoneControl_EnumerateSelectedCalls_Proxy(ITAutomatedPhoneControl *This,IEnumCall **ppCallEnum);
   1931   void __RPC_STUB ITAutomatedPhoneControl_EnumerateSelectedCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1932   HRESULT WINAPI ITAutomatedPhoneControl_get_SelectedCalls_Proxy(ITAutomatedPhoneControl *This,VARIANT *pVariant);
   1933   void __RPC_STUB ITAutomatedPhoneControl_get_SelectedCalls_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   1934 #endif
   1935 
   1936 #ifndef __ITBasicCallControl_INTERFACE_DEFINED__
   1937 #define __ITBasicCallControl_INTERFACE_DEFINED__
   1938   EXTERN_C const IID IID_ITBasicCallControl;
   1939 #if defined(__cplusplus) && !defined(CINTERFACE)
   1940   struct ITBasicCallControl : public IDispatch {
   1941   public:
   1942     virtual HRESULT WINAPI Connect(VARIANT_BOOL fSync) = 0;
   1943     virtual HRESULT WINAPI Answer(void) = 0;
   1944     virtual HRESULT WINAPI Disconnect(DISCONNECT_CODE code) = 0;
   1945     virtual HRESULT WINAPI Hold(VARIANT_BOOL fHold) = 0;
   1946     virtual HRESULT WINAPI HandoffDirect(BSTR pApplicationName) = 0;
   1947     virtual HRESULT WINAPI HandoffIndirect(__LONG32 lMediaType) = 0;
   1948     virtual HRESULT WINAPI Conference(ITBasicCallControl *pCall,VARIANT_BOOL fSync) = 0;
   1949     virtual HRESULT WINAPI Transfer(ITBasicCallControl *pCall,VARIANT_BOOL fSync) = 0;
   1950     virtual HRESULT WINAPI BlindTransfer(BSTR pDestAddress) = 0;
   1951     virtual HRESULT WINAPI SwapHold(ITBasicCallControl *pCall) = 0;
   1952     virtual HRESULT WINAPI ParkDirect(BSTR pParkAddress) = 0;
   1953     virtual HRESULT WINAPI ParkIndirect(BSTR *ppNonDirAddress) = 0;
   1954     virtual HRESULT WINAPI Unpark(void) = 0;
   1955     virtual HRESULT WINAPI SetQOS(__LONG32 lMediaType,QOS_SERVICE_LEVEL ServiceLevel) = 0;
   1956     virtual HRESULT WINAPI Pickup(BSTR pGroupID) = 0;
   1957     virtual HRESULT WINAPI Dial(BSTR pDestAddress) = 0;
   1958     virtual HRESULT WINAPI Finish(FINISH_MODE finishMode) = 0;
   1959     virtual HRESULT WINAPI RemoveFromConference(void) = 0;
   1960   };
   1961 #else
   1962   typedef struct ITBasicCallControlVtbl {
   1963     BEGIN_INTERFACE
   1964       HRESULT (WINAPI *QueryInterface)(ITBasicCallControl *This,REFIID riid,void **ppvObject);
   1965       ULONG (WINAPI *AddRef)(ITBasicCallControl *This);
   1966       ULONG (WINAPI *Release)(ITBasicCallControl *This);
   1967       HRESULT (WINAPI *GetTypeInfoCount)(ITBasicCallControl *This,UINT *pctinfo);
   1968       HRESULT (WINAPI *GetTypeInfo)(ITBasicCallControl *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   1969       HRESULT (WINAPI *GetIDsOfNames)(ITBasicCallControl *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   1970       HRESULT (WINAPI *Invoke)(ITBasicCallControl *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   1971       HRESULT (WINAPI *Connect)(ITBasicCallControl *This,VARIANT_BOOL fSync);
   1972       HRESULT (WINAPI *Answer)(ITBasicCallControl *This);
   1973       HRESULT (WINAPI *Disconnect)(ITBasicCallControl *This,DISCONNECT_CODE code);
   1974       HRESULT (WINAPI *Hold)(ITBasicCallControl *This,VARIANT_BOOL fHold);
   1975       HRESULT (WINAPI *HandoffDirect)(ITBasicCallControl *This,BSTR pApplicationName);
   1976       HRESULT (WINAPI *HandoffIndirect)(ITBasicCallControl *This,__LONG32 lMediaType);
   1977       HRESULT (WINAPI *Conference)(ITBasicCallControl *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync);
   1978       HRESULT (WINAPI *Transfer)(ITBasicCallControl *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync);
   1979       HRESULT (WINAPI *BlindTransfer)(ITBasicCallControl *This,BSTR pDestAddress);
   1980       HRESULT (WINAPI *SwapHold)(ITBasicCallControl *This,ITBasicCallControl *pCall);
   1981       HRESULT (WINAPI *ParkDirect)(ITBasicCallControl *This,BSTR pParkAddress);
   1982       HRESULT (WINAPI *ParkIndirect)(ITBasicCallControl *This,BSTR *ppNonDirAddress);
   1983       HRESULT (WINAPI *Unpark)(ITBasicCallControl *This);
   1984       HRESULT (WINAPI *SetQOS)(ITBasicCallControl *This,__LONG32 lMediaType,QOS_SERVICE_LEVEL ServiceLevel);
   1985       HRESULT (WINAPI *Pickup)(ITBasicCallControl *This,BSTR pGroupID);
   1986       HRESULT (WINAPI *Dial)(ITBasicCallControl *This,BSTR pDestAddress);
   1987       HRESULT (WINAPI *Finish)(ITBasicCallControl *This,FINISH_MODE finishMode);
   1988       HRESULT (WINAPI *RemoveFromConference)(ITBasicCallControl *This);
   1989     END_INTERFACE
   1990   } ITBasicCallControlVtbl;
   1991   struct ITBasicCallControl {
   1992     CONST_VTBL struct ITBasicCallControlVtbl *lpVtbl;
   1993   };
   1994 #ifdef COBJMACROS
   1995 #define ITBasicCallControl_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   1996 #define ITBasicCallControl_AddRef(This) (This)->lpVtbl->AddRef(This)
   1997 #define ITBasicCallControl_Release(This) (This)->lpVtbl->Release(This)
   1998 #define ITBasicCallControl_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   1999 #define ITBasicCallControl_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2000 #define ITBasicCallControl_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2001 #define ITBasicCallControl_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2002 #define ITBasicCallControl_Connect(This,fSync) (This)->lpVtbl->Connect(This,fSync)
   2003 #define ITBasicCallControl_Answer(This) (This)->lpVtbl->Answer(This)
   2004 #define ITBasicCallControl_Disconnect(This,code) (This)->lpVtbl->Disconnect(This,code)
   2005 #define ITBasicCallControl_Hold(This,fHold) (This)->lpVtbl->Hold(This,fHold)
   2006 #define ITBasicCallControl_HandoffDirect(This,pApplicationName) (This)->lpVtbl->HandoffDirect(This,pApplicationName)
   2007 #define ITBasicCallControl_HandoffIndirect(This,lMediaType) (This)->lpVtbl->HandoffIndirect(This,lMediaType)
   2008 #define ITBasicCallControl_Conference(This,pCall,fSync) (This)->lpVtbl->Conference(This,pCall,fSync)
   2009 #define ITBasicCallControl_Transfer(This,pCall,fSync) (This)->lpVtbl->Transfer(This,pCall,fSync)
   2010 #define ITBasicCallControl_BlindTransfer(This,pDestAddress) (This)->lpVtbl->BlindTransfer(This,pDestAddress)
   2011 #define ITBasicCallControl_SwapHold(This,pCall) (This)->lpVtbl->SwapHold(This,pCall)
   2012 #define ITBasicCallControl_ParkDirect(This,pParkAddress) (This)->lpVtbl->ParkDirect(This,pParkAddress)
   2013 #define ITBasicCallControl_ParkIndirect(This,ppNonDirAddress) (This)->lpVtbl->ParkIndirect(This,ppNonDirAddress)
   2014 #define ITBasicCallControl_Unpark(This) (This)->lpVtbl->Unpark(This)
   2015 #define ITBasicCallControl_SetQOS(This,lMediaType,ServiceLevel) (This)->lpVtbl->SetQOS(This,lMediaType,ServiceLevel)
   2016 #define ITBasicCallControl_Pickup(This,pGroupID) (This)->lpVtbl->Pickup(This,pGroupID)
   2017 #define ITBasicCallControl_Dial(This,pDestAddress) (This)->lpVtbl->Dial(This,pDestAddress)
   2018 #define ITBasicCallControl_Finish(This,finishMode) (This)->lpVtbl->Finish(This,finishMode)
   2019 #define ITBasicCallControl_RemoveFromConference(This) (This)->lpVtbl->RemoveFromConference(This)
   2020 #endif
   2021 #endif
   2022   HRESULT WINAPI ITBasicCallControl_Connect_Proxy(ITBasicCallControl *This,VARIANT_BOOL fSync);
   2023   void __RPC_STUB ITBasicCallControl_Connect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2024   HRESULT WINAPI ITBasicCallControl_Answer_Proxy(ITBasicCallControl *This);
   2025   void __RPC_STUB ITBasicCallControl_Answer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2026   HRESULT WINAPI ITBasicCallControl_Disconnect_Proxy(ITBasicCallControl *This,DISCONNECT_CODE code);
   2027   void __RPC_STUB ITBasicCallControl_Disconnect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2028   HRESULT WINAPI ITBasicCallControl_Hold_Proxy(ITBasicCallControl *This,VARIANT_BOOL fHold);
   2029   void __RPC_STUB ITBasicCallControl_Hold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2030   HRESULT WINAPI ITBasicCallControl_HandoffDirect_Proxy(ITBasicCallControl *This,BSTR pApplicationName);
   2031   void __RPC_STUB ITBasicCallControl_HandoffDirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2032   HRESULT WINAPI ITBasicCallControl_HandoffIndirect_Proxy(ITBasicCallControl *This,__LONG32 lMediaType);
   2033   void __RPC_STUB ITBasicCallControl_HandoffIndirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2034   HRESULT WINAPI ITBasicCallControl_Conference_Proxy(ITBasicCallControl *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync);
   2035   void __RPC_STUB ITBasicCallControl_Conference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2036   HRESULT WINAPI ITBasicCallControl_Transfer_Proxy(ITBasicCallControl *This,ITBasicCallControl *pCall,VARIANT_BOOL fSync);
   2037   void __RPC_STUB ITBasicCallControl_Transfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2038   HRESULT WINAPI ITBasicCallControl_BlindTransfer_Proxy(ITBasicCallControl *This,BSTR pDestAddress);
   2039   void __RPC_STUB ITBasicCallControl_BlindTransfer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2040   HRESULT WINAPI ITBasicCallControl_SwapHold_Proxy(ITBasicCallControl *This,ITBasicCallControl *pCall);
   2041   void __RPC_STUB ITBasicCallControl_SwapHold_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2042   HRESULT WINAPI ITBasicCallControl_ParkDirect_Proxy(ITBasicCallControl *This,BSTR pParkAddress);
   2043   void __RPC_STUB ITBasicCallControl_ParkDirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2044   HRESULT WINAPI ITBasicCallControl_ParkIndirect_Proxy(ITBasicCallControl *This,BSTR *ppNonDirAddress);
   2045   void __RPC_STUB ITBasicCallControl_ParkIndirect_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2046   HRESULT WINAPI ITBasicCallControl_Unpark_Proxy(ITBasicCallControl *This);
   2047   void __RPC_STUB ITBasicCallControl_Unpark_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2048   HRESULT WINAPI ITBasicCallControl_SetQOS_Proxy(ITBasicCallControl *This,__LONG32 lMediaType,QOS_SERVICE_LEVEL ServiceLevel);
   2049   void __RPC_STUB ITBasicCallControl_SetQOS_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2050   HRESULT WINAPI ITBasicCallControl_Pickup_Proxy(ITBasicCallControl *This,BSTR pGroupID);
   2051   void __RPC_STUB ITBasicCallControl_Pickup_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2052   HRESULT WINAPI ITBasicCallControl_Dial_Proxy(ITBasicCallControl *This,BSTR pDestAddress);
   2053   void __RPC_STUB ITBasicCallControl_Dial_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2054   HRESULT WINAPI ITBasicCallControl_Finish_Proxy(ITBasicCallControl *This,FINISH_MODE finishMode);
   2055   void __RPC_STUB ITBasicCallControl_Finish_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2056   HRESULT WINAPI ITBasicCallControl_RemoveFromConference_Proxy(ITBasicCallControl *This);
   2057   void __RPC_STUB ITBasicCallControl_RemoveFromConference_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2058 #endif
   2059 
   2060 #ifndef __ITCallInfo_INTERFACE_DEFINED__
   2061 #define __ITCallInfo_INTERFACE_DEFINED__
   2062   EXTERN_C const IID IID_ITCallInfo;
   2063 #if defined(__cplusplus) && !defined(CINTERFACE)
   2064   struct ITCallInfo : public IDispatch {
   2065   public:
   2066     virtual HRESULT WINAPI get_Address(ITAddress **ppAddress) = 0;
   2067     virtual HRESULT WINAPI get_CallState(CALL_STATE *pCallState) = 0;
   2068     virtual HRESULT WINAPI get_Privilege(CALL_PRIVILEGE *pPrivilege) = 0;
   2069     virtual HRESULT WINAPI get_CallHub(ITCallHub **ppCallHub) = 0;
   2070     virtual HRESULT WINAPI get_CallInfoLong(CALLINFO_LONG CallInfoLong,__LONG32 *plCallInfoLongVal) = 0;
   2071     virtual HRESULT WINAPI put_CallInfoLong(CALLINFO_LONG CallInfoLong,__LONG32 lCallInfoLongVal) = 0;
   2072     virtual HRESULT WINAPI get_CallInfoString(CALLINFO_STRING CallInfoString,BSTR *ppCallInfoString) = 0;
   2073     virtual HRESULT WINAPI put_CallInfoString(CALLINFO_STRING CallInfoString,BSTR pCallInfoString) = 0;
   2074     virtual HRESULT WINAPI get_CallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer,VARIANT *ppCallInfoBuffer) = 0;
   2075     virtual HRESULT WINAPI put_CallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer,VARIANT pCallInfoBuffer) = 0;
   2076     virtual HRESULT WINAPI GetCallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer,DWORD *pdwSize,BYTE **ppCallInfoBuffer) = 0;
   2077     virtual HRESULT WINAPI SetCallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer,DWORD dwSize,BYTE *pCallInfoBuffer) = 0;
   2078     virtual HRESULT WINAPI ReleaseUserUserInfo(void) = 0;
   2079   };
   2080 #else
   2081   typedef struct ITCallInfoVtbl {
   2082     BEGIN_INTERFACE
   2083       HRESULT (WINAPI *QueryInterface)(ITCallInfo *This,REFIID riid,void **ppvObject);
   2084       ULONG (WINAPI *AddRef)(ITCallInfo *This);
   2085       ULONG (WINAPI *Release)(ITCallInfo *This);
   2086       HRESULT (WINAPI *GetTypeInfoCount)(ITCallInfo *This,UINT *pctinfo);
   2087       HRESULT (WINAPI *GetTypeInfo)(ITCallInfo *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2088       HRESULT (WINAPI *GetIDsOfNames)(ITCallInfo *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2089       HRESULT (WINAPI *Invoke)(ITCallInfo *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2090       HRESULT (WINAPI *get_Address)(ITCallInfo *This,ITAddress **ppAddress);
   2091       HRESULT (WINAPI *get_CallState)(ITCallInfo *This,CALL_STATE *pCallState);
   2092       HRESULT (WINAPI *get_Privilege)(ITCallInfo *This,CALL_PRIVILEGE *pPrivilege);
   2093       HRESULT (WINAPI *get_CallHub)(ITCallInfo *This,ITCallHub **ppCallHub);
   2094       HRESULT (WINAPI *get_CallInfoLong)(ITCallInfo *This,CALLINFO_LONG CallInfoLong,__LONG32 *plCallInfoLongVal);
   2095       HRESULT (WINAPI *put_CallInfoLong)(ITCallInfo *This,CALLINFO_LONG CallInfoLong,__LONG32 lCallInfoLongVal);
   2096       HRESULT (WINAPI *get_CallInfoString)(ITCallInfo *This,CALLINFO_STRING CallInfoString,BSTR *ppCallInfoString);
   2097       HRESULT (WINAPI *put_CallInfoString)(ITCallInfo *This,CALLINFO_STRING CallInfoString,BSTR pCallInfoString);
   2098       HRESULT (WINAPI *get_CallInfoBuffer)(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT *ppCallInfoBuffer);
   2099       HRESULT (WINAPI *put_CallInfoBuffer)(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT pCallInfoBuffer);
   2100       HRESULT (WINAPI *GetCallInfoBuffer)(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,DWORD *pdwSize,BYTE **ppCallInfoBuffer);
   2101       HRESULT (WINAPI *SetCallInfoBuffer)(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,DWORD dwSize,BYTE *pCallInfoBuffer);
   2102       HRESULT (WINAPI *ReleaseUserUserInfo)(ITCallInfo *This);
   2103     END_INTERFACE
   2104   } ITCallInfoVtbl;
   2105   struct ITCallInfo {
   2106     CONST_VTBL struct ITCallInfoVtbl *lpVtbl;
   2107   };
   2108 #ifdef COBJMACROS
   2109 #define ITCallInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2110 #define ITCallInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
   2111 #define ITCallInfo_Release(This) (This)->lpVtbl->Release(This)
   2112 #define ITCallInfo_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2113 #define ITCallInfo_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2114 #define ITCallInfo_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2115 #define ITCallInfo_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2116 #define ITCallInfo_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress)
   2117 #define ITCallInfo_get_CallState(This,pCallState) (This)->lpVtbl->get_CallState(This,pCallState)
   2118 #define ITCallInfo_get_Privilege(This,pPrivilege) (This)->lpVtbl->get_Privilege(This,pPrivilege)
   2119 #define ITCallInfo_get_CallHub(This,ppCallHub) (This)->lpVtbl->get_CallHub(This,ppCallHub)
   2120 #define ITCallInfo_get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal) (This)->lpVtbl->get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal)
   2121 #define ITCallInfo_put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal) (This)->lpVtbl->put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal)
   2122 #define ITCallInfo_get_CallInfoString(This,CallInfoString,ppCallInfoString) (This)->lpVtbl->get_CallInfoString(This,CallInfoString,ppCallInfoString)
   2123 #define ITCallInfo_put_CallInfoString(This,CallInfoString,pCallInfoString) (This)->lpVtbl->put_CallInfoString(This,CallInfoString,pCallInfoString)
   2124 #define ITCallInfo_get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer) (This)->lpVtbl->get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer)
   2125 #define ITCallInfo_put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer) (This)->lpVtbl->put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer)
   2126 #define ITCallInfo_GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer) (This)->lpVtbl->GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer)
   2127 #define ITCallInfo_SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer) (This)->lpVtbl->SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer)
   2128 #define ITCallInfo_ReleaseUserUserInfo(This) (This)->lpVtbl->ReleaseUserUserInfo(This)
   2129 #endif
   2130 #endif
   2131   HRESULT WINAPI ITCallInfo_get_Address_Proxy(ITCallInfo *This,ITAddress **ppAddress);
   2132   void __RPC_STUB ITCallInfo_get_Address_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2133   HRESULT WINAPI ITCallInfo_get_CallState_Proxy(ITCallInfo *This,CALL_STATE *pCallState);
   2134   void __RPC_STUB ITCallInfo_get_CallState_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2135   HRESULT WINAPI ITCallInfo_get_Privilege_Proxy(ITCallInfo *This,CALL_PRIVILEGE *pPrivilege);
   2136   void __RPC_STUB ITCallInfo_get_Privilege_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2137   HRESULT WINAPI ITCallInfo_get_CallHub_Proxy(ITCallInfo *This,ITCallHub **ppCallHub);
   2138   void __RPC_STUB ITCallInfo_get_CallHub_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2139   HRESULT WINAPI ITCallInfo_get_CallInfoLong_Proxy(ITCallInfo *This,CALLINFO_LONG CallInfoLong,__LONG32 *plCallInfoLongVal);
   2140   void __RPC_STUB ITCallInfo_get_CallInfoLong_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2141   HRESULT WINAPI ITCallInfo_put_CallInfoLong_Proxy(ITCallInfo *This,CALLINFO_LONG CallInfoLong,__LONG32 lCallInfoLongVal);
   2142   void __RPC_STUB ITCallInfo_put_CallInfoLong_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2143   HRESULT WINAPI ITCallInfo_get_CallInfoString_Proxy(ITCallInfo *This,CALLINFO_STRING CallInfoString,BSTR *ppCallInfoString);
   2144   void __RPC_STUB ITCallInfo_get_CallInfoString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2145   HRESULT WINAPI ITCallInfo_put_CallInfoString_Proxy(ITCallInfo *This,CALLINFO_STRING CallInfoString,BSTR pCallInfoString);
   2146   void __RPC_STUB ITCallInfo_put_CallInfoString_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2147   HRESULT WINAPI ITCallInfo_get_CallInfoBuffer_Proxy(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT *ppCallInfoBuffer);
   2148   void __RPC_STUB ITCallInfo_get_CallInfoBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2149   HRESULT WINAPI ITCallInfo_put_CallInfoBuffer_Proxy(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT pCallInfoBuffer);
   2150   void __RPC_STUB ITCallInfo_put_CallInfoBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2151   HRESULT WINAPI ITCallInfo_GetCallInfoBuffer_Proxy(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,DWORD *pdwSize,BYTE **ppCallInfoBuffer);
   2152   void __RPC_STUB ITCallInfo_GetCallInfoBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2153   HRESULT WINAPI ITCallInfo_SetCallInfoBuffer_Proxy(ITCallInfo *This,CALLINFO_BUFFER CallInfoBuffer,DWORD dwSize,BYTE *pCallInfoBuffer);
   2154   void __RPC_STUB ITCallInfo_SetCallInfoBuffer_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2155   HRESULT WINAPI ITCallInfo_ReleaseUserUserInfo_Proxy(ITCallInfo *This);
   2156   void __RPC_STUB ITCallInfo_ReleaseUserUserInfo_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2157 #endif
   2158 
   2159 #ifndef __ITCallInfo2_INTERFACE_DEFINED__
   2160 #define __ITCallInfo2_INTERFACE_DEFINED__
   2161   EXTERN_C const IID IID_ITCallInfo2;
   2162 #if defined(__cplusplus) && !defined(CINTERFACE)
   2163   struct ITCallInfo2 : public ITCallInfo {
   2164   public:
   2165     virtual HRESULT WINAPI get_EventFilter(TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable) = 0;
   2166     virtual HRESULT WINAPI put_EventFilter(TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable) = 0;
   2167   };
   2168 #else
   2169   typedef struct ITCallInfo2Vtbl {
   2170     BEGIN_INTERFACE
   2171       HRESULT (WINAPI *QueryInterface)(ITCallInfo2 *This,REFIID riid,void **ppvObject);
   2172       ULONG (WINAPI *AddRef)(ITCallInfo2 *This);
   2173       ULONG (WINAPI *Release)(ITCallInfo2 *This);
   2174       HRESULT (WINAPI *GetTypeInfoCount)(ITCallInfo2 *This,UINT *pctinfo);
   2175       HRESULT (WINAPI *GetTypeInfo)(ITCallInfo2 *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2176       HRESULT (WINAPI *GetIDsOfNames)(ITCallInfo2 *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2177       HRESULT (WINAPI *Invoke)(ITCallInfo2 *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2178       HRESULT (WINAPI *get_Address)(ITCallInfo2 *This,ITAddress **ppAddress);
   2179       HRESULT (WINAPI *get_CallState)(ITCallInfo2 *This,CALL_STATE *pCallState);
   2180       HRESULT (WINAPI *get_Privilege)(ITCallInfo2 *This,CALL_PRIVILEGE *pPrivilege);
   2181       HRESULT (WINAPI *get_CallHub)(ITCallInfo2 *This,ITCallHub **ppCallHub);
   2182       HRESULT (WINAPI *get_CallInfoLong)(ITCallInfo2 *This,CALLINFO_LONG CallInfoLong,__LONG32 *plCallInfoLongVal);
   2183       HRESULT (WINAPI *put_CallInfoLong)(ITCallInfo2 *This,CALLINFO_LONG CallInfoLong,__LONG32 lCallInfoLongVal);
   2184       HRESULT (WINAPI *get_CallInfoString)(ITCallInfo2 *This,CALLINFO_STRING CallInfoString,BSTR *ppCallInfoString);
   2185       HRESULT (WINAPI *put_CallInfoString)(ITCallInfo2 *This,CALLINFO_STRING CallInfoString,BSTR pCallInfoString);
   2186       HRESULT (WINAPI *get_CallInfoBuffer)(ITCallInfo2 *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT *ppCallInfoBuffer);
   2187       HRESULT (WINAPI *put_CallInfoBuffer)(ITCallInfo2 *This,CALLINFO_BUFFER CallInfoBuffer,VARIANT pCallInfoBuffer);
   2188       HRESULT (WINAPI *GetCallInfoBuffer)(ITCallInfo2 *This,CALLINFO_BUFFER CallInfoBuffer,DWORD *pdwSize,BYTE **ppCallInfoBuffer);
   2189       HRESULT (WINAPI *SetCallInfoBuffer)(ITCallInfo2 *This,CALLINFO_BUFFER CallInfoBuffer,DWORD dwSize,BYTE *pCallInfoBuffer);
   2190       HRESULT (WINAPI *ReleaseUserUserInfo)(ITCallInfo2 *This);
   2191       HRESULT (WINAPI *get_EventFilter)(ITCallInfo2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable);
   2192       HRESULT (WINAPI *put_EventFilter)(ITCallInfo2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable);
   2193     END_INTERFACE
   2194   } ITCallInfo2Vtbl;
   2195   struct ITCallInfo2 {
   2196     CONST_VTBL struct ITCallInfo2Vtbl *lpVtbl;
   2197   };
   2198 #ifdef COBJMACROS
   2199 #define ITCallInfo2_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2200 #define ITCallInfo2_AddRef(This) (This)->lpVtbl->AddRef(This)
   2201 #define ITCallInfo2_Release(This) (This)->lpVtbl->Release(This)
   2202 #define ITCallInfo2_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2203 #define ITCallInfo2_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2204 #define ITCallInfo2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2205 #define ITCallInfo2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2206 #define ITCallInfo2_get_Address(This,ppAddress) (This)->lpVtbl->get_Address(This,ppAddress)
   2207 #define ITCallInfo2_get_CallState(This,pCallState) (This)->lpVtbl->get_CallState(This,pCallState)
   2208 #define ITCallInfo2_get_Privilege(This,pPrivilege) (This)->lpVtbl->get_Privilege(This,pPrivilege)
   2209 #define ITCallInfo2_get_CallHub(This,ppCallHub) (This)->lpVtbl->get_CallHub(This,ppCallHub)
   2210 #define ITCallInfo2_get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal) (This)->lpVtbl->get_CallInfoLong(This,CallInfoLong,plCallInfoLongVal)
   2211 #define ITCallInfo2_put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal) (This)->lpVtbl->put_CallInfoLong(This,CallInfoLong,lCallInfoLongVal)
   2212 #define ITCallInfo2_get_CallInfoString(This,CallInfoString,ppCallInfoString) (This)->lpVtbl->get_CallInfoString(This,CallInfoString,ppCallInfoString)
   2213 #define ITCallInfo2_put_CallInfoString(This,CallInfoString,pCallInfoString) (This)->lpVtbl->put_CallInfoString(This,CallInfoString,pCallInfoString)
   2214 #define ITCallInfo2_get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer) (This)->lpVtbl->get_CallInfoBuffer(This,CallInfoBuffer,ppCallInfoBuffer)
   2215 #define ITCallInfo2_put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer) (This)->lpVtbl->put_CallInfoBuffer(This,CallInfoBuffer,pCallInfoBuffer)
   2216 #define ITCallInfo2_GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer) (This)->lpVtbl->GetCallInfoBuffer(This,CallInfoBuffer,pdwSize,ppCallInfoBuffer)
   2217 #define ITCallInfo2_SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer) (This)->lpVtbl->SetCallInfoBuffer(This,CallInfoBuffer,dwSize,pCallInfoBuffer)
   2218 #define ITCallInfo2_ReleaseUserUserInfo(This) (This)->lpVtbl->ReleaseUserUserInfo(This)
   2219 #define ITCallInfo2_get_EventFilter(This,TapiEvent,lSubEvent,pEnable) (This)->lpVtbl->get_EventFilter(This,TapiEvent,lSubEvent,pEnable)
   2220 #define ITCallInfo2_put_EventFilter(This,TapiEvent,lSubEvent,bEnable) (This)->lpVtbl->put_EventFilter(This,TapiEvent,lSubEvent,bEnable)
   2221 #endif
   2222 #endif
   2223   HRESULT WINAPI ITCallInfo2_get_EventFilter_Proxy(ITCallInfo2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL *pEnable);
   2224   void __RPC_STUB ITCallInfo2_get_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2225   HRESULT WINAPI ITCallInfo2_put_EventFilter_Proxy(ITCallInfo2 *This,TAPI_EVENT TapiEvent,__LONG32 lSubEvent,VARIANT_BOOL bEnable);
   2226   void __RPC_STUB ITCallInfo2_put_EventFilter_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2227 #endif
   2228 
   2229 #ifndef __ITTerminal_INTERFACE_DEFINED__
   2230 #define __ITTerminal_INTERFACE_DEFINED__
   2231   EXTERN_C const IID IID_ITTerminal;
   2232 #if defined(__cplusplus) && !defined(CINTERFACE)
   2233   struct ITTerminal : public IDispatch {
   2234   public:
   2235     virtual HRESULT WINAPI get_Name(BSTR *ppName) = 0;
   2236     virtual HRESULT WINAPI get_State(TERMINAL_STATE *pTerminalState) = 0;
   2237     virtual HRESULT WINAPI get_TerminalType(TERMINAL_TYPE *pType) = 0;
   2238     virtual HRESULT WINAPI get_TerminalClass(BSTR *ppTerminalClass) = 0;
   2239     virtual HRESULT WINAPI get_MediaType(__LONG32 *plMediaType) = 0;
   2240     virtual HRESULT WINAPI get_Direction(TERMINAL_DIRECTION *pDirection) = 0;
   2241   };
   2242 #else
   2243   typedef struct ITTerminalVtbl {
   2244     BEGIN_INTERFACE
   2245       HRESULT (WINAPI *QueryInterface)(ITTerminal *This,REFIID riid,void **ppvObject);
   2246       ULONG (WINAPI *AddRef)(ITTerminal *This);
   2247       ULONG (WINAPI *Release)(ITTerminal *This);
   2248       HRESULT (WINAPI *GetTypeInfoCount)(ITTerminal *This,UINT *pctinfo);
   2249       HRESULT (WINAPI *GetTypeInfo)(ITTerminal *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2250       HRESULT (WINAPI *GetIDsOfNames)(ITTerminal *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2251       HRESULT (WINAPI *Invoke)(ITTerminal *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2252       HRESULT (WINAPI *get_Name)(ITTerminal *This,BSTR *ppName);
   2253       HRESULT (WINAPI *get_State)(ITTerminal *This,TERMINAL_STATE *pTerminalState);
   2254       HRESULT (WINAPI *get_TerminalType)(ITTerminal *This,TERMINAL_TYPE *pType);
   2255       HRESULT (WINAPI *get_TerminalClass)(ITTerminal *This,BSTR *ppTerminalClass);
   2256       HRESULT (WINAPI *get_MediaType)(ITTerminal *This,__LONG32 *plMediaType);
   2257       HRESULT (WINAPI *get_Direction)(ITTerminal *This,TERMINAL_DIRECTION *pDirection);
   2258     END_INTERFACE
   2259   } ITTerminalVtbl;
   2260   struct ITTerminal {
   2261     CONST_VTBL struct ITTerminalVtbl *lpVtbl;
   2262   };
   2263 #ifdef COBJMACROS
   2264 #define ITTerminal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2265 #define ITTerminal_AddRef(This) (This)->lpVtbl->AddRef(This)
   2266 #define ITTerminal_Release(This) (This)->lpVtbl->Release(This)
   2267 #define ITTerminal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2268 #define ITTerminal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2269 #define ITTerminal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2270 #define ITTerminal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2271 #define ITTerminal_get_Name(This,ppName) (This)->lpVtbl->get_Name(This,ppName)
   2272 #define ITTerminal_get_State(This,pTerminalState) (This)->lpVtbl->get_State(This,pTerminalState)
   2273 #define ITTerminal_get_TerminalType(This,pType) (This)->lpVtbl->get_TerminalType(This,pType)
   2274 #define ITTerminal_get_TerminalClass(This,ppTerminalClass) (This)->lpVtbl->get_TerminalClass(This,ppTerminalClass)
   2275 #define ITTerminal_get_MediaType(This,plMediaType) (This)->lpVtbl->get_MediaType(This,plMediaType)
   2276 #define ITTerminal_get_Direction(This,pDirection) (This)->lpVtbl->get_Direction(This,pDirection)
   2277 #endif
   2278 #endif
   2279   HRESULT WINAPI ITTerminal_get_Name_Proxy(ITTerminal *This,BSTR *ppName);
   2280   void __RPC_STUB ITTerminal_get_Name_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2281   HRESULT WINAPI ITTerminal_get_State_Proxy(ITTerminal *This,TERMINAL_STATE *pTerminalState);
   2282   void __RPC_STUB ITTerminal_get_State_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2283   HRESULT WINAPI ITTerminal_get_TerminalType_Proxy(ITTerminal *This,TERMINAL_TYPE *pType);
   2284   void __RPC_STUB ITTerminal_get_TerminalType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2285   HRESULT WINAPI ITTerminal_get_TerminalClass_Proxy(ITTerminal *This,BSTR *ppTerminalClass);
   2286   void __RPC_STUB ITTerminal_get_TerminalClass_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2287   HRESULT WINAPI ITTerminal_get_MediaType_Proxy(ITTerminal *This,__LONG32 *plMediaType);
   2288   void __RPC_STUB ITTerminal_get_MediaType_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2289   HRESULT WINAPI ITTerminal_get_Direction_Proxy(ITTerminal *This,TERMINAL_DIRECTION *pDirection);
   2290   void __RPC_STUB ITTerminal_get_Direction_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2291 #endif
   2292 
   2293 #ifndef __ITMultiTrackTerminal_INTERFACE_DEFINED__
   2294 #define __ITMultiTrackTerminal_INTERFACE_DEFINED__
   2295   EXTERN_C const IID IID_ITMultiTrackTerminal;
   2296 #if defined(__cplusplus) && !defined(CINTERFACE)
   2297   struct ITMultiTrackTerminal : public IDispatch {
   2298   public:
   2299     virtual HRESULT WINAPI get_TrackTerminals(VARIANT *pVariant) = 0;
   2300     virtual HRESULT WINAPI EnumerateTrackTerminals(IEnumTerminal **ppEnumTerminal) = 0;
   2301     virtual HRESULT WINAPI CreateTrackTerminal(__LONG32 MediaType,TERMINAL_DIRECTION TerminalDirection,ITTerminal **ppTerminal) = 0;
   2302     virtual HRESULT WINAPI get_MediaTypesInUse(__LONG32 *plMediaTypesInUse) = 0;
   2303     virtual HRESULT WINAPI get_DirectionsInUse(TERMINAL_DIRECTION *plDirectionsInUsed) = 0;
   2304     virtual HRESULT WINAPI RemoveTrackTerminal(ITTerminal *pTrackTerminalToRemove) = 0;
   2305   };
   2306 #else
   2307   typedef struct ITMultiTrackTerminalVtbl {
   2308     BEGIN_INTERFACE
   2309       HRESULT (WINAPI *QueryInterface)(ITMultiTrackTerminal *This,REFIID riid,void **ppvObject);
   2310       ULONG (WINAPI *AddRef)(ITMultiTrackTerminal *This);
   2311       ULONG (WINAPI *Release)(ITMultiTrackTerminal *This);
   2312       HRESULT (WINAPI *GetTypeInfoCount)(ITMultiTrackTerminal *This,UINT *pctinfo);
   2313       HRESULT (WINAPI *GetTypeInfo)(ITMultiTrackTerminal *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2314       HRESULT (WINAPI *GetIDsOfNames)(ITMultiTrackTerminal *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2315       HRESULT (WINAPI *Invoke)(ITMultiTrackTerminal *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2316       HRESULT (WINAPI *get_TrackTerminals)(ITMultiTrackTerminal *This,VARIANT *pVariant);
   2317       HRESULT (WINAPI *EnumerateTrackTerminals)(ITMultiTrackTerminal *This,IEnumTerminal **ppEnumTerminal);
   2318       HRESULT (WINAPI *CreateTrackTerminal)(ITMultiTrackTerminal *This,__LONG32 MediaType,TERMINAL_DIRECTION TerminalDirection,ITTerminal **ppTerminal);
   2319       HRESULT (WINAPI *get_MediaTypesInUse)(ITMultiTrackTerminal *This,__LONG32 *plMediaTypesInUse);
   2320       HRESULT (WINAPI *get_DirectionsInUse)(ITMultiTrackTerminal *This,TERMINAL_DIRECTION *plDirectionsInUsed);
   2321       HRESULT (WINAPI *RemoveTrackTerminal)(ITMultiTrackTerminal *This,ITTerminal *pTrackTerminalToRemove);
   2322     END_INTERFACE
   2323   } ITMultiTrackTerminalVtbl;
   2324   struct ITMultiTrackTerminal {
   2325     CONST_VTBL struct ITMultiTrackTerminalVtbl *lpVtbl;
   2326   };
   2327 #ifdef COBJMACROS
   2328 #define ITMultiTrackTerminal_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2329 #define ITMultiTrackTerminal_AddRef(This) (This)->lpVtbl->AddRef(This)
   2330 #define ITMultiTrackTerminal_Release(This) (This)->lpVtbl->Release(This)
   2331 #define ITMultiTrackTerminal_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2332 #define ITMultiTrackTerminal_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2333 #define ITMultiTrackTerminal_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2334 #define ITMultiTrackTerminal_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2335 #define ITMultiTrackTerminal_get_TrackTerminals(This,pVariant) (This)->lpVtbl->get_TrackTerminals(This,pVariant)
   2336 #define ITMultiTrackTerminal_EnumerateTrackTerminals(This,ppEnumTerminal) (This)->lpVtbl->EnumerateTrackTerminals(This,ppEnumTerminal)
   2337 #define ITMultiTrackTerminal_CreateTrackTerminal(This,MediaType,TerminalDirection,ppTerminal) (This)->lpVtbl->CreateTrackTerminal(This,MediaType,TerminalDirection,ppTerminal)
   2338 #define ITMultiTrackTerminal_get_MediaTypesInUse(This,plMediaTypesInUse) (This)->lpVtbl->get_MediaTypesInUse(This,plMediaTypesInUse)
   2339 #define ITMultiTrackTerminal_get_DirectionsInUse(This,plDirectionsInUsed) (This)->lpVtbl->get_DirectionsInUse(This,plDirectionsInUsed)
   2340 #define ITMultiTrackTerminal_RemoveTrackTerminal(This,pTrackTerminalToRemove) (This)->lpVtbl->RemoveTrackTerminal(This,pTrackTerminalToRemove)
   2341 #endif
   2342 #endif
   2343   HRESULT WINAPI ITMultiTrackTerminal_get_TrackTerminals_Proxy(ITMultiTrackTerminal *This,VARIANT *pVariant);
   2344   void __RPC_STUB ITMultiTrackTerminal_get_TrackTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2345   HRESULT WINAPI ITMultiTrackTerminal_EnumerateTrackTerminals_Proxy(ITMultiTrackTerminal *This,IEnumTerminal **ppEnumTerminal);
   2346   void __RPC_STUB ITMultiTrackTerminal_EnumerateTrackTerminals_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2347   HRESULT WINAPI ITMultiTrackTerminal_CreateTrackTerminal_Proxy(ITMultiTrackTerminal *This,__LONG32 MediaType,TERMINAL_DIRECTION TerminalDirection,ITTerminal **ppTerminal);
   2348   void __RPC_STUB ITMultiTrackTerminal_CreateTrackTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2349   HRESULT WINAPI ITMultiTrackTerminal_get_MediaTypesInUse_Proxy(ITMultiTrackTerminal *This,__LONG32 *plMediaTypesInUse);
   2350   void __RPC_STUB ITMultiTrackTerminal_get_MediaTypesInUse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2351   HRESULT WINAPI ITMultiTrackTerminal_get_DirectionsInUse_Proxy(ITMultiTrackTerminal *This,TERMINAL_DIRECTION *plDirectionsInUsed);
   2352   void __RPC_STUB ITMultiTrackTerminal_get_DirectionsInUse_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2353   HRESULT WINAPI ITMultiTrackTerminal_RemoveTrackTerminal_Proxy(ITMultiTrackTerminal *This,ITTerminal *pTrackTerminalToRemove);
   2354   void __RPC_STUB ITMultiTrackTerminal_RemoveTrackTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2355 #endif
   2356 
   2357   typedef enum TERMINAL_MEDIA_STATE {
   2358     TMS_IDLE = 0,
   2359     TMS_ACTIVE,TMS_PAUSED,
   2360     TMS_LASTITEM = TMS_PAUSED
   2361   } TERMINAL_MEDIA_STATE;
   2362 
   2363   typedef enum FT_STATE_EVENT_CAUSE {
   2364     FTEC_NORMAL = 0,
   2365     FTEC_END_OF_FILE,FTEC_READ_ERROR,FTEC_WRITE_ERROR
   2366   } FT_STATE_EVENT_CAUSE;
   2367 
   2368   extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0433_v0_0_c_ifspec;
   2369   extern RPC_IF_HANDLE __MIDL_itf_tapi3if_0433_v0_0_s_ifspec;
   2370 #ifndef __ITFileTrack_INTERFACE_DEFINED__
   2371 #define __ITFileTrack_INTERFACE_DEFINED__
   2372   EXTERN_C const IID IID_ITFileTrack;
   2373 #if defined(__cplusplus) && !defined(CINTERFACE)
   2374   struct ITFileTrack : public IDispatch {
   2375   public:
   2376     virtual HRESULT WINAPI get_Format(AM_MEDIA_TYPE **ppmt) = 0;
   2377     virtual HRESULT WINAPI put_Format(const AM_MEDIA_TYPE *pmt) = 0;
   2378     virtual HRESULT WINAPI get_ControllingTerminal(ITTerminal **ppControllingTerminal) = 0;
   2379     virtual HRESULT WINAPI get_AudioFormatForScripting(ITScriptableAudioFormat **ppAudioFormat) = 0;
   2380     virtual HRESULT WINAPI put_AudioFormatForScripting(ITScriptableAudioFormat *pAudioFormat) = 0;
   2381     virtual HRESULT WINAPI get_EmptyAudioFormatForScripting(ITScriptableAudioFormat **ppAudioFormat) = 0;
   2382   };
   2383 #else
   2384   typedef struct ITFileTrackVtbl {
   2385     BEGIN_INTERFACE
   2386       HRESULT (WINAPI *QueryInterface)(ITFileTrack *This,REFIID riid,void **ppvObject);
   2387       ULONG (WINAPI *AddRef)(ITFileTrack *This);
   2388       ULONG (WINAPI *Release)(ITFileTrack *This);
   2389       HRESULT (WINAPI *GetTypeInfoCount)(ITFileTrack *This,UINT *pctinfo);
   2390       HRESULT (WINAPI *GetTypeInfo)(ITFileTrack *This,UINT iTInfo,LCID lcid,ITypeInfo **ppTInfo);
   2391       HRESULT (WINAPI *GetIDsOfNames)(ITFileTrack *This,REFIID riid,LPOLESTR *rgszNames,UINT cNames,LCID lcid,DISPID *rgDispId);
   2392       HRESULT (WINAPI *Invoke)(ITFileTrack *This,DISPID dispIdMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pDispParams,VARIANT *pVarResult,EXCEPINFO *pExcepInfo,UINT *puArgErr);
   2393       HRESULT (WINAPI *get_Format)(ITFileTrack *This,AM_MEDIA_TYPE **ppmt);
   2394       HRESULT (WINAPI *put_Format)(ITFileTrack *This,const AM_MEDIA_TYPE *pmt);
   2395       HRESULT (WINAPI *get_ControllingTerminal)(ITFileTrack *This,ITTerminal **ppControllingTerminal);
   2396       HRESULT (WINAPI *get_AudioFormatForScripting)(ITFileTrack *This,ITScriptableAudioFormat **ppAudioFormat);
   2397       HRESULT (WINAPI *put_AudioFormatForScripting)(ITFileTrack *This,ITScriptableAudioFormat *pAudioFormat);
   2398       HRESULT (WINAPI *get_EmptyAudioFormatForScripting)(ITFileTrack *This,ITScriptableAudioFormat **ppAudioFormat);
   2399     END_INTERFACE
   2400   } ITFileTrackVtbl;
   2401   struct ITFileTrack {
   2402     CONST_VTBL struct ITFileTrackVtbl *lpVtbl;
   2403   };
   2404 #ifdef COBJMACROS
   2405 #define ITFileTrack_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
   2406 #define ITFileTrack_AddRef(This) (This)->lpVtbl->AddRef(This)
   2407 #define ITFileTrack_Release(This) (This)->lpVtbl->Release(This)
   2408 #define ITFileTrack_GetTypeInfoCount(This,pctinfo) (This)->lpVtbl->GetTypeInfoCount(This,pctinfo)
   2409 #define ITFileTrack_GetTypeInfo(This,iTInfo,lcid,ppTInfo) (This)->lpVtbl->GetTypeInfo(This,iTInfo,lcid,ppTInfo)
   2410 #define ITFileTrack_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) (This)->lpVtbl->GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)
   2411 #define ITFileTrack_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) (This)->lpVtbl->Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)
   2412 #define ITFileTrack_get_Format(This,ppmt) (This)->lpVtbl->get_Format(This,ppmt)
   2413 #define ITFileTrack_put_Format(This,pmt) (This)->lpVtbl->put_Format(This,pmt)
   2414 #define ITFileTrack_get_ControllingTerminal(This,ppControllingTerminal) (This)->lpVtbl->get_ControllingTerminal(This,ppControllingTerminal)
   2415 #define ITFileTrack_get_AudioFormatForScripting(This,ppAudioFormat) (This)->lpVtbl->get_AudioFormatForScripting(This,ppAudioFormat)
   2416 #define ITFileTrack_put_AudioFormatForScripting(This,pAudioFormat) (This)->lpVtbl->put_AudioFormatForScripting(This,pAudioFormat)
   2417 #define ITFileTrack_get_EmptyAudioFormatForScripting(This,ppAudioFormat) (This)->lpVtbl->get_EmptyAudioFormatForScripting(This,ppAudioFormat)
   2418 #endif
   2419 #endif
   2420   HRESULT WINAPI ITFileTrack_get_Format_Proxy(ITFileTrack *This,AM_MEDIA_TYPE **ppmt);
   2421   void __RPC_STUB ITFileTrack_get_Format_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2422   HRESULT WINAPI ITFileTrack_put_Format_Proxy(ITFileTrack *This,const AM_MEDIA_TYPE *pmt);
   2423   void __RPC_STUB ITFileTrack_put_Format_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2424   HRESULT WINAPI ITFileTrack_get_ControllingTerminal_Proxy(ITFileTrack *This,ITTerminal **ppControllingTerminal);
   2425   void __RPC_STUB ITFileTrack_get_ControllingTerminal_Stub(IRpcStubBuffer *This,IRpcChannelBuffer *_pRpcChannelBuffer,PRPC_MESSAGE _pRpcMessage,DWORD *_pdwStubPhase);
   2426   HRESULT WINAPI ITFileTrack_get_AudioFormatForScripting_Proxy(ITFileTrack *This,ITScriptableAudioFormat **ppAudioFormat);
   2427   void