alg.h 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070
  1. #pragma warning( disable: 4049 ) /* more than 64k source lines */
  2. /* this ALWAYS GENERATED file contains the definitions for the interfaces */
  3. /* File created by MIDL compiler version 6.00.0347 */
  4. /* Compiler settings for alg.idl:
  5. Oicf, W1, Zp8, env=Win32 (32b run)
  6. protocol : dce , ms_ext, c_ext, robust
  7. error checks: allocation ref bounds_check enum stub_data
  8. VC __declspec() decoration level:
  9. __declspec(uuid()), __declspec(selectany), __declspec(novtable)
  10. DECLSPEC_UUID(), MIDL_INTERFACE()
  11. */
  12. //@@MIDL_FILE_HEADING( )
  13. /* verify that the <rpcndr.h> version is high enough to compile this file*/
  14. #ifndef __REQUIRED_RPCNDR_H_VERSION__
  15. #define __REQUIRED_RPCNDR_H_VERSION__ 475
  16. #endif
  17. #include "rpc.h"
  18. #include "rpcndr.h"
  19. #ifndef __RPCNDR_H_VERSION__
  20. #error this stub requires an updated version of <rpcndr.h>
  21. #endif // __RPCNDR_H_VERSION__
  22. #ifndef COM_NO_WINDOWS_H
  23. #include "windows.h"
  24. #include "ole2.h"
  25. #endif /*COM_NO_WINDOWS_H*/
  26. #ifndef __alg_h__
  27. #define __alg_h__
  28. #if defined(_MSC_VER) && (_MSC_VER >= 1020)
  29. #pragma once
  30. #endif
  31. /* Forward Declarations */
  32. #ifndef __IAdapterInfo_FWD_DEFINED__
  33. #define __IAdapterInfo_FWD_DEFINED__
  34. typedef interface IAdapterInfo IAdapterInfo;
  35. #endif /* __IAdapterInfo_FWD_DEFINED__ */
  36. #ifndef __IPendingProxyConnection_FWD_DEFINED__
  37. #define __IPendingProxyConnection_FWD_DEFINED__
  38. typedef interface IPendingProxyConnection IPendingProxyConnection;
  39. #endif /* __IPendingProxyConnection_FWD_DEFINED__ */
  40. #ifndef __IDataChannel_FWD_DEFINED__
  41. #define __IDataChannel_FWD_DEFINED__
  42. typedef interface IDataChannel IDataChannel;
  43. #endif /* __IDataChannel_FWD_DEFINED__ */
  44. #ifndef __IPersistentDataChannel_FWD_DEFINED__
  45. #define __IPersistentDataChannel_FWD_DEFINED__
  46. typedef interface IPersistentDataChannel IPersistentDataChannel;
  47. #endif /* __IPersistentDataChannel_FWD_DEFINED__ */
  48. #ifndef __IPrimaryControlChannel_FWD_DEFINED__
  49. #define __IPrimaryControlChannel_FWD_DEFINED__
  50. typedef interface IPrimaryControlChannel IPrimaryControlChannel;
  51. #endif /* __IPrimaryControlChannel_FWD_DEFINED__ */
  52. #ifndef __ISecondaryControlChannel_FWD_DEFINED__
  53. #define __ISecondaryControlChannel_FWD_DEFINED__
  54. typedef interface ISecondaryControlChannel ISecondaryControlChannel;
  55. #endif /* __ISecondaryControlChannel_FWD_DEFINED__ */
  56. #ifndef __IEnumAdapterInfo_FWD_DEFINED__
  57. #define __IEnumAdapterInfo_FWD_DEFINED__
  58. typedef interface IEnumAdapterInfo IEnumAdapterInfo;
  59. #endif /* __IEnumAdapterInfo_FWD_DEFINED__ */
  60. #ifndef __IAdapterNotificationSink_FWD_DEFINED__
  61. #define __IAdapterNotificationSink_FWD_DEFINED__
  62. typedef interface IAdapterNotificationSink IAdapterNotificationSink;
  63. #endif /* __IAdapterNotificationSink_FWD_DEFINED__ */
  64. #ifndef __IApplicationGatewayServices_FWD_DEFINED__
  65. #define __IApplicationGatewayServices_FWD_DEFINED__
  66. typedef interface IApplicationGatewayServices IApplicationGatewayServices;
  67. #endif /* __IApplicationGatewayServices_FWD_DEFINED__ */
  68. #ifndef __IApplicationGateway_FWD_DEFINED__
  69. #define __IApplicationGateway_FWD_DEFINED__
  70. typedef interface IApplicationGateway IApplicationGateway;
  71. #endif /* __IApplicationGateway_FWD_DEFINED__ */
  72. #ifndef __ApplicationGatewayServices_FWD_DEFINED__
  73. #define __ApplicationGatewayServices_FWD_DEFINED__
  74. #ifdef __cplusplus
  75. typedef class ApplicationGatewayServices ApplicationGatewayServices;
  76. #else
  77. typedef struct ApplicationGatewayServices ApplicationGatewayServices;
  78. #endif /* __cplusplus */
  79. #endif /* __ApplicationGatewayServices_FWD_DEFINED__ */
  80. #ifndef __PrimaryControlChannel_FWD_DEFINED__
  81. #define __PrimaryControlChannel_FWD_DEFINED__
  82. #ifdef __cplusplus
  83. typedef class PrimaryControlChannel PrimaryControlChannel;
  84. #else
  85. typedef struct PrimaryControlChannel PrimaryControlChannel;
  86. #endif /* __cplusplus */
  87. #endif /* __PrimaryControlChannel_FWD_DEFINED__ */
  88. #ifndef __SecondaryControlChannel_FWD_DEFINED__
  89. #define __SecondaryControlChannel_FWD_DEFINED__
  90. #ifdef __cplusplus
  91. typedef class SecondaryControlChannel SecondaryControlChannel;
  92. #else
  93. typedef struct SecondaryControlChannel SecondaryControlChannel;
  94. #endif /* __cplusplus */
  95. #endif /* __SecondaryControlChannel_FWD_DEFINED__ */
  96. #ifndef __AdapterInfo_FWD_DEFINED__
  97. #define __AdapterInfo_FWD_DEFINED__
  98. #ifdef __cplusplus
  99. typedef class AdapterInfo AdapterInfo;
  100. #else
  101. typedef struct AdapterInfo AdapterInfo;
  102. #endif /* __cplusplus */
  103. #endif /* __AdapterInfo_FWD_DEFINED__ */
  104. #ifndef __EnumAdapterInfo_FWD_DEFINED__
  105. #define __EnumAdapterInfo_FWD_DEFINED__
  106. #ifdef __cplusplus
  107. typedef class EnumAdapterInfo EnumAdapterInfo;
  108. #else
  109. typedef struct EnumAdapterInfo EnumAdapterInfo;
  110. #endif /* __cplusplus */
  111. #endif /* __EnumAdapterInfo_FWD_DEFINED__ */
  112. #ifndef __PendingProxyConnection_FWD_DEFINED__
  113. #define __PendingProxyConnection_FWD_DEFINED__
  114. #ifdef __cplusplus
  115. typedef class PendingProxyConnection PendingProxyConnection;
  116. #else
  117. typedef struct PendingProxyConnection PendingProxyConnection;
  118. #endif /* __cplusplus */
  119. #endif /* __PendingProxyConnection_FWD_DEFINED__ */
  120. #ifndef __DataChannel_FWD_DEFINED__
  121. #define __DataChannel_FWD_DEFINED__
  122. #ifdef __cplusplus
  123. typedef class DataChannel DataChannel;
  124. #else
  125. typedef struct DataChannel DataChannel;
  126. #endif /* __cplusplus */
  127. #endif /* __DataChannel_FWD_DEFINED__ */
  128. #ifndef __PersistentDataChannel_FWD_DEFINED__
  129. #define __PersistentDataChannel_FWD_DEFINED__
  130. #ifdef __cplusplus
  131. typedef class PersistentDataChannel PersistentDataChannel;
  132. #else
  133. typedef struct PersistentDataChannel PersistentDataChannel;
  134. #endif /* __cplusplus */
  135. #endif /* __PersistentDataChannel_FWD_DEFINED__ */
  136. /* header files for imported files */
  137. #include "oaidl.h"
  138. #include "ocidl.h"
  139. #ifdef __cplusplus
  140. extern "C"{
  141. #endif
  142. void * __RPC_USER MIDL_user_allocate(size_t);
  143. void __RPC_USER MIDL_user_free( void * );
  144. /* interface __MIDL_itf_alg_0000 */
  145. /* [local] */
  146. //+-------------------------------------------------------------------------
  147. //
  148. // Microsoft Windows
  149. // Copyright (C) Microsoft Corporation, 1992-2001.
  150. //
  151. //--------------------------------------------------------------------------
  152. // MODULE: alg.h
  153. //
  154. #define ALG_MAXIMUM_PORT_RANGE_SIZE ( 10 )
  155. typedef
  156. enum _ALG_PROTOCOL
  157. { eALG_TCP = 0x1,
  158. eALG_UDP = 0x2
  159. } ALG_PROTOCOL;
  160. typedef
  161. enum _ALG_CAPTURE
  162. { eALG_SOURCE_CAPTURE = 0x1,
  163. eALG_DESTINATION_CAPTURE = 0x2
  164. } ALG_CAPTURE;
  165. typedef
  166. enum _ALG_DIRECTION
  167. { eALG_INBOUND = 0x1,
  168. eALG_OUTBOUND = 0x2,
  169. eALG_BOTH = 0x3
  170. } ALG_DIRECTION;
  171. typedef
  172. enum _ALG_ADAPTER_TYPE
  173. { eALG_PRIVATE = 0x1,
  174. eALG_BOUNDARY = 0x2,
  175. eALG_FIREWALLED = 0x4
  176. } ALG_ADAPTER_TYPE;
  177. typedef
  178. enum _ALG_NOTIFICATION
  179. { eALG_NONE = 0,
  180. eALG_SESSION_CREATION = 0x1,
  181. eALG_SESSION_DELETION = 0x2,
  182. eALG_SESSION_BOTH = 0x3
  183. } ALG_NOTIFICATION;
  184. typedef struct _ALG_PRIMARY_CHANNEL_PROPERTIES
  185. {
  186. ALG_PROTOCOL eProtocol;
  187. USHORT usCapturePort;
  188. ALG_CAPTURE eCaptureType;
  189. BOOL fCaptureInbound;
  190. ULONG ulListeningAddress;
  191. USHORT usListeningPort;
  192. } ALG_PRIMARY_CHANNEL_PROPERTIES;
  193. typedef struct _ALG_SECONDARY_CHANNEL_PROPERTIES
  194. {
  195. ALG_PROTOCOL eProtocol;
  196. ULONG ulPrivateAddress;
  197. USHORT usPrivatePort;
  198. ULONG ulPublicAddress;
  199. USHORT usPublicPort;
  200. ULONG ulRemoteAddress;
  201. USHORT usRemotePort;
  202. ULONG ulListenAddress;
  203. USHORT usListenPort;
  204. ALG_DIRECTION eDirection;
  205. BOOL fPersistent;
  206. } ALG_SECONDARY_CHANNEL_PROPERTIES;
  207. typedef struct _ALG_DATA_CHANNEL_PROPERTIES
  208. {
  209. ALG_PROTOCOL eProtocol;
  210. ULONG ulPrivateAddress;
  211. USHORT usPrivatePort;
  212. ULONG ulPublicAddress;
  213. USHORT usPublicPort;
  214. ULONG ulRemoteAddress;
  215. USHORT usRemotePort;
  216. ALG_DIRECTION eDirection;
  217. ALG_NOTIFICATION eDesiredNotification;
  218. } ALG_DATA_CHANNEL_PROPERTIES;
  219. typedef struct _ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES
  220. {
  221. ALG_PROTOCOL eProtocol;
  222. ULONG ulPrivateAddress;
  223. USHORT usPrivatePort;
  224. ULONG ulPublicAddress;
  225. USHORT usPublicPort;
  226. ULONG ulRemoteAddress;
  227. USHORT usRemotePort;
  228. ALG_DIRECTION eDirection;
  229. } ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES;
  230. extern RPC_IF_HANDLE __MIDL_itf_alg_0000_v0_0_c_ifspec;
  231. extern RPC_IF_HANDLE __MIDL_itf_alg_0000_v0_0_s_ifspec;
  232. #ifndef __IAdapterInfo_INTERFACE_DEFINED__
  233. #define __IAdapterInfo_INTERFACE_DEFINED__
  234. /* interface IAdapterInfo */
  235. /* [unique][uuid][object] */
  236. EXTERN_C const IID IID_IAdapterInfo;
  237. #if defined(__cplusplus) && !defined(CINTERFACE)
  238. MIDL_INTERFACE("480BF94A-09FD-4F8A-A3E0-B0700282D84D")
  239. IAdapterInfo : public IUnknown
  240. {
  241. public:
  242. virtual HRESULT STDMETHODCALLTYPE GetAdapterIndex(
  243. /* [out] */ ULONG *pulIndex) = 0;
  244. virtual HRESULT STDMETHODCALLTYPE GetAdapterType(
  245. /* [out] */ ALG_ADAPTER_TYPE *pAdapterType) = 0;
  246. virtual HRESULT STDMETHODCALLTYPE GetAdapterAddresses(
  247. /* [out] */ ULONG *pulAddressCount,
  248. /* [out] */ ULONG **prgAddresses) = 0;
  249. };
  250. #else /* C style interface */
  251. typedef struct IAdapterInfoVtbl
  252. {
  253. BEGIN_INTERFACE
  254. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  255. IAdapterInfo * This,
  256. /* [in] */ REFIID riid,
  257. /* [iid_is][out] */ void **ppvObject);
  258. ULONG ( STDMETHODCALLTYPE *AddRef )(
  259. IAdapterInfo * This);
  260. ULONG ( STDMETHODCALLTYPE *Release )(
  261. IAdapterInfo * This);
  262. HRESULT ( STDMETHODCALLTYPE *GetAdapterIndex )(
  263. IAdapterInfo * This,
  264. /* [out] */ ULONG *pulIndex);
  265. HRESULT ( STDMETHODCALLTYPE *GetAdapterType )(
  266. IAdapterInfo * This,
  267. /* [out] */ ALG_ADAPTER_TYPE *pAdapterType);
  268. HRESULT ( STDMETHODCALLTYPE *GetAdapterAddresses )(
  269. IAdapterInfo * This,
  270. /* [out] */ ULONG *pulAddressCount,
  271. /* [out] */ ULONG **prgAddresses);
  272. END_INTERFACE
  273. } IAdapterInfoVtbl;
  274. interface IAdapterInfo
  275. {
  276. CONST_VTBL struct IAdapterInfoVtbl *lpVtbl;
  277. };
  278. #ifdef COBJMACROS
  279. #define IAdapterInfo_QueryInterface(This,riid,ppvObject) \
  280. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  281. #define IAdapterInfo_AddRef(This) \
  282. (This)->lpVtbl -> AddRef(This)
  283. #define IAdapterInfo_Release(This) \
  284. (This)->lpVtbl -> Release(This)
  285. #define IAdapterInfo_GetAdapterIndex(This,pulIndex) \
  286. (This)->lpVtbl -> GetAdapterIndex(This,pulIndex)
  287. #define IAdapterInfo_GetAdapterType(This,pAdapterType) \
  288. (This)->lpVtbl -> GetAdapterType(This,pAdapterType)
  289. #define IAdapterInfo_GetAdapterAddresses(This,pulAddressCount,prgAddresses) \
  290. (This)->lpVtbl -> GetAdapterAddresses(This,pulAddressCount,prgAddresses)
  291. #endif /* COBJMACROS */
  292. #endif /* C style interface */
  293. HRESULT STDMETHODCALLTYPE IAdapterInfo_GetAdapterIndex_Proxy(
  294. IAdapterInfo * This,
  295. /* [out] */ ULONG *pulIndex);
  296. void __RPC_STUB IAdapterInfo_GetAdapterIndex_Stub(
  297. IRpcStubBuffer *This,
  298. IRpcChannelBuffer *_pRpcChannelBuffer,
  299. PRPC_MESSAGE _pRpcMessage,
  300. DWORD *_pdwStubPhase);
  301. HRESULT STDMETHODCALLTYPE IAdapterInfo_GetAdapterType_Proxy(
  302. IAdapterInfo * This,
  303. /* [out] */ ALG_ADAPTER_TYPE *pAdapterType);
  304. void __RPC_STUB IAdapterInfo_GetAdapterType_Stub(
  305. IRpcStubBuffer *This,
  306. IRpcChannelBuffer *_pRpcChannelBuffer,
  307. PRPC_MESSAGE _pRpcMessage,
  308. DWORD *_pdwStubPhase);
  309. HRESULT STDMETHODCALLTYPE IAdapterInfo_GetAdapterAddresses_Proxy(
  310. IAdapterInfo * This,
  311. /* [out] */ ULONG *pulAddressCount,
  312. /* [out] */ ULONG **prgAddresses);
  313. void __RPC_STUB IAdapterInfo_GetAdapterAddresses_Stub(
  314. IRpcStubBuffer *This,
  315. IRpcChannelBuffer *_pRpcChannelBuffer,
  316. PRPC_MESSAGE _pRpcMessage,
  317. DWORD *_pdwStubPhase);
  318. #endif /* __IAdapterInfo_INTERFACE_DEFINED__ */
  319. #ifndef __IPendingProxyConnection_INTERFACE_DEFINED__
  320. #define __IPendingProxyConnection_INTERFACE_DEFINED__
  321. /* interface IPendingProxyConnection */
  322. /* [unique][uuid][object] */
  323. EXTERN_C const IID IID_IPendingProxyConnection;
  324. #if defined(__cplusplus) && !defined(CINTERFACE)
  325. MIDL_INTERFACE("B68E5043-3E3D-4CC2-B9C1-5F8F88FEE81C")
  326. IPendingProxyConnection : public IUnknown
  327. {
  328. public:
  329. virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  330. };
  331. #else /* C style interface */
  332. typedef struct IPendingProxyConnectionVtbl
  333. {
  334. BEGIN_INTERFACE
  335. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  336. IPendingProxyConnection * This,
  337. /* [in] */ REFIID riid,
  338. /* [iid_is][out] */ void **ppvObject);
  339. ULONG ( STDMETHODCALLTYPE *AddRef )(
  340. IPendingProxyConnection * This);
  341. ULONG ( STDMETHODCALLTYPE *Release )(
  342. IPendingProxyConnection * This);
  343. HRESULT ( STDMETHODCALLTYPE *Cancel )(
  344. IPendingProxyConnection * This);
  345. END_INTERFACE
  346. } IPendingProxyConnectionVtbl;
  347. interface IPendingProxyConnection
  348. {
  349. CONST_VTBL struct IPendingProxyConnectionVtbl *lpVtbl;
  350. };
  351. #ifdef COBJMACROS
  352. #define IPendingProxyConnection_QueryInterface(This,riid,ppvObject) \
  353. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  354. #define IPendingProxyConnection_AddRef(This) \
  355. (This)->lpVtbl -> AddRef(This)
  356. #define IPendingProxyConnection_Release(This) \
  357. (This)->lpVtbl -> Release(This)
  358. #define IPendingProxyConnection_Cancel(This) \
  359. (This)->lpVtbl -> Cancel(This)
  360. #endif /* COBJMACROS */
  361. #endif /* C style interface */
  362. HRESULT STDMETHODCALLTYPE IPendingProxyConnection_Cancel_Proxy(
  363. IPendingProxyConnection * This);
  364. void __RPC_STUB IPendingProxyConnection_Cancel_Stub(
  365. IRpcStubBuffer *This,
  366. IRpcChannelBuffer *_pRpcChannelBuffer,
  367. PRPC_MESSAGE _pRpcMessage,
  368. DWORD *_pdwStubPhase);
  369. #endif /* __IPendingProxyConnection_INTERFACE_DEFINED__ */
  370. #ifndef __IDataChannel_INTERFACE_DEFINED__
  371. #define __IDataChannel_INTERFACE_DEFINED__
  372. /* interface IDataChannel */
  373. /* [local][unique][uuid][object] */
  374. EXTERN_C const IID IID_IDataChannel;
  375. #if defined(__cplusplus) && !defined(CINTERFACE)
  376. MIDL_INTERFACE("AD42D12A-4AD0-4856-919E-E854C91D1856")
  377. IDataChannel : public IUnknown
  378. {
  379. public:
  380. virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  381. virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
  382. /* [out] */ ALG_DATA_CHANNEL_PROPERTIES **ppProperties) = 0;
  383. virtual HRESULT STDMETHODCALLTYPE GetSessionCreationEventHandle(
  384. /* [out] */ HANDLE *pHandle) = 0;
  385. virtual HRESULT STDMETHODCALLTYPE GetSessionDeletionEventHandle(
  386. /* [out] */ HANDLE *pHandle) = 0;
  387. };
  388. #else /* C style interface */
  389. typedef struct IDataChannelVtbl
  390. {
  391. BEGIN_INTERFACE
  392. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  393. IDataChannel * This,
  394. /* [in] */ REFIID riid,
  395. /* [iid_is][out] */ void **ppvObject);
  396. ULONG ( STDMETHODCALLTYPE *AddRef )(
  397. IDataChannel * This);
  398. ULONG ( STDMETHODCALLTYPE *Release )(
  399. IDataChannel * This);
  400. HRESULT ( STDMETHODCALLTYPE *Cancel )(
  401. IDataChannel * This);
  402. HRESULT ( STDMETHODCALLTYPE *GetChannelProperties )(
  403. IDataChannel * This,
  404. /* [out] */ ALG_DATA_CHANNEL_PROPERTIES **ppProperties);
  405. HRESULT ( STDMETHODCALLTYPE *GetSessionCreationEventHandle )(
  406. IDataChannel * This,
  407. /* [out] */ HANDLE *pHandle);
  408. HRESULT ( STDMETHODCALLTYPE *GetSessionDeletionEventHandle )(
  409. IDataChannel * This,
  410. /* [out] */ HANDLE *pHandle);
  411. END_INTERFACE
  412. } IDataChannelVtbl;
  413. interface IDataChannel
  414. {
  415. CONST_VTBL struct IDataChannelVtbl *lpVtbl;
  416. };
  417. #ifdef COBJMACROS
  418. #define IDataChannel_QueryInterface(This,riid,ppvObject) \
  419. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  420. #define IDataChannel_AddRef(This) \
  421. (This)->lpVtbl -> AddRef(This)
  422. #define IDataChannel_Release(This) \
  423. (This)->lpVtbl -> Release(This)
  424. #define IDataChannel_Cancel(This) \
  425. (This)->lpVtbl -> Cancel(This)
  426. #define IDataChannel_GetChannelProperties(This,ppProperties) \
  427. (This)->lpVtbl -> GetChannelProperties(This,ppProperties)
  428. #define IDataChannel_GetSessionCreationEventHandle(This,pHandle) \
  429. (This)->lpVtbl -> GetSessionCreationEventHandle(This,pHandle)
  430. #define IDataChannel_GetSessionDeletionEventHandle(This,pHandle) \
  431. (This)->lpVtbl -> GetSessionDeletionEventHandle(This,pHandle)
  432. #endif /* COBJMACROS */
  433. #endif /* C style interface */
  434. HRESULT STDMETHODCALLTYPE IDataChannel_Cancel_Proxy(
  435. IDataChannel * This);
  436. void __RPC_STUB IDataChannel_Cancel_Stub(
  437. IRpcStubBuffer *This,
  438. IRpcChannelBuffer *_pRpcChannelBuffer,
  439. PRPC_MESSAGE _pRpcMessage,
  440. DWORD *_pdwStubPhase);
  441. HRESULT STDMETHODCALLTYPE IDataChannel_GetChannelProperties_Proxy(
  442. IDataChannel * This,
  443. /* [out] */ ALG_DATA_CHANNEL_PROPERTIES **ppProperties);
  444. void __RPC_STUB IDataChannel_GetChannelProperties_Stub(
  445. IRpcStubBuffer *This,
  446. IRpcChannelBuffer *_pRpcChannelBuffer,
  447. PRPC_MESSAGE _pRpcMessage,
  448. DWORD *_pdwStubPhase);
  449. HRESULT STDMETHODCALLTYPE IDataChannel_GetSessionCreationEventHandle_Proxy(
  450. IDataChannel * This,
  451. /* [out] */ HANDLE *pHandle);
  452. void __RPC_STUB IDataChannel_GetSessionCreationEventHandle_Stub(
  453. IRpcStubBuffer *This,
  454. IRpcChannelBuffer *_pRpcChannelBuffer,
  455. PRPC_MESSAGE _pRpcMessage,
  456. DWORD *_pdwStubPhase);
  457. HRESULT STDMETHODCALLTYPE IDataChannel_GetSessionDeletionEventHandle_Proxy(
  458. IDataChannel * This,
  459. /* [out] */ HANDLE *pHandle);
  460. void __RPC_STUB IDataChannel_GetSessionDeletionEventHandle_Stub(
  461. IRpcStubBuffer *This,
  462. IRpcChannelBuffer *_pRpcChannelBuffer,
  463. PRPC_MESSAGE _pRpcMessage,
  464. DWORD *_pdwStubPhase);
  465. #endif /* __IDataChannel_INTERFACE_DEFINED__ */
  466. #ifndef __IPersistentDataChannel_INTERFACE_DEFINED__
  467. #define __IPersistentDataChannel_INTERFACE_DEFINED__
  468. /* interface IPersistentDataChannel */
  469. /* [unique][uuid][object] */
  470. EXTERN_C const IID IID_IPersistentDataChannel;
  471. #if defined(__cplusplus) && !defined(CINTERFACE)
  472. MIDL_INTERFACE("A180E934-D92A-415D-9144-759F8054E8F6")
  473. IPersistentDataChannel : public IUnknown
  474. {
  475. public:
  476. virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  477. virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
  478. /* [out] */ ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties) = 0;
  479. };
  480. #else /* C style interface */
  481. typedef struct IPersistentDataChannelVtbl
  482. {
  483. BEGIN_INTERFACE
  484. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  485. IPersistentDataChannel * This,
  486. /* [in] */ REFIID riid,
  487. /* [iid_is][out] */ void **ppvObject);
  488. ULONG ( STDMETHODCALLTYPE *AddRef )(
  489. IPersistentDataChannel * This);
  490. ULONG ( STDMETHODCALLTYPE *Release )(
  491. IPersistentDataChannel * This);
  492. HRESULT ( STDMETHODCALLTYPE *Cancel )(
  493. IPersistentDataChannel * This);
  494. HRESULT ( STDMETHODCALLTYPE *GetChannelProperties )(
  495. IPersistentDataChannel * This,
  496. /* [out] */ ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties);
  497. END_INTERFACE
  498. } IPersistentDataChannelVtbl;
  499. interface IPersistentDataChannel
  500. {
  501. CONST_VTBL struct IPersistentDataChannelVtbl *lpVtbl;
  502. };
  503. #ifdef COBJMACROS
  504. #define IPersistentDataChannel_QueryInterface(This,riid,ppvObject) \
  505. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  506. #define IPersistentDataChannel_AddRef(This) \
  507. (This)->lpVtbl -> AddRef(This)
  508. #define IPersistentDataChannel_Release(This) \
  509. (This)->lpVtbl -> Release(This)
  510. #define IPersistentDataChannel_Cancel(This) \
  511. (This)->lpVtbl -> Cancel(This)
  512. #define IPersistentDataChannel_GetChannelProperties(This,ppProperties) \
  513. (This)->lpVtbl -> GetChannelProperties(This,ppProperties)
  514. #endif /* COBJMACROS */
  515. #endif /* C style interface */
  516. HRESULT STDMETHODCALLTYPE IPersistentDataChannel_Cancel_Proxy(
  517. IPersistentDataChannel * This);
  518. void __RPC_STUB IPersistentDataChannel_Cancel_Stub(
  519. IRpcStubBuffer *This,
  520. IRpcChannelBuffer *_pRpcChannelBuffer,
  521. PRPC_MESSAGE _pRpcMessage,
  522. DWORD *_pdwStubPhase);
  523. HRESULT STDMETHODCALLTYPE IPersistentDataChannel_GetChannelProperties_Proxy(
  524. IPersistentDataChannel * This,
  525. /* [out] */ ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties);
  526. void __RPC_STUB IPersistentDataChannel_GetChannelProperties_Stub(
  527. IRpcStubBuffer *This,
  528. IRpcChannelBuffer *_pRpcChannelBuffer,
  529. PRPC_MESSAGE _pRpcMessage,
  530. DWORD *_pdwStubPhase);
  531. #endif /* __IPersistentDataChannel_INTERFACE_DEFINED__ */
  532. #ifndef __IPrimaryControlChannel_INTERFACE_DEFINED__
  533. #define __IPrimaryControlChannel_INTERFACE_DEFINED__
  534. /* interface IPrimaryControlChannel */
  535. /* [unique][uuid][object] */
  536. EXTERN_C const IID IID_IPrimaryControlChannel;
  537. #if defined(__cplusplus) && !defined(CINTERFACE)
  538. MIDL_INTERFACE("1A2E8B62-9012-4BE6-84AE-32BD66BA657A")
  539. IPrimaryControlChannel : public IUnknown
  540. {
  541. public:
  542. virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  543. virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
  544. /* [out] */ ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties) = 0;
  545. virtual HRESULT STDMETHODCALLTYPE GetOriginalDestinationInformation(
  546. /* [in] */ ULONG ulSourceAddress,
  547. /* [in] */ USHORT usSourcePort,
  548. /* [out] */ ULONG *pulOriginalDestinationAddress,
  549. /* [out] */ USHORT *pusOriginalDestinationPort,
  550. /* [out] */ ULONG *pulRemapDestinationAddress,
  551. /* [out] */ USHORT *pulRemapDestinationPort,
  552. /* [out] */ IAdapterInfo **ppReceiveAdapter) = 0;
  553. };
  554. #else /* C style interface */
  555. typedef struct IPrimaryControlChannelVtbl
  556. {
  557. BEGIN_INTERFACE
  558. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  559. IPrimaryControlChannel * This,
  560. /* [in] */ REFIID riid,
  561. /* [iid_is][out] */ void **ppvObject);
  562. ULONG ( STDMETHODCALLTYPE *AddRef )(
  563. IPrimaryControlChannel * This);
  564. ULONG ( STDMETHODCALLTYPE *Release )(
  565. IPrimaryControlChannel * This);
  566. HRESULT ( STDMETHODCALLTYPE *Cancel )(
  567. IPrimaryControlChannel * This);
  568. HRESULT ( STDMETHODCALLTYPE *GetChannelProperties )(
  569. IPrimaryControlChannel * This,
  570. /* [out] */ ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties);
  571. HRESULT ( STDMETHODCALLTYPE *GetOriginalDestinationInformation )(
  572. IPrimaryControlChannel * This,
  573. /* [in] */ ULONG ulSourceAddress,
  574. /* [in] */ USHORT usSourcePort,
  575. /* [out] */ ULONG *pulOriginalDestinationAddress,
  576. /* [out] */ USHORT *pusOriginalDestinationPort,
  577. /* [out] */ ULONG *pulRemapDestinationAddress,
  578. /* [out] */ USHORT *pulRemapDestinationPort,
  579. /* [out] */ IAdapterInfo **ppReceiveAdapter);
  580. END_INTERFACE
  581. } IPrimaryControlChannelVtbl;
  582. interface IPrimaryControlChannel
  583. {
  584. CONST_VTBL struct IPrimaryControlChannelVtbl *lpVtbl;
  585. };
  586. #ifdef COBJMACROS
  587. #define IPrimaryControlChannel_QueryInterface(This,riid,ppvObject) \
  588. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  589. #define IPrimaryControlChannel_AddRef(This) \
  590. (This)->lpVtbl -> AddRef(This)
  591. #define IPrimaryControlChannel_Release(This) \
  592. (This)->lpVtbl -> Release(This)
  593. #define IPrimaryControlChannel_Cancel(This) \
  594. (This)->lpVtbl -> Cancel(This)
  595. #define IPrimaryControlChannel_GetChannelProperties(This,ppProperties) \
  596. (This)->lpVtbl -> GetChannelProperties(This,ppProperties)
  597. #define IPrimaryControlChannel_GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter) \
  598. (This)->lpVtbl -> GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter)
  599. #endif /* COBJMACROS */
  600. #endif /* C style interface */
  601. HRESULT STDMETHODCALLTYPE IPrimaryControlChannel_Cancel_Proxy(
  602. IPrimaryControlChannel * This);
  603. void __RPC_STUB IPrimaryControlChannel_Cancel_Stub(
  604. IRpcStubBuffer *This,
  605. IRpcChannelBuffer *_pRpcChannelBuffer,
  606. PRPC_MESSAGE _pRpcMessage,
  607. DWORD *_pdwStubPhase);
  608. HRESULT STDMETHODCALLTYPE IPrimaryControlChannel_GetChannelProperties_Proxy(
  609. IPrimaryControlChannel * This,
  610. /* [out] */ ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties);
  611. void __RPC_STUB IPrimaryControlChannel_GetChannelProperties_Stub(
  612. IRpcStubBuffer *This,
  613. IRpcChannelBuffer *_pRpcChannelBuffer,
  614. PRPC_MESSAGE _pRpcMessage,
  615. DWORD *_pdwStubPhase);
  616. HRESULT STDMETHODCALLTYPE IPrimaryControlChannel_GetOriginalDestinationInformation_Proxy(
  617. IPrimaryControlChannel * This,
  618. /* [in] */ ULONG ulSourceAddress,
  619. /* [in] */ USHORT usSourcePort,
  620. /* [out] */ ULONG *pulOriginalDestinationAddress,
  621. /* [out] */ USHORT *pusOriginalDestinationPort,
  622. /* [out] */ ULONG *pulRemapDestinationAddress,
  623. /* [out] */ USHORT *pulRemapDestinationPort,
  624. /* [out] */ IAdapterInfo **ppReceiveAdapter);
  625. void __RPC_STUB IPrimaryControlChannel_GetOriginalDestinationInformation_Stub(
  626. IRpcStubBuffer *This,
  627. IRpcChannelBuffer *_pRpcChannelBuffer,
  628. PRPC_MESSAGE _pRpcMessage,
  629. DWORD *_pdwStubPhase);
  630. #endif /* __IPrimaryControlChannel_INTERFACE_DEFINED__ */
  631. #ifndef __ISecondaryControlChannel_INTERFACE_DEFINED__
  632. #define __ISecondaryControlChannel_INTERFACE_DEFINED__
  633. /* interface ISecondaryControlChannel */
  634. /* [unique][uuid][object] */
  635. EXTERN_C const IID IID_ISecondaryControlChannel;
  636. #if defined(__cplusplus) && !defined(CINTERFACE)
  637. MIDL_INTERFACE("A23F9D10-714C-41FE-8471-FFB19BC28454")
  638. ISecondaryControlChannel : public IUnknown
  639. {
  640. public:
  641. virtual HRESULT STDMETHODCALLTYPE Cancel( void) = 0;
  642. virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
  643. /* [out] */ ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties) = 0;
  644. virtual HRESULT STDMETHODCALLTYPE GetOriginalDestinationInformation(
  645. /* [in] */ ULONG ulSourceAddress,
  646. /* [in] */ USHORT usSourcePort,
  647. /* [out] */ ULONG *pulOriginalDestinationAddress,
  648. /* [out] */ USHORT *pusOriginalDestinationPort,
  649. /* [out] */ IAdapterInfo **ppReceiveAdapter) = 0;
  650. };
  651. #else /* C style interface */
  652. typedef struct ISecondaryControlChannelVtbl
  653. {
  654. BEGIN_INTERFACE
  655. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  656. ISecondaryControlChannel * This,
  657. /* [in] */ REFIID riid,
  658. /* [iid_is][out] */ void **ppvObject);
  659. ULONG ( STDMETHODCALLTYPE *AddRef )(
  660. ISecondaryControlChannel * This);
  661. ULONG ( STDMETHODCALLTYPE *Release )(
  662. ISecondaryControlChannel * This);
  663. HRESULT ( STDMETHODCALLTYPE *Cancel )(
  664. ISecondaryControlChannel * This);
  665. HRESULT ( STDMETHODCALLTYPE *GetChannelProperties )(
  666. ISecondaryControlChannel * This,
  667. /* [out] */ ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties);
  668. HRESULT ( STDMETHODCALLTYPE *GetOriginalDestinationInformation )(
  669. ISecondaryControlChannel * This,
  670. /* [in] */ ULONG ulSourceAddress,
  671. /* [in] */ USHORT usSourcePort,
  672. /* [out] */ ULONG *pulOriginalDestinationAddress,
  673. /* [out] */ USHORT *pusOriginalDestinationPort,
  674. /* [out] */ IAdapterInfo **ppReceiveAdapter);
  675. END_INTERFACE
  676. } ISecondaryControlChannelVtbl;
  677. interface ISecondaryControlChannel
  678. {
  679. CONST_VTBL struct ISecondaryControlChannelVtbl *lpVtbl;
  680. };
  681. #ifdef COBJMACROS
  682. #define ISecondaryControlChannel_QueryInterface(This,riid,ppvObject) \
  683. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  684. #define ISecondaryControlChannel_AddRef(This) \
  685. (This)->lpVtbl -> AddRef(This)
  686. #define ISecondaryControlChannel_Release(This) \
  687. (This)->lpVtbl -> Release(This)
  688. #define ISecondaryControlChannel_Cancel(This) \
  689. (This)->lpVtbl -> Cancel(This)
  690. #define ISecondaryControlChannel_GetChannelProperties(This,ppProperties) \
  691. (This)->lpVtbl -> GetChannelProperties(This,ppProperties)
  692. #define ISecondaryControlChannel_GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter) \
  693. (This)->lpVtbl -> GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter)
  694. #endif /* COBJMACROS */
  695. #endif /* C style interface */
  696. HRESULT STDMETHODCALLTYPE ISecondaryControlChannel_Cancel_Proxy(
  697. ISecondaryControlChannel * This);
  698. void __RPC_STUB ISecondaryControlChannel_Cancel_Stub(
  699. IRpcStubBuffer *This,
  700. IRpcChannelBuffer *_pRpcChannelBuffer,
  701. PRPC_MESSAGE _pRpcMessage,
  702. DWORD *_pdwStubPhase);
  703. HRESULT STDMETHODCALLTYPE ISecondaryControlChannel_GetChannelProperties_Proxy(
  704. ISecondaryControlChannel * This,
  705. /* [out] */ ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties);
  706. void __RPC_STUB ISecondaryControlChannel_GetChannelProperties_Stub(
  707. IRpcStubBuffer *This,
  708. IRpcChannelBuffer *_pRpcChannelBuffer,
  709. PRPC_MESSAGE _pRpcMessage,
  710. DWORD *_pdwStubPhase);
  711. HRESULT STDMETHODCALLTYPE ISecondaryControlChannel_GetOriginalDestinationInformation_Proxy(
  712. ISecondaryControlChannel * This,
  713. /* [in] */ ULONG ulSourceAddress,
  714. /* [in] */ USHORT usSourcePort,
  715. /* [out] */ ULONG *pulOriginalDestinationAddress,
  716. /* [out] */ USHORT *pusOriginalDestinationPort,
  717. /* [out] */ IAdapterInfo **ppReceiveAdapter);
  718. void __RPC_STUB ISecondaryControlChannel_GetOriginalDestinationInformation_Stub(
  719. IRpcStubBuffer *This,
  720. IRpcChannelBuffer *_pRpcChannelBuffer,
  721. PRPC_MESSAGE _pRpcMessage,
  722. DWORD *_pdwStubPhase);
  723. #endif /* __ISecondaryControlChannel_INTERFACE_DEFINED__ */
  724. #ifndef __IEnumAdapterInfo_INTERFACE_DEFINED__
  725. #define __IEnumAdapterInfo_INTERFACE_DEFINED__
  726. /* interface IEnumAdapterInfo */
  727. /* [unique][uuid][object] */
  728. EXTERN_C const IID IID_IEnumAdapterInfo;
  729. #if defined(__cplusplus) && !defined(CINTERFACE)
  730. MIDL_INTERFACE("A23F9D11-714C-41FE-8471-FFB19BC28454")
  731. IEnumAdapterInfo : public IUnknown
  732. {
  733. public:
  734. virtual HRESULT STDMETHODCALLTYPE Next(
  735. /* [in] */ ULONG celt,
  736. /* [length_is][size_is][out] */ IAdapterInfo **rgAI,
  737. /* [out] */ ULONG *pCeltFetched) = 0;
  738. virtual HRESULT STDMETHODCALLTYPE Skip(
  739. /* [in] */ ULONG celt) = 0;
  740. virtual HRESULT STDMETHODCALLTYPE Reset( void) = 0;
  741. virtual HRESULT STDMETHODCALLTYPE Clone(
  742. /* [out] */ IEnumAdapterInfo **ppEnum) = 0;
  743. };
  744. #else /* C style interface */
  745. typedef struct IEnumAdapterInfoVtbl
  746. {
  747. BEGIN_INTERFACE
  748. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  749. IEnumAdapterInfo * This,
  750. /* [in] */ REFIID riid,
  751. /* [iid_is][out] */ void **ppvObject);
  752. ULONG ( STDMETHODCALLTYPE *AddRef )(
  753. IEnumAdapterInfo * This);
  754. ULONG ( STDMETHODCALLTYPE *Release )(
  755. IEnumAdapterInfo * This);
  756. HRESULT ( STDMETHODCALLTYPE *Next )(
  757. IEnumAdapterInfo * This,
  758. /* [in] */ ULONG celt,
  759. /* [length_is][size_is][out] */ IAdapterInfo **rgAI,
  760. /* [out] */ ULONG *pCeltFetched);
  761. HRESULT ( STDMETHODCALLTYPE *Skip )(
  762. IEnumAdapterInfo * This,
  763. /* [in] */ ULONG celt);
  764. HRESULT ( STDMETHODCALLTYPE *Reset )(
  765. IEnumAdapterInfo * This);
  766. HRESULT ( STDMETHODCALLTYPE *Clone )(
  767. IEnumAdapterInfo * This,
  768. /* [out] */ IEnumAdapterInfo **ppEnum);
  769. END_INTERFACE
  770. } IEnumAdapterInfoVtbl;
  771. interface IEnumAdapterInfo
  772. {
  773. CONST_VTBL struct IEnumAdapterInfoVtbl *lpVtbl;
  774. };
  775. #ifdef COBJMACROS
  776. #define IEnumAdapterInfo_QueryInterface(This,riid,ppvObject) \
  777. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  778. #define IEnumAdapterInfo_AddRef(This) \
  779. (This)->lpVtbl -> AddRef(This)
  780. #define IEnumAdapterInfo_Release(This) \
  781. (This)->lpVtbl -> Release(This)
  782. #define IEnumAdapterInfo_Next(This,celt,rgAI,pCeltFetched) \
  783. (This)->lpVtbl -> Next(This,celt,rgAI,pCeltFetched)
  784. #define IEnumAdapterInfo_Skip(This,celt) \
  785. (This)->lpVtbl -> Skip(This,celt)
  786. #define IEnumAdapterInfo_Reset(This) \
  787. (This)->lpVtbl -> Reset(This)
  788. #define IEnumAdapterInfo_Clone(This,ppEnum) \
  789. (This)->lpVtbl -> Clone(This,ppEnum)
  790. #endif /* COBJMACROS */
  791. #endif /* C style interface */
  792. HRESULT STDMETHODCALLTYPE IEnumAdapterInfo_Next_Proxy(
  793. IEnumAdapterInfo * This,
  794. /* [in] */ ULONG celt,
  795. /* [length_is][size_is][out] */ IAdapterInfo **rgAI,
  796. /* [out] */ ULONG *pCeltFetched);
  797. void __RPC_STUB IEnumAdapterInfo_Next_Stub(
  798. IRpcStubBuffer *This,
  799. IRpcChannelBuffer *_pRpcChannelBuffer,
  800. PRPC_MESSAGE _pRpcMessage,
  801. DWORD *_pdwStubPhase);
  802. HRESULT STDMETHODCALLTYPE IEnumAdapterInfo_Skip_Proxy(
  803. IEnumAdapterInfo * This,
  804. /* [in] */ ULONG celt);
  805. void __RPC_STUB IEnumAdapterInfo_Skip_Stub(
  806. IRpcStubBuffer *This,
  807. IRpcChannelBuffer *_pRpcChannelBuffer,
  808. PRPC_MESSAGE _pRpcMessage,
  809. DWORD *_pdwStubPhase);
  810. HRESULT STDMETHODCALLTYPE IEnumAdapterInfo_Reset_Proxy(
  811. IEnumAdapterInfo * This);
  812. void __RPC_STUB IEnumAdapterInfo_Reset_Stub(
  813. IRpcStubBuffer *This,
  814. IRpcChannelBuffer *_pRpcChannelBuffer,
  815. PRPC_MESSAGE _pRpcMessage,
  816. DWORD *_pdwStubPhase);
  817. HRESULT STDMETHODCALLTYPE IEnumAdapterInfo_Clone_Proxy(
  818. IEnumAdapterInfo * This,
  819. /* [out] */ IEnumAdapterInfo **ppEnum);
  820. void __RPC_STUB IEnumAdapterInfo_Clone_Stub(
  821. IRpcStubBuffer *This,
  822. IRpcChannelBuffer *_pRpcChannelBuffer,
  823. PRPC_MESSAGE _pRpcMessage,
  824. DWORD *_pdwStubPhase);
  825. #endif /* __IEnumAdapterInfo_INTERFACE_DEFINED__ */
  826. #ifndef __IAdapterNotificationSink_INTERFACE_DEFINED__
  827. #define __IAdapterNotificationSink_INTERFACE_DEFINED__
  828. /* interface IAdapterNotificationSink */
  829. /* [unique][helpstring][uuid][object] */
  830. EXTERN_C const IID IID_IAdapterNotificationSink;
  831. #if defined(__cplusplus) && !defined(CINTERFACE)
  832. MIDL_INTERFACE("44AB2DC3-23B2-47DE-8228-2E1CCEEB9911")
  833. IAdapterNotificationSink : public IUnknown
  834. {
  835. public:
  836. virtual HRESULT STDMETHODCALLTYPE AdapterAdded(
  837. IAdapterInfo *pAdapter) = 0;
  838. virtual HRESULT STDMETHODCALLTYPE AdapterRemoved(
  839. IAdapterInfo *pAdapter) = 0;
  840. virtual HRESULT STDMETHODCALLTYPE AdapterModified(
  841. IAdapterInfo *pAdapter) = 0;
  842. };
  843. #else /* C style interface */
  844. typedef struct IAdapterNotificationSinkVtbl
  845. {
  846. BEGIN_INTERFACE
  847. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  848. IAdapterNotificationSink * This,
  849. /* [in] */ REFIID riid,
  850. /* [iid_is][out] */ void **ppvObject);
  851. ULONG ( STDMETHODCALLTYPE *AddRef )(
  852. IAdapterNotificationSink * This);
  853. ULONG ( STDMETHODCALLTYPE *Release )(
  854. IAdapterNotificationSink * This);
  855. HRESULT ( STDMETHODCALLTYPE *AdapterAdded )(
  856. IAdapterNotificationSink * This,
  857. IAdapterInfo *pAdapter);
  858. HRESULT ( STDMETHODCALLTYPE *AdapterRemoved )(
  859. IAdapterNotificationSink * This,
  860. IAdapterInfo *pAdapter);
  861. HRESULT ( STDMETHODCALLTYPE *AdapterModified )(
  862. IAdapterNotificationSink * This,
  863. IAdapterInfo *pAdapter);
  864. END_INTERFACE
  865. } IAdapterNotificationSinkVtbl;
  866. interface IAdapterNotificationSink
  867. {
  868. CONST_VTBL struct IAdapterNotificationSinkVtbl *lpVtbl;
  869. };
  870. #ifdef COBJMACROS
  871. #define IAdapterNotificationSink_QueryInterface(This,riid,ppvObject) \
  872. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  873. #define IAdapterNotificationSink_AddRef(This) \
  874. (This)->lpVtbl -> AddRef(This)
  875. #define IAdapterNotificationSink_Release(This) \
  876. (This)->lpVtbl -> Release(This)
  877. #define IAdapterNotificationSink_AdapterAdded(This,pAdapter) \
  878. (This)->lpVtbl -> AdapterAdded(This,pAdapter)
  879. #define IAdapterNotificationSink_AdapterRemoved(This,pAdapter) \
  880. (This)->lpVtbl -> AdapterRemoved(This,pAdapter)
  881. #define IAdapterNotificationSink_AdapterModified(This,pAdapter) \
  882. (This)->lpVtbl -> AdapterModified(This,pAdapter)
  883. #endif /* COBJMACROS */
  884. #endif /* C style interface */
  885. HRESULT STDMETHODCALLTYPE IAdapterNotificationSink_AdapterAdded_Proxy(
  886. IAdapterNotificationSink * This,
  887. IAdapterInfo *pAdapter);
  888. void __RPC_STUB IAdapterNotificationSink_AdapterAdded_Stub(
  889. IRpcStubBuffer *This,
  890. IRpcChannelBuffer *_pRpcChannelBuffer,
  891. PRPC_MESSAGE _pRpcMessage,
  892. DWORD *_pdwStubPhase);
  893. HRESULT STDMETHODCALLTYPE IAdapterNotificationSink_AdapterRemoved_Proxy(
  894. IAdapterNotificationSink * This,
  895. IAdapterInfo *pAdapter);
  896. void __RPC_STUB IAdapterNotificationSink_AdapterRemoved_Stub(
  897. IRpcStubBuffer *This,
  898. IRpcChannelBuffer *_pRpcChannelBuffer,
  899. PRPC_MESSAGE _pRpcMessage,
  900. DWORD *_pdwStubPhase);
  901. HRESULT STDMETHODCALLTYPE IAdapterNotificationSink_AdapterModified_Proxy(
  902. IAdapterNotificationSink * This,
  903. IAdapterInfo *pAdapter);
  904. void __RPC_STUB IAdapterNotificationSink_AdapterModified_Stub(
  905. IRpcStubBuffer *This,
  906. IRpcChannelBuffer *_pRpcChannelBuffer,
  907. PRPC_MESSAGE _pRpcMessage,
  908. DWORD *_pdwStubPhase);
  909. #endif /* __IAdapterNotificationSink_INTERFACE_DEFINED__ */
  910. #ifndef __IApplicationGatewayServices_INTERFACE_DEFINED__
  911. #define __IApplicationGatewayServices_INTERFACE_DEFINED__
  912. /* interface IApplicationGatewayServices */
  913. /* [unique][uuid][object] */
  914. EXTERN_C const IID IID_IApplicationGatewayServices;
  915. #if defined(__cplusplus) && !defined(CINTERFACE)
  916. MIDL_INTERFACE("5134842A-FDCE-485D-93CD-DE1640643BBE")
  917. IApplicationGatewayServices : public IUnknown
  918. {
  919. public:
  920. virtual HRESULT STDMETHODCALLTYPE CreatePrimaryControlChannel(
  921. /* [in] */ ALG_PROTOCOL eProtocol,
  922. /* [in] */ USHORT usPortToCapture,
  923. /* [in] */ ALG_CAPTURE eCaptureType,
  924. /* [in] */ BOOL fCaptureInbound,
  925. /* [in] */ ULONG ulListenAddress,
  926. /* [in] */ USHORT usListenPort,
  927. /* [out] */ IPrimaryControlChannel **ppIControlChannel) = 0;
  928. virtual HRESULT STDMETHODCALLTYPE CreateSecondaryControlChannel(
  929. /* [in] */ ALG_PROTOCOL eProtocol,
  930. /* [in] */ ULONG ulPrivateAddress,
  931. /* [in] */ USHORT usPrivatePort,
  932. /* [in] */ ULONG ulPublicAddress,
  933. /* [in] */ USHORT usPublicPort,
  934. /* [in] */ ULONG ulRemoteAddress,
  935. /* [in] */ USHORT usRemotePort,
  936. /* [in] */ ULONG ulListenAddress,
  937. /* [in] */ USHORT usListenPort,
  938. /* [in] */ ALG_DIRECTION eDirection,
  939. /* [in] */ BOOL fPersistent,
  940. /* [out] */ ISecondaryControlChannel **ppControlChannel) = 0;
  941. virtual HRESULT STDMETHODCALLTYPE GetBestSourceAddressForDestinationAddress(
  942. /* [in] */ ULONG ulDstAddress,
  943. /* [in] */ BOOL fDemandDial,
  944. /* [out] */ ULONG *pulBestSrcAddress) = 0;
  945. virtual HRESULT STDMETHODCALLTYPE PrepareProxyConnection(
  946. /* [in] */ ALG_PROTOCOL eProtocol,
  947. /* [in] */ ULONG ulSrcAddress,
  948. /* [in] */ USHORT usSrcPort,
  949. /* [in] */ ULONG ulDstAddress,
  950. /* [in] */ USHORT usDstPort,
  951. /* [in] */ BOOL fNoTimeout,
  952. /* [out] */ IPendingProxyConnection **ppPendingConnection) = 0;
  953. virtual HRESULT STDMETHODCALLTYPE PrepareSourceModifiedProxyConnection(
  954. /* [in] */ ALG_PROTOCOL eProtocol,
  955. /* [in] */ ULONG ulSrcAddress,
  956. /* [in] */ USHORT usSrcPort,
  957. /* [in] */ ULONG ulDstAddress,
  958. /* [in] */ USHORT usDstPort,
  959. /* [in] */ ULONG ulNewSrcAddress,
  960. /* [in] */ USHORT usNewSourcePort,
  961. /* [out] */ IPendingProxyConnection **ppPendingConnection) = 0;
  962. virtual HRESULT STDMETHODCALLTYPE CreateDataChannel(
  963. /* [in] */ ALG_PROTOCOL eProtocol,
  964. /* [in] */ ULONG ulPrivateAddress,
  965. /* [in] */ USHORT usPrivatePort,
  966. /* [in] */ ULONG ulPublicAddress,
  967. /* [in] */ USHORT usPublicPort,
  968. /* [in] */ ULONG ulRemoteAddress,
  969. /* [in] */ USHORT usRemotePort,
  970. /* [in] */ ALG_DIRECTION eDirection,
  971. /* [in] */ ALG_NOTIFICATION eDesiredNotification,
  972. /* [in] */ BOOL fNoTimeout,
  973. /* [out] */ IDataChannel **ppDataChannel) = 0;
  974. virtual HRESULT STDMETHODCALLTYPE CreatePersistentDataChannel(
  975. /* [in] */ ALG_PROTOCOL eProtocol,
  976. /* [in] */ ULONG ulPrivateAddress,
  977. /* [in] */ USHORT usPrivatePort,
  978. /* [in] */ ULONG ulPublicAddress,
  979. /* [in] */ USHORT usPublicPort,
  980. /* [in] */ ULONG ulRemoteAddress,
  981. /* [in] */ USHORT usRemotePort,
  982. /* [in] */ ALG_DIRECTION eDirection,
  983. /* [out] */ IPersistentDataChannel **ppIPersistentDataChannel) = 0;
  984. virtual HRESULT STDMETHODCALLTYPE ReservePort(
  985. /* [in] */ USHORT usPortCount,
  986. /* [out] */ USHORT *pusReservedPort) = 0;
  987. virtual HRESULT STDMETHODCALLTYPE ReleaseReservedPort(
  988. /* [in] */ USHORT usReservedPortBase,
  989. /* [in] */ USHORT usPortCount) = 0;
  990. virtual HRESULT STDMETHODCALLTYPE EnumerateAdapters(
  991. /* [out] */ IEnumAdapterInfo **ppIEnumAdapterInfo) = 0;
  992. virtual HRESULT STDMETHODCALLTYPE StartAdapterNotifications(
  993. /* [in] */ IAdapterNotificationSink *pSink,
  994. /* [in] */ DWORD *pdwCookie) = 0;
  995. virtual HRESULT STDMETHODCALLTYPE StopAdapterNotifications(
  996. /* [in] */ DWORD dwCookieOfSink) = 0;
  997. };
  998. #else /* C style interface */
  999. typedef struct IApplicationGatewayServicesVtbl
  1000. {
  1001. BEGIN_INTERFACE
  1002. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1003. IApplicationGatewayServices * This,
  1004. /* [in] */ REFIID riid,
  1005. /* [iid_is][out] */ void **ppvObject);
  1006. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1007. IApplicationGatewayServices * This);
  1008. ULONG ( STDMETHODCALLTYPE *Release )(
  1009. IApplicationGatewayServices * This);
  1010. HRESULT ( STDMETHODCALLTYPE *CreatePrimaryControlChannel )(
  1011. IApplicationGatewayServices * This,
  1012. /* [in] */ ALG_PROTOCOL eProtocol,
  1013. /* [in] */ USHORT usPortToCapture,
  1014. /* [in] */ ALG_CAPTURE eCaptureType,
  1015. /* [in] */ BOOL fCaptureInbound,
  1016. /* [in] */ ULONG ulListenAddress,
  1017. /* [in] */ USHORT usListenPort,
  1018. /* [out] */ IPrimaryControlChannel **ppIControlChannel);
  1019. HRESULT ( STDMETHODCALLTYPE *CreateSecondaryControlChannel )(
  1020. IApplicationGatewayServices * This,
  1021. /* [in] */ ALG_PROTOCOL eProtocol,
  1022. /* [in] */ ULONG ulPrivateAddress,
  1023. /* [in] */ USHORT usPrivatePort,
  1024. /* [in] */ ULONG ulPublicAddress,
  1025. /* [in] */ USHORT usPublicPort,
  1026. /* [in] */ ULONG ulRemoteAddress,
  1027. /* [in] */ USHORT usRemotePort,
  1028. /* [in] */ ULONG ulListenAddress,
  1029. /* [in] */ USHORT usListenPort,
  1030. /* [in] */ ALG_DIRECTION eDirection,
  1031. /* [in] */ BOOL fPersistent,
  1032. /* [out] */ ISecondaryControlChannel **ppControlChannel);
  1033. HRESULT ( STDMETHODCALLTYPE *GetBestSourceAddressForDestinationAddress )(
  1034. IApplicationGatewayServices * This,
  1035. /* [in] */ ULONG ulDstAddress,
  1036. /* [in] */ BOOL fDemandDial,
  1037. /* [out] */ ULONG *pulBestSrcAddress);
  1038. HRESULT ( STDMETHODCALLTYPE *PrepareProxyConnection )(
  1039. IApplicationGatewayServices * This,
  1040. /* [in] */ ALG_PROTOCOL eProtocol,
  1041. /* [in] */ ULONG ulSrcAddress,
  1042. /* [in] */ USHORT usSrcPort,
  1043. /* [in] */ ULONG ulDstAddress,
  1044. /* [in] */ USHORT usDstPort,
  1045. /* [in] */ BOOL fNoTimeout,
  1046. /* [out] */ IPendingProxyConnection **ppPendingConnection);
  1047. HRESULT ( STDMETHODCALLTYPE *PrepareSourceModifiedProxyConnection )(
  1048. IApplicationGatewayServices * This,
  1049. /* [in] */ ALG_PROTOCOL eProtocol,
  1050. /* [in] */ ULONG ulSrcAddress,
  1051. /* [in] */ USHORT usSrcPort,
  1052. /* [in] */ ULONG ulDstAddress,
  1053. /* [in] */ USHORT usDstPort,
  1054. /* [in] */ ULONG ulNewSrcAddress,
  1055. /* [in] */ USHORT usNewSourcePort,
  1056. /* [out] */ IPendingProxyConnection **ppPendingConnection);
  1057. HRESULT ( STDMETHODCALLTYPE *CreateDataChannel )(
  1058. IApplicationGatewayServices * This,
  1059. /* [in] */ ALG_PROTOCOL eProtocol,
  1060. /* [in] */ ULONG ulPrivateAddress,
  1061. /* [in] */ USHORT usPrivatePort,
  1062. /* [in] */ ULONG ulPublicAddress,
  1063. /* [in] */ USHORT usPublicPort,
  1064. /* [in] */ ULONG ulRemoteAddress,
  1065. /* [in] */ USHORT usRemotePort,
  1066. /* [in] */ ALG_DIRECTION eDirection,
  1067. /* [in] */ ALG_NOTIFICATION eDesiredNotification,
  1068. /* [in] */ BOOL fNoTimeout,
  1069. /* [out] */ IDataChannel **ppDataChannel);
  1070. HRESULT ( STDMETHODCALLTYPE *CreatePersistentDataChannel )(
  1071. IApplicationGatewayServices * This,
  1072. /* [in] */ ALG_PROTOCOL eProtocol,
  1073. /* [in] */ ULONG ulPrivateAddress,
  1074. /* [in] */ USHORT usPrivatePort,
  1075. /* [in] */ ULONG ulPublicAddress,
  1076. /* [in] */ USHORT usPublicPort,
  1077. /* [in] */ ULONG ulRemoteAddress,
  1078. /* [in] */ USHORT usRemotePort,
  1079. /* [in] */ ALG_DIRECTION eDirection,
  1080. /* [out] */ IPersistentDataChannel **ppIPersistentDataChannel);
  1081. HRESULT ( STDMETHODCALLTYPE *ReservePort )(
  1082. IApplicationGatewayServices * This,
  1083. /* [in] */ USHORT usPortCount,
  1084. /* [out] */ USHORT *pusReservedPort);
  1085. HRESULT ( STDMETHODCALLTYPE *ReleaseReservedPort )(
  1086. IApplicationGatewayServices * This,
  1087. /* [in] */ USHORT usReservedPortBase,
  1088. /* [in] */ USHORT usPortCount);
  1089. HRESULT ( STDMETHODCALLTYPE *EnumerateAdapters )(
  1090. IApplicationGatewayServices * This,
  1091. /* [out] */ IEnumAdapterInfo **ppIEnumAdapterInfo);
  1092. HRESULT ( STDMETHODCALLTYPE *StartAdapterNotifications )(
  1093. IApplicationGatewayServices * This,
  1094. /* [in] */ IAdapterNotificationSink *pSink,
  1095. /* [in] */ DWORD *pdwCookie);
  1096. HRESULT ( STDMETHODCALLTYPE *StopAdapterNotifications )(
  1097. IApplicationGatewayServices * This,
  1098. /* [in] */ DWORD dwCookieOfSink);
  1099. END_INTERFACE
  1100. } IApplicationGatewayServicesVtbl;
  1101. interface IApplicationGatewayServices
  1102. {
  1103. CONST_VTBL struct IApplicationGatewayServicesVtbl *lpVtbl;
  1104. };
  1105. #ifdef COBJMACROS
  1106. #define IApplicationGatewayServices_QueryInterface(This,riid,ppvObject) \
  1107. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1108. #define IApplicationGatewayServices_AddRef(This) \
  1109. (This)->lpVtbl -> AddRef(This)
  1110. #define IApplicationGatewayServices_Release(This) \
  1111. (This)->lpVtbl -> Release(This)
  1112. #define IApplicationGatewayServices_CreatePrimaryControlChannel(This,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel) \
  1113. (This)->lpVtbl -> CreatePrimaryControlChannel(This,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel)
  1114. #define IApplicationGatewayServices_CreateSecondaryControlChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,ulListenAddress,usListenPort,eDirection,fPersistent,ppControlChannel) \
  1115. (This)->lpVtbl -> CreateSecondaryControlChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,ulListenAddress,usListenPort,eDirection,fPersistent,ppControlChannel)
  1116. #define IApplicationGatewayServices_GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress) \
  1117. (This)->lpVtbl -> GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress)
  1118. #define IApplicationGatewayServices_PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection) \
  1119. (This)->lpVtbl -> PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection)
  1120. #define IApplicationGatewayServices_PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection) \
  1121. (This)->lpVtbl -> PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection)
  1122. #define IApplicationGatewayServices_CreateDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,eDesiredNotification,fNoTimeout,ppDataChannel) \
  1123. (This)->lpVtbl -> CreateDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,eDesiredNotification,fNoTimeout,ppDataChannel)
  1124. #define IApplicationGatewayServices_CreatePersistentDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,ppIPersistentDataChannel) \
  1125. (This)->lpVtbl -> CreatePersistentDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,ppIPersistentDataChannel)
  1126. #define IApplicationGatewayServices_ReservePort(This,usPortCount,pusReservedPort) \
  1127. (This)->lpVtbl -> ReservePort(This,usPortCount,pusReservedPort)
  1128. #define IApplicationGatewayServices_ReleaseReservedPort(This,usReservedPortBase,usPortCount) \
  1129. (This)->lpVtbl -> ReleaseReservedPort(This,usReservedPortBase,usPortCount)
  1130. #define IApplicationGatewayServices_EnumerateAdapters(This,ppIEnumAdapterInfo) \
  1131. (This)->lpVtbl -> EnumerateAdapters(This,ppIEnumAdapterInfo)
  1132. #define IApplicationGatewayServices_StartAdapterNotifications(This,pSink,pdwCookie) \
  1133. (This)->lpVtbl -> StartAdapterNotifications(This,pSink,pdwCookie)
  1134. #define IApplicationGatewayServices_StopAdapterNotifications(This,dwCookieOfSink) \
  1135. (This)->lpVtbl -> StopAdapterNotifications(This,dwCookieOfSink)
  1136. #endif /* COBJMACROS */
  1137. #endif /* C style interface */
  1138. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_CreatePrimaryControlChannel_Proxy(
  1139. IApplicationGatewayServices * This,
  1140. /* [in] */ ALG_PROTOCOL eProtocol,
  1141. /* [in] */ USHORT usPortToCapture,
  1142. /* [in] */ ALG_CAPTURE eCaptureType,
  1143. /* [in] */ BOOL fCaptureInbound,
  1144. /* [in] */ ULONG ulListenAddress,
  1145. /* [in] */ USHORT usListenPort,
  1146. /* [out] */ IPrimaryControlChannel **ppIControlChannel);
  1147. void __RPC_STUB IApplicationGatewayServices_CreatePrimaryControlChannel_Stub(
  1148. IRpcStubBuffer *This,
  1149. IRpcChannelBuffer *_pRpcChannelBuffer,
  1150. PRPC_MESSAGE _pRpcMessage,
  1151. DWORD *_pdwStubPhase);
  1152. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_CreateSecondaryControlChannel_Proxy(
  1153. IApplicationGatewayServices * This,
  1154. /* [in] */ ALG_PROTOCOL eProtocol,
  1155. /* [in] */ ULONG ulPrivateAddress,
  1156. /* [in] */ USHORT usPrivatePort,
  1157. /* [in] */ ULONG ulPublicAddress,
  1158. /* [in] */ USHORT usPublicPort,
  1159. /* [in] */ ULONG ulRemoteAddress,
  1160. /* [in] */ USHORT usRemotePort,
  1161. /* [in] */ ULONG ulListenAddress,
  1162. /* [in] */ USHORT usListenPort,
  1163. /* [in] */ ALG_DIRECTION eDirection,
  1164. /* [in] */ BOOL fPersistent,
  1165. /* [out] */ ISecondaryControlChannel **ppControlChannel);
  1166. void __RPC_STUB IApplicationGatewayServices_CreateSecondaryControlChannel_Stub(
  1167. IRpcStubBuffer *This,
  1168. IRpcChannelBuffer *_pRpcChannelBuffer,
  1169. PRPC_MESSAGE _pRpcMessage,
  1170. DWORD *_pdwStubPhase);
  1171. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_GetBestSourceAddressForDestinationAddress_Proxy(
  1172. IApplicationGatewayServices * This,
  1173. /* [in] */ ULONG ulDstAddress,
  1174. /* [in] */ BOOL fDemandDial,
  1175. /* [out] */ ULONG *pulBestSrcAddress);
  1176. void __RPC_STUB IApplicationGatewayServices_GetBestSourceAddressForDestinationAddress_Stub(
  1177. IRpcStubBuffer *This,
  1178. IRpcChannelBuffer *_pRpcChannelBuffer,
  1179. PRPC_MESSAGE _pRpcMessage,
  1180. DWORD *_pdwStubPhase);
  1181. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_PrepareProxyConnection_Proxy(
  1182. IApplicationGatewayServices * This,
  1183. /* [in] */ ALG_PROTOCOL eProtocol,
  1184. /* [in] */ ULONG ulSrcAddress,
  1185. /* [in] */ USHORT usSrcPort,
  1186. /* [in] */ ULONG ulDstAddress,
  1187. /* [in] */ USHORT usDstPort,
  1188. /* [in] */ BOOL fNoTimeout,
  1189. /* [out] */ IPendingProxyConnection **ppPendingConnection);
  1190. void __RPC_STUB IApplicationGatewayServices_PrepareProxyConnection_Stub(
  1191. IRpcStubBuffer *This,
  1192. IRpcChannelBuffer *_pRpcChannelBuffer,
  1193. PRPC_MESSAGE _pRpcMessage,
  1194. DWORD *_pdwStubPhase);
  1195. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_PrepareSourceModifiedProxyConnection_Proxy(
  1196. IApplicationGatewayServices * This,
  1197. /* [in] */ ALG_PROTOCOL eProtocol,
  1198. /* [in] */ ULONG ulSrcAddress,
  1199. /* [in] */ USHORT usSrcPort,
  1200. /* [in] */ ULONG ulDstAddress,
  1201. /* [in] */ USHORT usDstPort,
  1202. /* [in] */ ULONG ulNewSrcAddress,
  1203. /* [in] */ USHORT usNewSourcePort,
  1204. /* [out] */ IPendingProxyConnection **ppPendingConnection);
  1205. void __RPC_STUB IApplicationGatewayServices_PrepareSourceModifiedProxyConnection_Stub(
  1206. IRpcStubBuffer *This,
  1207. IRpcChannelBuffer *_pRpcChannelBuffer,
  1208. PRPC_MESSAGE _pRpcMessage,
  1209. DWORD *_pdwStubPhase);
  1210. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_CreateDataChannel_Proxy(
  1211. IApplicationGatewayServices * This,
  1212. /* [in] */ ALG_PROTOCOL eProtocol,
  1213. /* [in] */ ULONG ulPrivateAddress,
  1214. /* [in] */ USHORT usPrivatePort,
  1215. /* [in] */ ULONG ulPublicAddress,
  1216. /* [in] */ USHORT usPublicPort,
  1217. /* [in] */ ULONG ulRemoteAddress,
  1218. /* [in] */ USHORT usRemotePort,
  1219. /* [in] */ ALG_DIRECTION eDirection,
  1220. /* [in] */ ALG_NOTIFICATION eDesiredNotification,
  1221. /* [in] */ BOOL fNoTimeout,
  1222. /* [out] */ IDataChannel **ppDataChannel);
  1223. void __RPC_STUB IApplicationGatewayServices_CreateDataChannel_Stub(
  1224. IRpcStubBuffer *This,
  1225. IRpcChannelBuffer *_pRpcChannelBuffer,
  1226. PRPC_MESSAGE _pRpcMessage,
  1227. DWORD *_pdwStubPhase);
  1228. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_CreatePersistentDataChannel_Proxy(
  1229. IApplicationGatewayServices * This,
  1230. /* [in] */ ALG_PROTOCOL eProtocol,
  1231. /* [in] */ ULONG ulPrivateAddress,
  1232. /* [in] */ USHORT usPrivatePort,
  1233. /* [in] */ ULONG ulPublicAddress,
  1234. /* [in] */ USHORT usPublicPort,
  1235. /* [in] */ ULONG ulRemoteAddress,
  1236. /* [in] */ USHORT usRemotePort,
  1237. /* [in] */ ALG_DIRECTION eDirection,
  1238. /* [out] */ IPersistentDataChannel **ppIPersistentDataChannel);
  1239. void __RPC_STUB IApplicationGatewayServices_CreatePersistentDataChannel_Stub(
  1240. IRpcStubBuffer *This,
  1241. IRpcChannelBuffer *_pRpcChannelBuffer,
  1242. PRPC_MESSAGE _pRpcMessage,
  1243. DWORD *_pdwStubPhase);
  1244. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_ReservePort_Proxy(
  1245. IApplicationGatewayServices * This,
  1246. /* [in] */ USHORT usPortCount,
  1247. /* [out] */ USHORT *pusReservedPort);
  1248. void __RPC_STUB IApplicationGatewayServices_ReservePort_Stub(
  1249. IRpcStubBuffer *This,
  1250. IRpcChannelBuffer *_pRpcChannelBuffer,
  1251. PRPC_MESSAGE _pRpcMessage,
  1252. DWORD *_pdwStubPhase);
  1253. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_ReleaseReservedPort_Proxy(
  1254. IApplicationGatewayServices * This,
  1255. /* [in] */ USHORT usReservedPortBase,
  1256. /* [in] */ USHORT usPortCount);
  1257. void __RPC_STUB IApplicationGatewayServices_ReleaseReservedPort_Stub(
  1258. IRpcStubBuffer *This,
  1259. IRpcChannelBuffer *_pRpcChannelBuffer,
  1260. PRPC_MESSAGE _pRpcMessage,
  1261. DWORD *_pdwStubPhase);
  1262. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_EnumerateAdapters_Proxy(
  1263. IApplicationGatewayServices * This,
  1264. /* [out] */ IEnumAdapterInfo **ppIEnumAdapterInfo);
  1265. void __RPC_STUB IApplicationGatewayServices_EnumerateAdapters_Stub(
  1266. IRpcStubBuffer *This,
  1267. IRpcChannelBuffer *_pRpcChannelBuffer,
  1268. PRPC_MESSAGE _pRpcMessage,
  1269. DWORD *_pdwStubPhase);
  1270. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_StartAdapterNotifications_Proxy(
  1271. IApplicationGatewayServices * This,
  1272. /* [in] */ IAdapterNotificationSink *pSink,
  1273. /* [in] */ DWORD *pdwCookie);
  1274. void __RPC_STUB IApplicationGatewayServices_StartAdapterNotifications_Stub(
  1275. IRpcStubBuffer *This,
  1276. IRpcChannelBuffer *_pRpcChannelBuffer,
  1277. PRPC_MESSAGE _pRpcMessage,
  1278. DWORD *_pdwStubPhase);
  1279. HRESULT STDMETHODCALLTYPE IApplicationGatewayServices_StopAdapterNotifications_Proxy(
  1280. IApplicationGatewayServices * This,
  1281. /* [in] */ DWORD dwCookieOfSink);
  1282. void __RPC_STUB IApplicationGatewayServices_StopAdapterNotifications_Stub(
  1283. IRpcStubBuffer *This,
  1284. IRpcChannelBuffer *_pRpcChannelBuffer,
  1285. PRPC_MESSAGE _pRpcMessage,
  1286. DWORD *_pdwStubPhase);
  1287. #endif /* __IApplicationGatewayServices_INTERFACE_DEFINED__ */
  1288. #ifndef __IApplicationGateway_INTERFACE_DEFINED__
  1289. #define __IApplicationGateway_INTERFACE_DEFINED__
  1290. /* interface IApplicationGateway */
  1291. /* [unique][uuid][object] */
  1292. EXTERN_C const IID IID_IApplicationGateway;
  1293. #if defined(__cplusplus) && !defined(CINTERFACE)
  1294. MIDL_INTERFACE("5134842B-FDCE-485D-93CD-DE1640643BBE")
  1295. IApplicationGateway : public IUnknown
  1296. {
  1297. public:
  1298. virtual HRESULT STDMETHODCALLTYPE Initialize(
  1299. /* [in] */ IApplicationGatewayServices *pAlgServices) = 0;
  1300. virtual HRESULT STDMETHODCALLTYPE Stop( void) = 0;
  1301. };
  1302. #else /* C style interface */
  1303. typedef struct IApplicationGatewayVtbl
  1304. {
  1305. BEGIN_INTERFACE
  1306. HRESULT ( STDMETHODCALLTYPE *QueryInterface )(
  1307. IApplicationGateway * This,
  1308. /* [in] */ REFIID riid,
  1309. /* [iid_is][out] */ void **ppvObject);
  1310. ULONG ( STDMETHODCALLTYPE *AddRef )(
  1311. IApplicationGateway * This);
  1312. ULONG ( STDMETHODCALLTYPE *Release )(
  1313. IApplicationGateway * This);
  1314. HRESULT ( STDMETHODCALLTYPE *Initialize )(
  1315. IApplicationGateway * This,
  1316. /* [in] */ IApplicationGatewayServices *pAlgServices);
  1317. HRESULT ( STDMETHODCALLTYPE *Stop )(
  1318. IApplicationGateway * This);
  1319. END_INTERFACE
  1320. } IApplicationGatewayVtbl;
  1321. interface IApplicationGateway
  1322. {
  1323. CONST_VTBL struct IApplicationGatewayVtbl *lpVtbl;
  1324. };
  1325. #ifdef COBJMACROS
  1326. #define IApplicationGateway_QueryInterface(This,riid,ppvObject) \
  1327. (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)
  1328. #define IApplicationGateway_AddRef(This) \
  1329. (This)->lpVtbl -> AddRef(This)
  1330. #define IApplicationGateway_Release(This) \
  1331. (This)->lpVtbl -> Release(This)
  1332. #define IApplicationGateway_Initialize(This,pAlgServices) \
  1333. (This)->lpVtbl -> Initialize(This,pAlgServices)
  1334. #define IApplicationGateway_Stop(This) \
  1335. (This)->lpVtbl -> Stop(This)
  1336. #endif /* COBJMACROS */
  1337. #endif /* C style interface */
  1338. HRESULT STDMETHODCALLTYPE IApplicationGateway_Initialize_Proxy(
  1339. IApplicationGateway * This,
  1340. /* [in] */ IApplicationGatewayServices *pAlgServices);
  1341. void __RPC_STUB IApplicationGateway_Initialize_Stub(
  1342. IRpcStubBuffer *This,
  1343. IRpcChannelBuffer *_pRpcChannelBuffer,
  1344. PRPC_MESSAGE _pRpcMessage,
  1345. DWORD *_pdwStubPhase);
  1346. HRESULT STDMETHODCALLTYPE IApplicationGateway_Stop_Proxy(
  1347. IApplicationGateway * This);
  1348. void __RPC_STUB IApplicationGateway_Stop_Stub(
  1349. IRpcStubBuffer *This,
  1350. IRpcChannelBuffer *_pRpcChannelBuffer,
  1351. PRPC_MESSAGE _pRpcMessage,
  1352. DWORD *_pdwStubPhase);
  1353. #endif /* __IApplicationGateway_INTERFACE_DEFINED__ */
  1354. #ifndef __ALGLib_LIBRARY_DEFINED__
  1355. #define __ALGLib_LIBRARY_DEFINED__
  1356. /* library ALGLib */
  1357. /* [helpstring][version][uuid] */
  1358. EXTERN_C const IID LIBID_ALGLib;
  1359. EXTERN_C const CLSID CLSID_ApplicationGatewayServices;
  1360. #ifdef __cplusplus
  1361. class DECLSPEC_UUID("F8ADE1D3-49DF-4B75-9005-EF9508E6A337")
  1362. ApplicationGatewayServices;
  1363. #endif
  1364. EXTERN_C const CLSID CLSID_PrimaryControlChannel;
  1365. #ifdef __cplusplus
  1366. class DECLSPEC_UUID("3CEB5509-C1CD-432F-9D8F-65D1E286AA80")
  1367. PrimaryControlChannel;
  1368. #endif
  1369. EXTERN_C const CLSID CLSID_SecondaryControlChannel;
  1370. #ifdef __cplusplus
  1371. class DECLSPEC_UUID("7B3181A0-C92F-4567-B0FA-CD9A10ECD7D1")
  1372. SecondaryControlChannel;
  1373. #endif
  1374. EXTERN_C const CLSID CLSID_AdapterInfo;
  1375. #ifdef __cplusplus
  1376. class DECLSPEC_UUID("6F9942C9-C1B1-4AB5-93DA-6058991DC8F3")
  1377. AdapterInfo;
  1378. #endif
  1379. EXTERN_C const CLSID CLSID_EnumAdapterInfo;
  1380. #ifdef __cplusplus
  1381. class DECLSPEC_UUID("6F9942CA-C1B1-4AB5-93DA-6058991DC8F3")
  1382. EnumAdapterInfo;
  1383. #endif
  1384. EXTERN_C const CLSID CLSID_PendingProxyConnection;
  1385. #ifdef __cplusplus
  1386. class DECLSPEC_UUID("D8A68E5E-2B37-426C-A329-C117C14C429E")
  1387. PendingProxyConnection;
  1388. #endif
  1389. EXTERN_C const CLSID CLSID_DataChannel;
  1390. #ifdef __cplusplus
  1391. class DECLSPEC_UUID("BBB36F15-408D-4056-8C27-920843D40BE5")
  1392. DataChannel;
  1393. #endif
  1394. EXTERN_C const CLSID CLSID_PersistentDataChannel;
  1395. #ifdef __cplusplus
  1396. class DECLSPEC_UUID("BC9B54AB-7883-4C13-909F-033D03267990")
  1397. PersistentDataChannel;
  1398. #endif
  1399. #endif /* __ALGLib_LIBRARY_DEFINED__ */
  1400. /* Additional Prototypes for ALL interfaces */
  1401. /* end of Additional Prototypes */
  1402. #ifdef __cplusplus
  1403. }
  1404. #endif
  1405. #endif