source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/alg.h@ 1170

Last change on this file since 1170 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 61.5 KB
Line 
1/*** Autogenerated by WIDL 6.4 from include/alg.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __alg_h__
17#define __alg_h__
18
19/* Forward declarations */
20
21#ifndef __IAdapterInfo_FWD_DEFINED__
22#define __IAdapterInfo_FWD_DEFINED__
23typedef interface IAdapterInfo IAdapterInfo;
24#ifdef __cplusplus
25interface IAdapterInfo;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IPendingProxyConnection_FWD_DEFINED__
30#define __IPendingProxyConnection_FWD_DEFINED__
31typedef interface IPendingProxyConnection IPendingProxyConnection;
32#ifdef __cplusplus
33interface IPendingProxyConnection;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IDataChannel_FWD_DEFINED__
38#define __IDataChannel_FWD_DEFINED__
39typedef interface IDataChannel IDataChannel;
40#ifdef __cplusplus
41interface IDataChannel;
42#endif /* __cplusplus */
43#endif
44
45#ifndef __IPersistentDataChannel_FWD_DEFINED__
46#define __IPersistentDataChannel_FWD_DEFINED__
47typedef interface IPersistentDataChannel IPersistentDataChannel;
48#ifdef __cplusplus
49interface IPersistentDataChannel;
50#endif /* __cplusplus */
51#endif
52
53#ifndef __IPrimaryControlChannel_FWD_DEFINED__
54#define __IPrimaryControlChannel_FWD_DEFINED__
55typedef interface IPrimaryControlChannel IPrimaryControlChannel;
56#ifdef __cplusplus
57interface IPrimaryControlChannel;
58#endif /* __cplusplus */
59#endif
60
61#ifndef __ISecondaryControlChannel_FWD_DEFINED__
62#define __ISecondaryControlChannel_FWD_DEFINED__
63typedef interface ISecondaryControlChannel ISecondaryControlChannel;
64#ifdef __cplusplus
65interface ISecondaryControlChannel;
66#endif /* __cplusplus */
67#endif
68
69#ifndef __IEnumAdapterInfo_FWD_DEFINED__
70#define __IEnumAdapterInfo_FWD_DEFINED__
71typedef interface IEnumAdapterInfo IEnumAdapterInfo;
72#ifdef __cplusplus
73interface IEnumAdapterInfo;
74#endif /* __cplusplus */
75#endif
76
77#ifndef __IAdapterNotificationSink_FWD_DEFINED__
78#define __IAdapterNotificationSink_FWD_DEFINED__
79typedef interface IAdapterNotificationSink IAdapterNotificationSink;
80#ifdef __cplusplus
81interface IAdapterNotificationSink;
82#endif /* __cplusplus */
83#endif
84
85#ifndef __IApplicationGatewayServices_FWD_DEFINED__
86#define __IApplicationGatewayServices_FWD_DEFINED__
87typedef interface IApplicationGatewayServices IApplicationGatewayServices;
88#ifdef __cplusplus
89interface IApplicationGatewayServices;
90#endif /* __cplusplus */
91#endif
92
93#ifndef __IApplicationGateway_FWD_DEFINED__
94#define __IApplicationGateway_FWD_DEFINED__
95typedef interface IApplicationGateway IApplicationGateway;
96#ifdef __cplusplus
97interface IApplicationGateway;
98#endif /* __cplusplus */
99#endif
100
101#ifndef __ApplicationGatewayServices_FWD_DEFINED__
102#define __ApplicationGatewayServices_FWD_DEFINED__
103#ifdef __cplusplus
104typedef class ApplicationGatewayServices ApplicationGatewayServices;
105#else
106typedef struct ApplicationGatewayServices ApplicationGatewayServices;
107#endif /* defined __cplusplus */
108#endif /* defined __ApplicationGatewayServices_FWD_DEFINED__ */
109
110#ifndef __PrimaryControlChannel_FWD_DEFINED__
111#define __PrimaryControlChannel_FWD_DEFINED__
112#ifdef __cplusplus
113typedef class PrimaryControlChannel PrimaryControlChannel;
114#else
115typedef struct PrimaryControlChannel PrimaryControlChannel;
116#endif /* defined __cplusplus */
117#endif /* defined __PrimaryControlChannel_FWD_DEFINED__ */
118
119#ifndef __SecondaryControlChannel_FWD_DEFINED__
120#define __SecondaryControlChannel_FWD_DEFINED__
121#ifdef __cplusplus
122typedef class SecondaryControlChannel SecondaryControlChannel;
123#else
124typedef struct SecondaryControlChannel SecondaryControlChannel;
125#endif /* defined __cplusplus */
126#endif /* defined __SecondaryControlChannel_FWD_DEFINED__ */
127
128#ifndef __AdapterInfo_FWD_DEFINED__
129#define __AdapterInfo_FWD_DEFINED__
130#ifdef __cplusplus
131typedef class AdapterInfo AdapterInfo;
132#else
133typedef struct AdapterInfo AdapterInfo;
134#endif /* defined __cplusplus */
135#endif /* defined __AdapterInfo_FWD_DEFINED__ */
136
137#ifndef __EnumAdapterInfo_FWD_DEFINED__
138#define __EnumAdapterInfo_FWD_DEFINED__
139#ifdef __cplusplus
140typedef class EnumAdapterInfo EnumAdapterInfo;
141#else
142typedef struct EnumAdapterInfo EnumAdapterInfo;
143#endif /* defined __cplusplus */
144#endif /* defined __EnumAdapterInfo_FWD_DEFINED__ */
145
146#ifndef __PendingProxyConnection_FWD_DEFINED__
147#define __PendingProxyConnection_FWD_DEFINED__
148#ifdef __cplusplus
149typedef class PendingProxyConnection PendingProxyConnection;
150#else
151typedef struct PendingProxyConnection PendingProxyConnection;
152#endif /* defined __cplusplus */
153#endif /* defined __PendingProxyConnection_FWD_DEFINED__ */
154
155#ifndef __DataChannel_FWD_DEFINED__
156#define __DataChannel_FWD_DEFINED__
157#ifdef __cplusplus
158typedef class DataChannel DataChannel;
159#else
160typedef struct DataChannel DataChannel;
161#endif /* defined __cplusplus */
162#endif /* defined __DataChannel_FWD_DEFINED__ */
163
164#ifndef __PersistentDataChannel_FWD_DEFINED__
165#define __PersistentDataChannel_FWD_DEFINED__
166#ifdef __cplusplus
167typedef class PersistentDataChannel PersistentDataChannel;
168#else
169typedef struct PersistentDataChannel PersistentDataChannel;
170#endif /* defined __cplusplus */
171#endif /* defined __PersistentDataChannel_FWD_DEFINED__ */
172
173/* Headers for imported files */
174
175#include <oaidl.h>
176#include <ocidl.h>
177
178#ifdef __cplusplus
179extern "C" {
180#endif
181
182#include <winapifamily.h>
183
184#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
185typedef enum _ALG_ADAPTER_TYPE {
186 eALG_PRIVATE = 0x1,
187 eALG_BOUNDARY = 0x2,
188 eALG_FIREWALLED = 0x4
189} ALG_ADAPTER_TYPE;
190typedef enum _ALG_CAPTURE {
191 eALG_SOURCE_CAPTURE = 0x1,
192 eALG_DESTINATION_CAPTURE = 0x2
193} ALG_CAPTURE;
194typedef enum _ALG_DIRECTION {
195 eALG_INBOUND = 0x1,
196 eALG_OUTBOUND = 0x2,
197 eALG_BOTH = 0x3
198} ALG_DIRECTION;
199typedef enum _ALG_NOTIFICATION {
200 eALG_NONE = 0x0,
201 eALG_SESSION_CREATION = 0x1,
202 eALG_SESSION_DELETION = 0x2,
203 eALG_SESSION_BOTH = 0x3
204} ALG_NOTIFICATION;
205typedef enum _ALG_PROTOCOL {
206 eALG_TCP = 0x1,
207 eALG_UDP = 0x2
208} ALG_PROTOCOL;
209typedef struct _ALG_PRIMARY_CHANNEL_PROPERTIES {
210 ALG_PROTOCOL eProtocol;
211 USHORT usCapturePort;
212 ALG_CAPTURE eCaptureType;
213 WINBOOL fCaptureInbound;
214 ULONG ulListeningAddress;
215 USHORT usListeningPort;
216 ULONG ulAdapterIndex;
217} ALG_PRIMARY_CHANNEL_PROPERTIES;
218typedef struct _ALG_SECONDARY_CHANNEL_PROPERTIES {
219 ALG_PROTOCOL eProtocol;
220 ULONG ulPrivateAddress;
221 USHORT usPrivatePort;
222 ULONG ulPublicAddress;
223 USHORT usPublicPort;
224 ULONG ulRemoteAddress;
225 USHORT usRemotePort;
226 ULONG ulListenAddress;
227 USHORT usListenPort;
228 ALG_DIRECTION eDirection;
229 WINBOOL fPersistent;
230} ALG_SECONDARY_CHANNEL_PROPERTIES;
231typedef struct _ALG_DATA_CHANNEL_PROPERTIES {
232 ALG_PROTOCOL eProtocol;
233 ULONG ulPrivateAddress;
234 USHORT usPrivatePort;
235 ULONG ulPublicAddress;
236 USHORT usPublicPort;
237 ULONG ulRemoteAddress;
238 USHORT usRemotePort;
239 ALG_DIRECTION eDirection;
240 ALG_NOTIFICATION eDesiredNotification;
241} ALG_DATA_CHANNEL_PROPERTIES;
242typedef struct _ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES {
243 ALG_PROTOCOL eProtocol;
244 ULONG ulPrivateAddress;
245 USHORT usPrivatePort;
246 ULONG ulPublicAddress;
247 USHORT usPublicPort;
248 ULONG ulRemoteAddress;
249 USHORT usRemotePort;
250 ALG_DIRECTION eDirection;
251} ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES;
252#define ALG_MAXIMUM_PORT_RANGE_SIZE (10)
253
254/*****************************************************************************
255 * IAdapterInfo interface
256 */
257#ifndef __IAdapterInfo_INTERFACE_DEFINED__
258#define __IAdapterInfo_INTERFACE_DEFINED__
259
260DEFINE_GUID(IID_IAdapterInfo, 0x480bf94a, 0x09fd, 0x4f8a, 0xa3,0xe0, 0xb0,0x70,0x02,0x82,0xd8,0x4d);
261#if defined(__cplusplus) && !defined(CINTERFACE)
262MIDL_INTERFACE("480bf94a-09fd-4f8a-a3e0-b0700282d84d")
263IAdapterInfo : public IUnknown
264{
265 virtual HRESULT STDMETHODCALLTYPE GetAdapterIndex(
266 ULONG *pulIndex) = 0;
267
268 virtual HRESULT STDMETHODCALLTYPE GetAdapterType(
269 ALG_ADAPTER_TYPE *pAdapterType) = 0;
270
271 virtual HRESULT STDMETHODCALLTYPE GetAdapterAddresses(
272 ULONG *pulAddressCount,
273 ULONG **prgAddresses) = 0;
274
275};
276#ifdef __CRT_UUID_DECL
277__CRT_UUID_DECL(IAdapterInfo, 0x480bf94a, 0x09fd, 0x4f8a, 0xa3,0xe0, 0xb0,0x70,0x02,0x82,0xd8,0x4d)
278#endif
279#else
280typedef struct IAdapterInfoVtbl {
281 BEGIN_INTERFACE
282
283 /*** IUnknown methods ***/
284 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
285 IAdapterInfo *This,
286 REFIID riid,
287 void **ppvObject);
288
289 ULONG (STDMETHODCALLTYPE *AddRef)(
290 IAdapterInfo *This);
291
292 ULONG (STDMETHODCALLTYPE *Release)(
293 IAdapterInfo *This);
294
295 /*** IAdapterInfo methods ***/
296 HRESULT (STDMETHODCALLTYPE *GetAdapterIndex)(
297 IAdapterInfo *This,
298 ULONG *pulIndex);
299
300 HRESULT (STDMETHODCALLTYPE *GetAdapterType)(
301 IAdapterInfo *This,
302 ALG_ADAPTER_TYPE *pAdapterType);
303
304 HRESULT (STDMETHODCALLTYPE *GetAdapterAddresses)(
305 IAdapterInfo *This,
306 ULONG *pulAddressCount,
307 ULONG **prgAddresses);
308
309 END_INTERFACE
310} IAdapterInfoVtbl;
311
312interface IAdapterInfo {
313 CONST_VTBL IAdapterInfoVtbl* lpVtbl;
314};
315
316#ifdef COBJMACROS
317#ifndef WIDL_C_INLINE_WRAPPERS
318/*** IUnknown methods ***/
319#define IAdapterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
320#define IAdapterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
321#define IAdapterInfo_Release(This) (This)->lpVtbl->Release(This)
322/*** IAdapterInfo methods ***/
323#define IAdapterInfo_GetAdapterIndex(This,pulIndex) (This)->lpVtbl->GetAdapterIndex(This,pulIndex)
324#define IAdapterInfo_GetAdapterType(This,pAdapterType) (This)->lpVtbl->GetAdapterType(This,pAdapterType)
325#define IAdapterInfo_GetAdapterAddresses(This,pulAddressCount,prgAddresses) (This)->lpVtbl->GetAdapterAddresses(This,pulAddressCount,prgAddresses)
326#else
327/*** IUnknown methods ***/
328static FORCEINLINE HRESULT IAdapterInfo_QueryInterface(IAdapterInfo* This,REFIID riid,void **ppvObject) {
329 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
330}
331static FORCEINLINE ULONG IAdapterInfo_AddRef(IAdapterInfo* This) {
332 return This->lpVtbl->AddRef(This);
333}
334static FORCEINLINE ULONG IAdapterInfo_Release(IAdapterInfo* This) {
335 return This->lpVtbl->Release(This);
336}
337/*** IAdapterInfo methods ***/
338static FORCEINLINE HRESULT IAdapterInfo_GetAdapterIndex(IAdapterInfo* This,ULONG *pulIndex) {
339 return This->lpVtbl->GetAdapterIndex(This,pulIndex);
340}
341static FORCEINLINE HRESULT IAdapterInfo_GetAdapterType(IAdapterInfo* This,ALG_ADAPTER_TYPE *pAdapterType) {
342 return This->lpVtbl->GetAdapterType(This,pAdapterType);
343}
344static FORCEINLINE HRESULT IAdapterInfo_GetAdapterAddresses(IAdapterInfo* This,ULONG *pulAddressCount,ULONG **prgAddresses) {
345 return This->lpVtbl->GetAdapterAddresses(This,pulAddressCount,prgAddresses);
346}
347#endif
348#endif
349
350#endif
351
352
353#endif /* __IAdapterInfo_INTERFACE_DEFINED__ */
354
355/*****************************************************************************
356 * IPendingProxyConnection interface
357 */
358#ifndef __IPendingProxyConnection_INTERFACE_DEFINED__
359#define __IPendingProxyConnection_INTERFACE_DEFINED__
360
361DEFINE_GUID(IID_IPendingProxyConnection, 0xb68e5043, 0x3e3d, 0x4cc2, 0xb9,0xc1, 0x5f,0x8f,0x88,0xfe,0xe8,0x1c);
362#if defined(__cplusplus) && !defined(CINTERFACE)
363MIDL_INTERFACE("b68e5043-3e3d-4cc2-b9c1-5f8f88fee81c")
364IPendingProxyConnection : public IUnknown
365{
366 virtual HRESULT STDMETHODCALLTYPE Cancel(
367 ) = 0;
368
369};
370#ifdef __CRT_UUID_DECL
371__CRT_UUID_DECL(IPendingProxyConnection, 0xb68e5043, 0x3e3d, 0x4cc2, 0xb9,0xc1, 0x5f,0x8f,0x88,0xfe,0xe8,0x1c)
372#endif
373#else
374typedef struct IPendingProxyConnectionVtbl {
375 BEGIN_INTERFACE
376
377 /*** IUnknown methods ***/
378 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
379 IPendingProxyConnection *This,
380 REFIID riid,
381 void **ppvObject);
382
383 ULONG (STDMETHODCALLTYPE *AddRef)(
384 IPendingProxyConnection *This);
385
386 ULONG (STDMETHODCALLTYPE *Release)(
387 IPendingProxyConnection *This);
388
389 /*** IPendingProxyConnection methods ***/
390 HRESULT (STDMETHODCALLTYPE *Cancel)(
391 IPendingProxyConnection *This);
392
393 END_INTERFACE
394} IPendingProxyConnectionVtbl;
395
396interface IPendingProxyConnection {
397 CONST_VTBL IPendingProxyConnectionVtbl* lpVtbl;
398};
399
400#ifdef COBJMACROS
401#ifndef WIDL_C_INLINE_WRAPPERS
402/*** IUnknown methods ***/
403#define IPendingProxyConnection_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
404#define IPendingProxyConnection_AddRef(This) (This)->lpVtbl->AddRef(This)
405#define IPendingProxyConnection_Release(This) (This)->lpVtbl->Release(This)
406/*** IPendingProxyConnection methods ***/
407#define IPendingProxyConnection_Cancel(This) (This)->lpVtbl->Cancel(This)
408#else
409/*** IUnknown methods ***/
410static FORCEINLINE HRESULT IPendingProxyConnection_QueryInterface(IPendingProxyConnection* This,REFIID riid,void **ppvObject) {
411 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
412}
413static FORCEINLINE ULONG IPendingProxyConnection_AddRef(IPendingProxyConnection* This) {
414 return This->lpVtbl->AddRef(This);
415}
416static FORCEINLINE ULONG IPendingProxyConnection_Release(IPendingProxyConnection* This) {
417 return This->lpVtbl->Release(This);
418}
419/*** IPendingProxyConnection methods ***/
420static FORCEINLINE HRESULT IPendingProxyConnection_Cancel(IPendingProxyConnection* This) {
421 return This->lpVtbl->Cancel(This);
422}
423#endif
424#endif
425
426#endif
427
428
429#endif /* __IPendingProxyConnection_INTERFACE_DEFINED__ */
430
431/*****************************************************************************
432 * IDataChannel interface
433 */
434#ifndef __IDataChannel_INTERFACE_DEFINED__
435#define __IDataChannel_INTERFACE_DEFINED__
436
437DEFINE_GUID(IID_IDataChannel, 0xad42d12a, 0x4ad0, 0x4856, 0x91,0x9e, 0xe8,0x54,0xc9,0x1d,0x18,0x56);
438#if defined(__cplusplus) && !defined(CINTERFACE)
439MIDL_INTERFACE("ad42d12a-4ad0-4856-919e-e854c91d1856")
440IDataChannel : public IUnknown
441{
442 virtual HRESULT STDMETHODCALLTYPE Cancel(
443 ) = 0;
444
445 virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
446 ALG_DATA_CHANNEL_PROPERTIES **ppProperties) = 0;
447
448 virtual HRESULT STDMETHODCALLTYPE GetSessionCreationEventHandle(
449 HANDLE *pHandle) = 0;
450
451 virtual HRESULT STDMETHODCALLTYPE GetSessionDeletionEventHandle(
452 HANDLE *pHandle) = 0;
453
454};
455#ifdef __CRT_UUID_DECL
456__CRT_UUID_DECL(IDataChannel, 0xad42d12a, 0x4ad0, 0x4856, 0x91,0x9e, 0xe8,0x54,0xc9,0x1d,0x18,0x56)
457#endif
458#else
459typedef struct IDataChannelVtbl {
460 BEGIN_INTERFACE
461
462 /*** IUnknown methods ***/
463 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
464 IDataChannel *This,
465 REFIID riid,
466 void **ppvObject);
467
468 ULONG (STDMETHODCALLTYPE *AddRef)(
469 IDataChannel *This);
470
471 ULONG (STDMETHODCALLTYPE *Release)(
472 IDataChannel *This);
473
474 /*** IDataChannel methods ***/
475 HRESULT (STDMETHODCALLTYPE *Cancel)(
476 IDataChannel *This);
477
478 HRESULT (STDMETHODCALLTYPE *GetChannelProperties)(
479 IDataChannel *This,
480 ALG_DATA_CHANNEL_PROPERTIES **ppProperties);
481
482 HRESULT (STDMETHODCALLTYPE *GetSessionCreationEventHandle)(
483 IDataChannel *This,
484 HANDLE *pHandle);
485
486 HRESULT (STDMETHODCALLTYPE *GetSessionDeletionEventHandle)(
487 IDataChannel *This,
488 HANDLE *pHandle);
489
490 END_INTERFACE
491} IDataChannelVtbl;
492
493interface IDataChannel {
494 CONST_VTBL IDataChannelVtbl* lpVtbl;
495};
496
497#ifdef COBJMACROS
498#ifndef WIDL_C_INLINE_WRAPPERS
499/*** IUnknown methods ***/
500#define IDataChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
501#define IDataChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
502#define IDataChannel_Release(This) (This)->lpVtbl->Release(This)
503/*** IDataChannel methods ***/
504#define IDataChannel_Cancel(This) (This)->lpVtbl->Cancel(This)
505#define IDataChannel_GetChannelProperties(This,ppProperties) (This)->lpVtbl->GetChannelProperties(This,ppProperties)
506#define IDataChannel_GetSessionCreationEventHandle(This,pHandle) (This)->lpVtbl->GetSessionCreationEventHandle(This,pHandle)
507#define IDataChannel_GetSessionDeletionEventHandle(This,pHandle) (This)->lpVtbl->GetSessionDeletionEventHandle(This,pHandle)
508#else
509/*** IUnknown methods ***/
510static FORCEINLINE HRESULT IDataChannel_QueryInterface(IDataChannel* This,REFIID riid,void **ppvObject) {
511 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
512}
513static FORCEINLINE ULONG IDataChannel_AddRef(IDataChannel* This) {
514 return This->lpVtbl->AddRef(This);
515}
516static FORCEINLINE ULONG IDataChannel_Release(IDataChannel* This) {
517 return This->lpVtbl->Release(This);
518}
519/*** IDataChannel methods ***/
520static FORCEINLINE HRESULT IDataChannel_Cancel(IDataChannel* This) {
521 return This->lpVtbl->Cancel(This);
522}
523static FORCEINLINE HRESULT IDataChannel_GetChannelProperties(IDataChannel* This,ALG_DATA_CHANNEL_PROPERTIES **ppProperties) {
524 return This->lpVtbl->GetChannelProperties(This,ppProperties);
525}
526static FORCEINLINE HRESULT IDataChannel_GetSessionCreationEventHandle(IDataChannel* This,HANDLE *pHandle) {
527 return This->lpVtbl->GetSessionCreationEventHandle(This,pHandle);
528}
529static FORCEINLINE HRESULT IDataChannel_GetSessionDeletionEventHandle(IDataChannel* This,HANDLE *pHandle) {
530 return This->lpVtbl->GetSessionDeletionEventHandle(This,pHandle);
531}
532#endif
533#endif
534
535#endif
536
537
538#endif /* __IDataChannel_INTERFACE_DEFINED__ */
539
540/*****************************************************************************
541 * IPersistentDataChannel interface
542 */
543#ifndef __IPersistentDataChannel_INTERFACE_DEFINED__
544#define __IPersistentDataChannel_INTERFACE_DEFINED__
545
546DEFINE_GUID(IID_IPersistentDataChannel, 0xa180e934, 0xd92a, 0x415d, 0x91,0x44, 0x75,0x9f,0x80,0x54,0xe8,0xf6);
547#if defined(__cplusplus) && !defined(CINTERFACE)
548MIDL_INTERFACE("a180e934-d92a-415d-9144-759f8054e8f6")
549IPersistentDataChannel : public IUnknown
550{
551 virtual HRESULT STDMETHODCALLTYPE Cancel(
552 ) = 0;
553
554 virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
555 ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties) = 0;
556
557};
558#ifdef __CRT_UUID_DECL
559__CRT_UUID_DECL(IPersistentDataChannel, 0xa180e934, 0xd92a, 0x415d, 0x91,0x44, 0x75,0x9f,0x80,0x54,0xe8,0xf6)
560#endif
561#else
562typedef struct IPersistentDataChannelVtbl {
563 BEGIN_INTERFACE
564
565 /*** IUnknown methods ***/
566 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
567 IPersistentDataChannel *This,
568 REFIID riid,
569 void **ppvObject);
570
571 ULONG (STDMETHODCALLTYPE *AddRef)(
572 IPersistentDataChannel *This);
573
574 ULONG (STDMETHODCALLTYPE *Release)(
575 IPersistentDataChannel *This);
576
577 /*** IPersistentDataChannel methods ***/
578 HRESULT (STDMETHODCALLTYPE *Cancel)(
579 IPersistentDataChannel *This);
580
581 HRESULT (STDMETHODCALLTYPE *GetChannelProperties)(
582 IPersistentDataChannel *This,
583 ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties);
584
585 END_INTERFACE
586} IPersistentDataChannelVtbl;
587
588interface IPersistentDataChannel {
589 CONST_VTBL IPersistentDataChannelVtbl* lpVtbl;
590};
591
592#ifdef COBJMACROS
593#ifndef WIDL_C_INLINE_WRAPPERS
594/*** IUnknown methods ***/
595#define IPersistentDataChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
596#define IPersistentDataChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
597#define IPersistentDataChannel_Release(This) (This)->lpVtbl->Release(This)
598/*** IPersistentDataChannel methods ***/
599#define IPersistentDataChannel_Cancel(This) (This)->lpVtbl->Cancel(This)
600#define IPersistentDataChannel_GetChannelProperties(This,ppProperties) (This)->lpVtbl->GetChannelProperties(This,ppProperties)
601#else
602/*** IUnknown methods ***/
603static FORCEINLINE HRESULT IPersistentDataChannel_QueryInterface(IPersistentDataChannel* This,REFIID riid,void **ppvObject) {
604 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
605}
606static FORCEINLINE ULONG IPersistentDataChannel_AddRef(IPersistentDataChannel* This) {
607 return This->lpVtbl->AddRef(This);
608}
609static FORCEINLINE ULONG IPersistentDataChannel_Release(IPersistentDataChannel* This) {
610 return This->lpVtbl->Release(This);
611}
612/*** IPersistentDataChannel methods ***/
613static FORCEINLINE HRESULT IPersistentDataChannel_Cancel(IPersistentDataChannel* This) {
614 return This->lpVtbl->Cancel(This);
615}
616static FORCEINLINE HRESULT IPersistentDataChannel_GetChannelProperties(IPersistentDataChannel* This,ALG_PERSISTENT_DATA_CHANNEL_PROPERTIES **ppProperties) {
617 return This->lpVtbl->GetChannelProperties(This,ppProperties);
618}
619#endif
620#endif
621
622#endif
623
624
625#endif /* __IPersistentDataChannel_INTERFACE_DEFINED__ */
626
627/*****************************************************************************
628 * IPrimaryControlChannel interface
629 */
630#ifndef __IPrimaryControlChannel_INTERFACE_DEFINED__
631#define __IPrimaryControlChannel_INTERFACE_DEFINED__
632
633DEFINE_GUID(IID_IPrimaryControlChannel, 0x1a2e8b62, 0x9012, 0x4be6, 0x84,0xae, 0x32,0xbd,0x66,0xba,0x65,0x7a);
634#if defined(__cplusplus) && !defined(CINTERFACE)
635MIDL_INTERFACE("1a2e8b62-9012-4be6-84ae-32bd66ba657a")
636IPrimaryControlChannel : public IUnknown
637{
638 virtual HRESULT STDMETHODCALLTYPE Cancel(
639 ) = 0;
640
641 virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
642 ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties) = 0;
643
644 virtual HRESULT STDMETHODCALLTYPE GetOriginalDestinationInformation(
645 ULONG ulSourceAddress,
646 USHORT usSourcePort,
647 ULONG *pulOriginalDestinationAddress,
648 USHORT *pusOriginalDestinationPort,
649 ULONG *pulRemapDestinationAddress,
650 USHORT *pulRemapDestinationPort,
651 IAdapterInfo **ppReceiveAdapter) = 0;
652
653};
654#ifdef __CRT_UUID_DECL
655__CRT_UUID_DECL(IPrimaryControlChannel, 0x1a2e8b62, 0x9012, 0x4be6, 0x84,0xae, 0x32,0xbd,0x66,0xba,0x65,0x7a)
656#endif
657#else
658typedef struct IPrimaryControlChannelVtbl {
659 BEGIN_INTERFACE
660
661 /*** IUnknown methods ***/
662 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
663 IPrimaryControlChannel *This,
664 REFIID riid,
665 void **ppvObject);
666
667 ULONG (STDMETHODCALLTYPE *AddRef)(
668 IPrimaryControlChannel *This);
669
670 ULONG (STDMETHODCALLTYPE *Release)(
671 IPrimaryControlChannel *This);
672
673 /*** IPrimaryControlChannel methods ***/
674 HRESULT (STDMETHODCALLTYPE *Cancel)(
675 IPrimaryControlChannel *This);
676
677 HRESULT (STDMETHODCALLTYPE *GetChannelProperties)(
678 IPrimaryControlChannel *This,
679 ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties);
680
681 HRESULT (STDMETHODCALLTYPE *GetOriginalDestinationInformation)(
682 IPrimaryControlChannel *This,
683 ULONG ulSourceAddress,
684 USHORT usSourcePort,
685 ULONG *pulOriginalDestinationAddress,
686 USHORT *pusOriginalDestinationPort,
687 ULONG *pulRemapDestinationAddress,
688 USHORT *pulRemapDestinationPort,
689 IAdapterInfo **ppReceiveAdapter);
690
691 END_INTERFACE
692} IPrimaryControlChannelVtbl;
693
694interface IPrimaryControlChannel {
695 CONST_VTBL IPrimaryControlChannelVtbl* lpVtbl;
696};
697
698#ifdef COBJMACROS
699#ifndef WIDL_C_INLINE_WRAPPERS
700/*** IUnknown methods ***/
701#define IPrimaryControlChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
702#define IPrimaryControlChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
703#define IPrimaryControlChannel_Release(This) (This)->lpVtbl->Release(This)
704/*** IPrimaryControlChannel methods ***/
705#define IPrimaryControlChannel_Cancel(This) (This)->lpVtbl->Cancel(This)
706#define IPrimaryControlChannel_GetChannelProperties(This,ppProperties) (This)->lpVtbl->GetChannelProperties(This,ppProperties)
707#define IPrimaryControlChannel_GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter) (This)->lpVtbl->GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter)
708#else
709/*** IUnknown methods ***/
710static FORCEINLINE HRESULT IPrimaryControlChannel_QueryInterface(IPrimaryControlChannel* This,REFIID riid,void **ppvObject) {
711 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
712}
713static FORCEINLINE ULONG IPrimaryControlChannel_AddRef(IPrimaryControlChannel* This) {
714 return This->lpVtbl->AddRef(This);
715}
716static FORCEINLINE ULONG IPrimaryControlChannel_Release(IPrimaryControlChannel* This) {
717 return This->lpVtbl->Release(This);
718}
719/*** IPrimaryControlChannel methods ***/
720static FORCEINLINE HRESULT IPrimaryControlChannel_Cancel(IPrimaryControlChannel* This) {
721 return This->lpVtbl->Cancel(This);
722}
723static FORCEINLINE HRESULT IPrimaryControlChannel_GetChannelProperties(IPrimaryControlChannel* This,ALG_PRIMARY_CHANNEL_PROPERTIES **ppProperties) {
724 return This->lpVtbl->GetChannelProperties(This,ppProperties);
725}
726static FORCEINLINE HRESULT IPrimaryControlChannel_GetOriginalDestinationInformation(IPrimaryControlChannel* This,ULONG ulSourceAddress,USHORT usSourcePort,ULONG *pulOriginalDestinationAddress,USHORT *pusOriginalDestinationPort,ULONG *pulRemapDestinationAddress,USHORT *pulRemapDestinationPort,IAdapterInfo **ppReceiveAdapter) {
727 return This->lpVtbl->GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,pulRemapDestinationAddress,pulRemapDestinationPort,ppReceiveAdapter);
728}
729#endif
730#endif
731
732#endif
733
734
735#endif /* __IPrimaryControlChannel_INTERFACE_DEFINED__ */
736
737/*****************************************************************************
738 * ISecondaryControlChannel interface
739 */
740#ifndef __ISecondaryControlChannel_INTERFACE_DEFINED__
741#define __ISecondaryControlChannel_INTERFACE_DEFINED__
742
743DEFINE_GUID(IID_ISecondaryControlChannel, 0xa23f9d10, 0x714c, 0x41fe, 0x84,0x71, 0xff,0xb1,0x9b,0xc2,0x84,0x54);
744#if defined(__cplusplus) && !defined(CINTERFACE)
745MIDL_INTERFACE("a23f9d10-714c-41fe-8471-ffb19bc28454")
746ISecondaryControlChannel : public IUnknown
747{
748 virtual HRESULT STDMETHODCALLTYPE Cancel(
749 ) = 0;
750
751 virtual HRESULT STDMETHODCALLTYPE GetChannelProperties(
752 ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties) = 0;
753
754 virtual HRESULT STDMETHODCALLTYPE GetOriginalDestinationInformation(
755 ULONG ulSourceAddress,
756 USHORT usSourcePort,
757 ULONG *pulOriginalDestinationAddress,
758 USHORT *pusOriginalDestinationPort,
759 IAdapterInfo **ppReceiveAdapter) = 0;
760
761};
762#ifdef __CRT_UUID_DECL
763__CRT_UUID_DECL(ISecondaryControlChannel, 0xa23f9d10, 0x714c, 0x41fe, 0x84,0x71, 0xff,0xb1,0x9b,0xc2,0x84,0x54)
764#endif
765#else
766typedef struct ISecondaryControlChannelVtbl {
767 BEGIN_INTERFACE
768
769 /*** IUnknown methods ***/
770 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
771 ISecondaryControlChannel *This,
772 REFIID riid,
773 void **ppvObject);
774
775 ULONG (STDMETHODCALLTYPE *AddRef)(
776 ISecondaryControlChannel *This);
777
778 ULONG (STDMETHODCALLTYPE *Release)(
779 ISecondaryControlChannel *This);
780
781 /*** ISecondaryControlChannel methods ***/
782 HRESULT (STDMETHODCALLTYPE *Cancel)(
783 ISecondaryControlChannel *This);
784
785 HRESULT (STDMETHODCALLTYPE *GetChannelProperties)(
786 ISecondaryControlChannel *This,
787 ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties);
788
789 HRESULT (STDMETHODCALLTYPE *GetOriginalDestinationInformation)(
790 ISecondaryControlChannel *This,
791 ULONG ulSourceAddress,
792 USHORT usSourcePort,
793 ULONG *pulOriginalDestinationAddress,
794 USHORT *pusOriginalDestinationPort,
795 IAdapterInfo **ppReceiveAdapter);
796
797 END_INTERFACE
798} ISecondaryControlChannelVtbl;
799
800interface ISecondaryControlChannel {
801 CONST_VTBL ISecondaryControlChannelVtbl* lpVtbl;
802};
803
804#ifdef COBJMACROS
805#ifndef WIDL_C_INLINE_WRAPPERS
806/*** IUnknown methods ***/
807#define ISecondaryControlChannel_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
808#define ISecondaryControlChannel_AddRef(This) (This)->lpVtbl->AddRef(This)
809#define ISecondaryControlChannel_Release(This) (This)->lpVtbl->Release(This)
810/*** ISecondaryControlChannel methods ***/
811#define ISecondaryControlChannel_Cancel(This) (This)->lpVtbl->Cancel(This)
812#define ISecondaryControlChannel_GetChannelProperties(This,ppProperties) (This)->lpVtbl->GetChannelProperties(This,ppProperties)
813#define ISecondaryControlChannel_GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter) (This)->lpVtbl->GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter)
814#else
815/*** IUnknown methods ***/
816static FORCEINLINE HRESULT ISecondaryControlChannel_QueryInterface(ISecondaryControlChannel* This,REFIID riid,void **ppvObject) {
817 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
818}
819static FORCEINLINE ULONG ISecondaryControlChannel_AddRef(ISecondaryControlChannel* This) {
820 return This->lpVtbl->AddRef(This);
821}
822static FORCEINLINE ULONG ISecondaryControlChannel_Release(ISecondaryControlChannel* This) {
823 return This->lpVtbl->Release(This);
824}
825/*** ISecondaryControlChannel methods ***/
826static FORCEINLINE HRESULT ISecondaryControlChannel_Cancel(ISecondaryControlChannel* This) {
827 return This->lpVtbl->Cancel(This);
828}
829static FORCEINLINE HRESULT ISecondaryControlChannel_GetChannelProperties(ISecondaryControlChannel* This,ALG_SECONDARY_CHANNEL_PROPERTIES **ppProperties) {
830 return This->lpVtbl->GetChannelProperties(This,ppProperties);
831}
832static FORCEINLINE HRESULT ISecondaryControlChannel_GetOriginalDestinationInformation(ISecondaryControlChannel* This,ULONG ulSourceAddress,USHORT usSourcePort,ULONG *pulOriginalDestinationAddress,USHORT *pusOriginalDestinationPort,IAdapterInfo **ppReceiveAdapter) {
833 return This->lpVtbl->GetOriginalDestinationInformation(This,ulSourceAddress,usSourcePort,pulOriginalDestinationAddress,pusOriginalDestinationPort,ppReceiveAdapter);
834}
835#endif
836#endif
837
838#endif
839
840
841#endif /* __ISecondaryControlChannel_INTERFACE_DEFINED__ */
842
843/*****************************************************************************
844 * IEnumAdapterInfo interface
845 */
846#ifndef __IEnumAdapterInfo_INTERFACE_DEFINED__
847#define __IEnumAdapterInfo_INTERFACE_DEFINED__
848
849DEFINE_GUID(IID_IEnumAdapterInfo, 0xa23f9d11, 0x714c, 0x41fe, 0x84,0x71, 0xff,0xb1,0x9b,0xc2,0x84,0x54);
850#if defined(__cplusplus) && !defined(CINTERFACE)
851MIDL_INTERFACE("a23f9d11-714c-41fe-8471-ffb19bc28454")
852IEnumAdapterInfo : public IUnknown
853{
854 virtual HRESULT STDMETHODCALLTYPE Next(
855 ULONG celt,
856 IAdapterInfo **rgAI,
857 ULONG *pCeltFetched) = 0;
858
859 virtual HRESULT STDMETHODCALLTYPE Skip(
860 ULONG celt) = 0;
861
862 virtual HRESULT STDMETHODCALLTYPE Reset(
863 ) = 0;
864
865 virtual HRESULT STDMETHODCALLTYPE Clone(
866 IEnumAdapterInfo **ppEnum) = 0;
867
868};
869#ifdef __CRT_UUID_DECL
870__CRT_UUID_DECL(IEnumAdapterInfo, 0xa23f9d11, 0x714c, 0x41fe, 0x84,0x71, 0xff,0xb1,0x9b,0xc2,0x84,0x54)
871#endif
872#else
873typedef struct IEnumAdapterInfoVtbl {
874 BEGIN_INTERFACE
875
876 /*** IUnknown methods ***/
877 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
878 IEnumAdapterInfo *This,
879 REFIID riid,
880 void **ppvObject);
881
882 ULONG (STDMETHODCALLTYPE *AddRef)(
883 IEnumAdapterInfo *This);
884
885 ULONG (STDMETHODCALLTYPE *Release)(
886 IEnumAdapterInfo *This);
887
888 /*** IEnumAdapterInfo methods ***/
889 HRESULT (STDMETHODCALLTYPE *Next)(
890 IEnumAdapterInfo *This,
891 ULONG celt,
892 IAdapterInfo **rgAI,
893 ULONG *pCeltFetched);
894
895 HRESULT (STDMETHODCALLTYPE *Skip)(
896 IEnumAdapterInfo *This,
897 ULONG celt);
898
899 HRESULT (STDMETHODCALLTYPE *Reset)(
900 IEnumAdapterInfo *This);
901
902 HRESULT (STDMETHODCALLTYPE *Clone)(
903 IEnumAdapterInfo *This,
904 IEnumAdapterInfo **ppEnum);
905
906 END_INTERFACE
907} IEnumAdapterInfoVtbl;
908
909interface IEnumAdapterInfo {
910 CONST_VTBL IEnumAdapterInfoVtbl* lpVtbl;
911};
912
913#ifdef COBJMACROS
914#ifndef WIDL_C_INLINE_WRAPPERS
915/*** IUnknown methods ***/
916#define IEnumAdapterInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
917#define IEnumAdapterInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
918#define IEnumAdapterInfo_Release(This) (This)->lpVtbl->Release(This)
919/*** IEnumAdapterInfo methods ***/
920#define IEnumAdapterInfo_Next(This,celt,rgAI,pCeltFetched) (This)->lpVtbl->Next(This,celt,rgAI,pCeltFetched)
921#define IEnumAdapterInfo_Skip(This,celt) (This)->lpVtbl->Skip(This,celt)
922#define IEnumAdapterInfo_Reset(This) (This)->lpVtbl->Reset(This)
923#define IEnumAdapterInfo_Clone(This,ppEnum) (This)->lpVtbl->Clone(This,ppEnum)
924#else
925/*** IUnknown methods ***/
926static FORCEINLINE HRESULT IEnumAdapterInfo_QueryInterface(IEnumAdapterInfo* This,REFIID riid,void **ppvObject) {
927 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
928}
929static FORCEINLINE ULONG IEnumAdapterInfo_AddRef(IEnumAdapterInfo* This) {
930 return This->lpVtbl->AddRef(This);
931}
932static FORCEINLINE ULONG IEnumAdapterInfo_Release(IEnumAdapterInfo* This) {
933 return This->lpVtbl->Release(This);
934}
935/*** IEnumAdapterInfo methods ***/
936static FORCEINLINE HRESULT IEnumAdapterInfo_Next(IEnumAdapterInfo* This,ULONG celt,IAdapterInfo **rgAI,ULONG *pCeltFetched) {
937 return This->lpVtbl->Next(This,celt,rgAI,pCeltFetched);
938}
939static FORCEINLINE HRESULT IEnumAdapterInfo_Skip(IEnumAdapterInfo* This,ULONG celt) {
940 return This->lpVtbl->Skip(This,celt);
941}
942static FORCEINLINE HRESULT IEnumAdapterInfo_Reset(IEnumAdapterInfo* This) {
943 return This->lpVtbl->Reset(This);
944}
945static FORCEINLINE HRESULT IEnumAdapterInfo_Clone(IEnumAdapterInfo* This,IEnumAdapterInfo **ppEnum) {
946 return This->lpVtbl->Clone(This,ppEnum);
947}
948#endif
949#endif
950
951#endif
952
953
954#endif /* __IEnumAdapterInfo_INTERFACE_DEFINED__ */
955
956/*****************************************************************************
957 * IAdapterNotificationSink interface
958 */
959#ifndef __IAdapterNotificationSink_INTERFACE_DEFINED__
960#define __IAdapterNotificationSink_INTERFACE_DEFINED__
961
962DEFINE_GUID(IID_IAdapterNotificationSink, 0x44ab2dc3, 0x23b2, 0x47de, 0x82,0x28, 0x2e,0x1c,0xce,0xeb,0x99,0x11);
963#if defined(__cplusplus) && !defined(CINTERFACE)
964MIDL_INTERFACE("44ab2dc3-23b2-47de-8228-2e1cceeb9911")
965IAdapterNotificationSink : public IUnknown
966{
967 virtual HRESULT STDMETHODCALLTYPE AdapterAdded(
968 IAdapterInfo *pAdapter) = 0;
969
970 virtual HRESULT STDMETHODCALLTYPE AdapterRemoved(
971 IAdapterInfo *pAdapter) = 0;
972
973 virtual HRESULT STDMETHODCALLTYPE AdapterModified(
974 IAdapterInfo *pAdapter) = 0;
975
976 virtual HRESULT STDMETHODCALLTYPE AdapterUpdatePortMapping(
977 IAdapterInfo *pAdapter) = 0;
978
979};
980#ifdef __CRT_UUID_DECL
981__CRT_UUID_DECL(IAdapterNotificationSink, 0x44ab2dc3, 0x23b2, 0x47de, 0x82,0x28, 0x2e,0x1c,0xce,0xeb,0x99,0x11)
982#endif
983#else
984typedef struct IAdapterNotificationSinkVtbl {
985 BEGIN_INTERFACE
986
987 /*** IUnknown methods ***/
988 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
989 IAdapterNotificationSink *This,
990 REFIID riid,
991 void **ppvObject);
992
993 ULONG (STDMETHODCALLTYPE *AddRef)(
994 IAdapterNotificationSink *This);
995
996 ULONG (STDMETHODCALLTYPE *Release)(
997 IAdapterNotificationSink *This);
998
999 /*** IAdapterNotificationSink methods ***/
1000 HRESULT (STDMETHODCALLTYPE *AdapterAdded)(
1001 IAdapterNotificationSink *This,
1002 IAdapterInfo *pAdapter);
1003
1004 HRESULT (STDMETHODCALLTYPE *AdapterRemoved)(
1005 IAdapterNotificationSink *This,
1006 IAdapterInfo *pAdapter);
1007
1008 HRESULT (STDMETHODCALLTYPE *AdapterModified)(
1009 IAdapterNotificationSink *This,
1010 IAdapterInfo *pAdapter);
1011
1012 HRESULT (STDMETHODCALLTYPE *AdapterUpdatePortMapping)(
1013 IAdapterNotificationSink *This,
1014 IAdapterInfo *pAdapter);
1015
1016 END_INTERFACE
1017} IAdapterNotificationSinkVtbl;
1018
1019interface IAdapterNotificationSink {
1020 CONST_VTBL IAdapterNotificationSinkVtbl* lpVtbl;
1021};
1022
1023#ifdef COBJMACROS
1024#ifndef WIDL_C_INLINE_WRAPPERS
1025/*** IUnknown methods ***/
1026#define IAdapterNotificationSink_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1027#define IAdapterNotificationSink_AddRef(This) (This)->lpVtbl->AddRef(This)
1028#define IAdapterNotificationSink_Release(This) (This)->lpVtbl->Release(This)
1029/*** IAdapterNotificationSink methods ***/
1030#define IAdapterNotificationSink_AdapterAdded(This,pAdapter) (This)->lpVtbl->AdapterAdded(This,pAdapter)
1031#define IAdapterNotificationSink_AdapterRemoved(This,pAdapter) (This)->lpVtbl->AdapterRemoved(This,pAdapter)
1032#define IAdapterNotificationSink_AdapterModified(This,pAdapter) (This)->lpVtbl->AdapterModified(This,pAdapter)
1033#define IAdapterNotificationSink_AdapterUpdatePortMapping(This,pAdapter) (This)->lpVtbl->AdapterUpdatePortMapping(This,pAdapter)
1034#else
1035/*** IUnknown methods ***/
1036static FORCEINLINE HRESULT IAdapterNotificationSink_QueryInterface(IAdapterNotificationSink* This,REFIID riid,void **ppvObject) {
1037 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1038}
1039static FORCEINLINE ULONG IAdapterNotificationSink_AddRef(IAdapterNotificationSink* This) {
1040 return This->lpVtbl->AddRef(This);
1041}
1042static FORCEINLINE ULONG IAdapterNotificationSink_Release(IAdapterNotificationSink* This) {
1043 return This->lpVtbl->Release(This);
1044}
1045/*** IAdapterNotificationSink methods ***/
1046static FORCEINLINE HRESULT IAdapterNotificationSink_AdapterAdded(IAdapterNotificationSink* This,IAdapterInfo *pAdapter) {
1047 return This->lpVtbl->AdapterAdded(This,pAdapter);
1048}
1049static FORCEINLINE HRESULT IAdapterNotificationSink_AdapterRemoved(IAdapterNotificationSink* This,IAdapterInfo *pAdapter) {
1050 return This->lpVtbl->AdapterRemoved(This,pAdapter);
1051}
1052static FORCEINLINE HRESULT IAdapterNotificationSink_AdapterModified(IAdapterNotificationSink* This,IAdapterInfo *pAdapter) {
1053 return This->lpVtbl->AdapterModified(This,pAdapter);
1054}
1055static FORCEINLINE HRESULT IAdapterNotificationSink_AdapterUpdatePortMapping(IAdapterNotificationSink* This,IAdapterInfo *pAdapter) {
1056 return This->lpVtbl->AdapterUpdatePortMapping(This,pAdapter);
1057}
1058#endif
1059#endif
1060
1061#endif
1062
1063
1064#endif /* __IAdapterNotificationSink_INTERFACE_DEFINED__ */
1065
1066/*****************************************************************************
1067 * IApplicationGatewayServices interface
1068 */
1069#ifndef __IApplicationGatewayServices_INTERFACE_DEFINED__
1070#define __IApplicationGatewayServices_INTERFACE_DEFINED__
1071
1072DEFINE_GUID(IID_IApplicationGatewayServices, 0x5134842a, 0xfdce, 0x485d, 0x93,0xcd, 0xde,0x16,0x40,0x64,0x3b,0xbe);
1073#if defined(__cplusplus) && !defined(CINTERFACE)
1074MIDL_INTERFACE("5134842a-fdce-485d-93cd-de1640643bbe")
1075IApplicationGatewayServices : public IUnknown
1076{
1077 virtual HRESULT STDMETHODCALLTYPE CreatePrimaryControlChannel(
1078 ULONG uAdapterIndex,
1079 ALG_PROTOCOL eProtocol,
1080 USHORT usPortToCapture,
1081 ALG_CAPTURE eCaptureType,
1082 WINBOOL fCaptureInbound,
1083 ULONG ulListenAddress,
1084 USHORT usListenPort,
1085 IPrimaryControlChannel **ppIControlChannel) = 0;
1086
1087 virtual HRESULT STDMETHODCALLTYPE CreateSecondaryControlChannel(
1088 ALG_PROTOCOL eProtocol,
1089 ULONG ulPrivateAddress,
1090 USHORT usPrivatePort,
1091 ULONG ulPublicAddress,
1092 USHORT usPublicPort,
1093 ULONG ulRemoteAddress,
1094 USHORT usRemotePort,
1095 ULONG ulListenAddress,
1096 USHORT usListenPort,
1097 ALG_DIRECTION eDirection,
1098 WINBOOL fPersistent,
1099 ISecondaryControlChannel **ppControlChannel) = 0;
1100
1101 virtual HRESULT STDMETHODCALLTYPE GetBestSourceAddressForDestinationAddress(
1102 ULONG ulDstAddress,
1103 WINBOOL fDemandDial,
1104 ULONG *pulBestSrcAddress) = 0;
1105
1106 virtual HRESULT STDMETHODCALLTYPE PrepareProxyConnection(
1107 ALG_PROTOCOL eProtocol,
1108 ULONG ulSrcAddress,
1109 USHORT usSrcPort,
1110 ULONG ulDstAddress,
1111 USHORT usDstPort,
1112 WINBOOL fNoTimeout,
1113 IPendingProxyConnection **ppPendingConnection) = 0;
1114
1115 virtual HRESULT STDMETHODCALLTYPE PrepareSourceModifiedProxyConnection(
1116 ALG_PROTOCOL eProtocol,
1117 ULONG ulSrcAddress,
1118 USHORT usSrcPort,
1119 ULONG ulDstAddress,
1120 USHORT usDstPort,
1121 ULONG ulNewSrcAddress,
1122 USHORT usNewSourcePort,
1123 IPendingProxyConnection **ppPendingConnection) = 0;
1124
1125 virtual HRESULT STDMETHODCALLTYPE CreateDataChannel(
1126 ALG_PROTOCOL eProtocol,
1127 ULONG ulPrivateAddress,
1128 USHORT usPrivatePort,
1129 ULONG ulPublicAddress,
1130 USHORT usPublicPort,
1131 ULONG ulRemoteAddress,
1132 USHORT usRemotePort,
1133 ALG_DIRECTION eDirection,
1134 ALG_NOTIFICATION eDesiredNotification,
1135 WINBOOL fNoTimeout,
1136 IDataChannel **ppDataChannel) = 0;
1137
1138 virtual HRESULT STDMETHODCALLTYPE CreatePersistentDataChannel(
1139 ALG_PROTOCOL eProtocol,
1140 ULONG ulPrivateAddress,
1141 USHORT usPrivatePort,
1142 ULONG ulPublicAddress,
1143 USHORT usPublicPort,
1144 ULONG ulRemoteAddress,
1145 USHORT usRemotePort,
1146 ALG_DIRECTION eDirection,
1147 IPersistentDataChannel **ppIPersistentDataChannel) = 0;
1148
1149 virtual HRESULT STDMETHODCALLTYPE ReservePort(
1150 USHORT usPortCount,
1151 USHORT *pusReservedPort) = 0;
1152
1153 virtual HRESULT STDMETHODCALLTYPE ReleaseReservedPort(
1154 USHORT usReservedPortBase,
1155 USHORT usPortCount) = 0;
1156
1157 virtual HRESULT STDMETHODCALLTYPE EnumerateAdapters(
1158 IEnumAdapterInfo **ppIEnumAdapterInfo) = 0;
1159
1160 virtual HRESULT STDMETHODCALLTYPE StartAdapterNotifications(
1161 IAdapterNotificationSink *pSink,
1162 DWORD *pdwCookie) = 0;
1163
1164 virtual HRESULT STDMETHODCALLTYPE StopAdapterNotifications(
1165 DWORD dwCookieOfSink) = 0;
1166
1167 virtual HRESULT STDMETHODCALLTYPE LookupAdapterPortMapping(
1168 ULONG ulAdapterIndex,
1169 UCHAR Protocol,
1170 ULONG ulDestinationAddress,
1171 USHORT usDestinationPort,
1172 ULONG *pulRemapAddress,
1173 USHORT *pusRemapPort) = 0;
1174
1175};
1176#ifdef __CRT_UUID_DECL
1177__CRT_UUID_DECL(IApplicationGatewayServices, 0x5134842a, 0xfdce, 0x485d, 0x93,0xcd, 0xde,0x16,0x40,0x64,0x3b,0xbe)
1178#endif
1179#else
1180typedef struct IApplicationGatewayServicesVtbl {
1181 BEGIN_INTERFACE
1182
1183 /*** IUnknown methods ***/
1184 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1185 IApplicationGatewayServices *This,
1186 REFIID riid,
1187 void **ppvObject);
1188
1189 ULONG (STDMETHODCALLTYPE *AddRef)(
1190 IApplicationGatewayServices *This);
1191
1192 ULONG (STDMETHODCALLTYPE *Release)(
1193 IApplicationGatewayServices *This);
1194
1195 /*** IApplicationGatewayServices methods ***/
1196 HRESULT (STDMETHODCALLTYPE *CreatePrimaryControlChannel)(
1197 IApplicationGatewayServices *This,
1198 ULONG uAdapterIndex,
1199 ALG_PROTOCOL eProtocol,
1200 USHORT usPortToCapture,
1201 ALG_CAPTURE eCaptureType,
1202 WINBOOL fCaptureInbound,
1203 ULONG ulListenAddress,
1204 USHORT usListenPort,
1205 IPrimaryControlChannel **ppIControlChannel);
1206
1207 HRESULT (STDMETHODCALLTYPE *CreateSecondaryControlChannel)(
1208 IApplicationGatewayServices *This,
1209 ALG_PROTOCOL eProtocol,
1210 ULONG ulPrivateAddress,
1211 USHORT usPrivatePort,
1212 ULONG ulPublicAddress,
1213 USHORT usPublicPort,
1214 ULONG ulRemoteAddress,
1215 USHORT usRemotePort,
1216 ULONG ulListenAddress,
1217 USHORT usListenPort,
1218 ALG_DIRECTION eDirection,
1219 WINBOOL fPersistent,
1220 ISecondaryControlChannel **ppControlChannel);
1221
1222 HRESULT (STDMETHODCALLTYPE *GetBestSourceAddressForDestinationAddress)(
1223 IApplicationGatewayServices *This,
1224 ULONG ulDstAddress,
1225 WINBOOL fDemandDial,
1226 ULONG *pulBestSrcAddress);
1227
1228 HRESULT (STDMETHODCALLTYPE *PrepareProxyConnection)(
1229 IApplicationGatewayServices *This,
1230 ALG_PROTOCOL eProtocol,
1231 ULONG ulSrcAddress,
1232 USHORT usSrcPort,
1233 ULONG ulDstAddress,
1234 USHORT usDstPort,
1235 WINBOOL fNoTimeout,
1236 IPendingProxyConnection **ppPendingConnection);
1237
1238 HRESULT (STDMETHODCALLTYPE *PrepareSourceModifiedProxyConnection)(
1239 IApplicationGatewayServices *This,
1240 ALG_PROTOCOL eProtocol,
1241 ULONG ulSrcAddress,
1242 USHORT usSrcPort,
1243 ULONG ulDstAddress,
1244 USHORT usDstPort,
1245 ULONG ulNewSrcAddress,
1246 USHORT usNewSourcePort,
1247 IPendingProxyConnection **ppPendingConnection);
1248
1249 HRESULT (STDMETHODCALLTYPE *CreateDataChannel)(
1250 IApplicationGatewayServices *This,
1251 ALG_PROTOCOL eProtocol,
1252 ULONG ulPrivateAddress,
1253 USHORT usPrivatePort,
1254 ULONG ulPublicAddress,
1255 USHORT usPublicPort,
1256 ULONG ulRemoteAddress,
1257 USHORT usRemotePort,
1258 ALG_DIRECTION eDirection,
1259 ALG_NOTIFICATION eDesiredNotification,
1260 WINBOOL fNoTimeout,
1261 IDataChannel **ppDataChannel);
1262
1263 HRESULT (STDMETHODCALLTYPE *CreatePersistentDataChannel)(
1264 IApplicationGatewayServices *This,
1265 ALG_PROTOCOL eProtocol,
1266 ULONG ulPrivateAddress,
1267 USHORT usPrivatePort,
1268 ULONG ulPublicAddress,
1269 USHORT usPublicPort,
1270 ULONG ulRemoteAddress,
1271 USHORT usRemotePort,
1272 ALG_DIRECTION eDirection,
1273 IPersistentDataChannel **ppIPersistentDataChannel);
1274
1275 HRESULT (STDMETHODCALLTYPE *ReservePort)(
1276 IApplicationGatewayServices *This,
1277 USHORT usPortCount,
1278 USHORT *pusReservedPort);
1279
1280 HRESULT (STDMETHODCALLTYPE *ReleaseReservedPort)(
1281 IApplicationGatewayServices *This,
1282 USHORT usReservedPortBase,
1283 USHORT usPortCount);
1284
1285 HRESULT (STDMETHODCALLTYPE *EnumerateAdapters)(
1286 IApplicationGatewayServices *This,
1287 IEnumAdapterInfo **ppIEnumAdapterInfo);
1288
1289 HRESULT (STDMETHODCALLTYPE *StartAdapterNotifications)(
1290 IApplicationGatewayServices *This,
1291 IAdapterNotificationSink *pSink,
1292 DWORD *pdwCookie);
1293
1294 HRESULT (STDMETHODCALLTYPE *StopAdapterNotifications)(
1295 IApplicationGatewayServices *This,
1296 DWORD dwCookieOfSink);
1297
1298 HRESULT (STDMETHODCALLTYPE *LookupAdapterPortMapping)(
1299 IApplicationGatewayServices *This,
1300 ULONG ulAdapterIndex,
1301 UCHAR Protocol,
1302 ULONG ulDestinationAddress,
1303 USHORT usDestinationPort,
1304 ULONG *pulRemapAddress,
1305 USHORT *pusRemapPort);
1306
1307 END_INTERFACE
1308} IApplicationGatewayServicesVtbl;
1309
1310interface IApplicationGatewayServices {
1311 CONST_VTBL IApplicationGatewayServicesVtbl* lpVtbl;
1312};
1313
1314#ifdef COBJMACROS
1315#ifndef WIDL_C_INLINE_WRAPPERS
1316/*** IUnknown methods ***/
1317#define IApplicationGatewayServices_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1318#define IApplicationGatewayServices_AddRef(This) (This)->lpVtbl->AddRef(This)
1319#define IApplicationGatewayServices_Release(This) (This)->lpVtbl->Release(This)
1320/*** IApplicationGatewayServices methods ***/
1321#define IApplicationGatewayServices_CreatePrimaryControlChannel(This,uAdapterIndex,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel) (This)->lpVtbl->CreatePrimaryControlChannel(This,uAdapterIndex,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel)
1322#define IApplicationGatewayServices_CreateSecondaryControlChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,ulListenAddress,usListenPort,eDirection,fPersistent,ppControlChannel) (This)->lpVtbl->CreateSecondaryControlChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,ulListenAddress,usListenPort,eDirection,fPersistent,ppControlChannel)
1323#define IApplicationGatewayServices_GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress) (This)->lpVtbl->GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress)
1324#define IApplicationGatewayServices_PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection) (This)->lpVtbl->PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection)
1325#define IApplicationGatewayServices_PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection) (This)->lpVtbl->PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection)
1326#define IApplicationGatewayServices_CreateDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,eDesiredNotification,fNoTimeout,ppDataChannel) (This)->lpVtbl->CreateDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,eDesiredNotification,fNoTimeout,ppDataChannel)
1327#define IApplicationGatewayServices_CreatePersistentDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,ppIPersistentDataChannel) (This)->lpVtbl->CreatePersistentDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,ppIPersistentDataChannel)
1328#define IApplicationGatewayServices_ReservePort(This,usPortCount,pusReservedPort) (This)->lpVtbl->ReservePort(This,usPortCount,pusReservedPort)
1329#define IApplicationGatewayServices_ReleaseReservedPort(This,usReservedPortBase,usPortCount) (This)->lpVtbl->ReleaseReservedPort(This,usReservedPortBase,usPortCount)
1330#define IApplicationGatewayServices_EnumerateAdapters(This,ppIEnumAdapterInfo) (This)->lpVtbl->EnumerateAdapters(This,ppIEnumAdapterInfo)
1331#define IApplicationGatewayServices_StartAdapterNotifications(This,pSink,pdwCookie) (This)->lpVtbl->StartAdapterNotifications(This,pSink,pdwCookie)
1332#define IApplicationGatewayServices_StopAdapterNotifications(This,dwCookieOfSink) (This)->lpVtbl->StopAdapterNotifications(This,dwCookieOfSink)
1333#define IApplicationGatewayServices_LookupAdapterPortMapping(This,ulAdapterIndex,Protocol,ulDestinationAddress,usDestinationPort,pulRemapAddress,pusRemapPort) (This)->lpVtbl->LookupAdapterPortMapping(This,ulAdapterIndex,Protocol,ulDestinationAddress,usDestinationPort,pulRemapAddress,pusRemapPort)
1334#else
1335/*** IUnknown methods ***/
1336static FORCEINLINE HRESULT IApplicationGatewayServices_QueryInterface(IApplicationGatewayServices* This,REFIID riid,void **ppvObject) {
1337 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1338}
1339static FORCEINLINE ULONG IApplicationGatewayServices_AddRef(IApplicationGatewayServices* This) {
1340 return This->lpVtbl->AddRef(This);
1341}
1342static FORCEINLINE ULONG IApplicationGatewayServices_Release(IApplicationGatewayServices* This) {
1343 return This->lpVtbl->Release(This);
1344}
1345/*** IApplicationGatewayServices methods ***/
1346static FORCEINLINE HRESULT IApplicationGatewayServices_CreatePrimaryControlChannel(IApplicationGatewayServices* This,ULONG uAdapterIndex,ALG_PROTOCOL eProtocol,USHORT usPortToCapture,ALG_CAPTURE eCaptureType,WINBOOL fCaptureInbound,ULONG ulListenAddress,USHORT usListenPort,IPrimaryControlChannel **ppIControlChannel) {
1347 return This->lpVtbl->CreatePrimaryControlChannel(This,uAdapterIndex,eProtocol,usPortToCapture,eCaptureType,fCaptureInbound,ulListenAddress,usListenPort,ppIControlChannel);
1348}
1349static FORCEINLINE HRESULT IApplicationGatewayServices_CreateSecondaryControlChannel(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulPrivateAddress,USHORT usPrivatePort,ULONG ulPublicAddress,USHORT usPublicPort,ULONG ulRemoteAddress,USHORT usRemotePort,ULONG ulListenAddress,USHORT usListenPort,ALG_DIRECTION eDirection,WINBOOL fPersistent,ISecondaryControlChannel **ppControlChannel) {
1350 return This->lpVtbl->CreateSecondaryControlChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,ulListenAddress,usListenPort,eDirection,fPersistent,ppControlChannel);
1351}
1352static FORCEINLINE HRESULT IApplicationGatewayServices_GetBestSourceAddressForDestinationAddress(IApplicationGatewayServices* This,ULONG ulDstAddress,WINBOOL fDemandDial,ULONG *pulBestSrcAddress) {
1353 return This->lpVtbl->GetBestSourceAddressForDestinationAddress(This,ulDstAddress,fDemandDial,pulBestSrcAddress);
1354}
1355static FORCEINLINE HRESULT IApplicationGatewayServices_PrepareProxyConnection(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulSrcAddress,USHORT usSrcPort,ULONG ulDstAddress,USHORT usDstPort,WINBOOL fNoTimeout,IPendingProxyConnection **ppPendingConnection) {
1356 return This->lpVtbl->PrepareProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,fNoTimeout,ppPendingConnection);
1357}
1358static FORCEINLINE HRESULT IApplicationGatewayServices_PrepareSourceModifiedProxyConnection(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulSrcAddress,USHORT usSrcPort,ULONG ulDstAddress,USHORT usDstPort,ULONG ulNewSrcAddress,USHORT usNewSourcePort,IPendingProxyConnection **ppPendingConnection) {
1359 return This->lpVtbl->PrepareSourceModifiedProxyConnection(This,eProtocol,ulSrcAddress,usSrcPort,ulDstAddress,usDstPort,ulNewSrcAddress,usNewSourcePort,ppPendingConnection);
1360}
1361static FORCEINLINE HRESULT IApplicationGatewayServices_CreateDataChannel(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulPrivateAddress,USHORT usPrivatePort,ULONG ulPublicAddress,USHORT usPublicPort,ULONG ulRemoteAddress,USHORT usRemotePort,ALG_DIRECTION eDirection,ALG_NOTIFICATION eDesiredNotification,WINBOOL fNoTimeout,IDataChannel **ppDataChannel) {
1362 return This->lpVtbl->CreateDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,eDesiredNotification,fNoTimeout,ppDataChannel);
1363}
1364static FORCEINLINE HRESULT IApplicationGatewayServices_CreatePersistentDataChannel(IApplicationGatewayServices* This,ALG_PROTOCOL eProtocol,ULONG ulPrivateAddress,USHORT usPrivatePort,ULONG ulPublicAddress,USHORT usPublicPort,ULONG ulRemoteAddress,USHORT usRemotePort,ALG_DIRECTION eDirection,IPersistentDataChannel **ppIPersistentDataChannel) {
1365 return This->lpVtbl->CreatePersistentDataChannel(This,eProtocol,ulPrivateAddress,usPrivatePort,ulPublicAddress,usPublicPort,ulRemoteAddress,usRemotePort,eDirection,ppIPersistentDataChannel);
1366}
1367static FORCEINLINE HRESULT IApplicationGatewayServices_ReservePort(IApplicationGatewayServices* This,USHORT usPortCount,USHORT *pusReservedPort) {
1368 return This->lpVtbl->ReservePort(This,usPortCount,pusReservedPort);
1369}
1370static FORCEINLINE HRESULT IApplicationGatewayServices_ReleaseReservedPort(IApplicationGatewayServices* This,USHORT usReservedPortBase,USHORT usPortCount) {
1371 return This->lpVtbl->ReleaseReservedPort(This,usReservedPortBase,usPortCount);
1372}
1373static FORCEINLINE HRESULT IApplicationGatewayServices_EnumerateAdapters(IApplicationGatewayServices* This,IEnumAdapterInfo **ppIEnumAdapterInfo) {
1374 return This->lpVtbl->EnumerateAdapters(This,ppIEnumAdapterInfo);
1375}
1376static FORCEINLINE HRESULT IApplicationGatewayServices_StartAdapterNotifications(IApplicationGatewayServices* This,IAdapterNotificationSink *pSink,DWORD *pdwCookie) {
1377 return This->lpVtbl->StartAdapterNotifications(This,pSink,pdwCookie);
1378}
1379static FORCEINLINE HRESULT IApplicationGatewayServices_StopAdapterNotifications(IApplicationGatewayServices* This,DWORD dwCookieOfSink) {
1380 return This->lpVtbl->StopAdapterNotifications(This,dwCookieOfSink);
1381}
1382static FORCEINLINE HRESULT IApplicationGatewayServices_LookupAdapterPortMapping(IApplicationGatewayServices* This,ULONG ulAdapterIndex,UCHAR Protocol,ULONG ulDestinationAddress,USHORT usDestinationPort,ULONG *pulRemapAddress,USHORT *pusRemapPort) {
1383 return This->lpVtbl->LookupAdapterPortMapping(This,ulAdapterIndex,Protocol,ulDestinationAddress,usDestinationPort,pulRemapAddress,pusRemapPort);
1384}
1385#endif
1386#endif
1387
1388#endif
1389
1390
1391#endif /* __IApplicationGatewayServices_INTERFACE_DEFINED__ */
1392
1393/*****************************************************************************
1394 * IApplicationGateway interface
1395 */
1396#ifndef __IApplicationGateway_INTERFACE_DEFINED__
1397#define __IApplicationGateway_INTERFACE_DEFINED__
1398
1399DEFINE_GUID(IID_IApplicationGateway, 0x5134842b, 0xfdce, 0x485d, 0x93,0xcd, 0xde,0x16,0x40,0x64,0x3b,0xbe);
1400#if defined(__cplusplus) && !defined(CINTERFACE)
1401MIDL_INTERFACE("5134842b-fdce-485d-93cd-de1640643bbe")
1402IApplicationGateway : public IUnknown
1403{
1404 virtual HRESULT STDMETHODCALLTYPE Initialize(
1405 IApplicationGatewayServices *pAlgServices) = 0;
1406
1407 virtual HRESULT STDMETHODCALLTYPE Stop(
1408 ) = 0;
1409
1410};
1411#ifdef __CRT_UUID_DECL
1412__CRT_UUID_DECL(IApplicationGateway, 0x5134842b, 0xfdce, 0x485d, 0x93,0xcd, 0xde,0x16,0x40,0x64,0x3b,0xbe)
1413#endif
1414#else
1415typedef struct IApplicationGatewayVtbl {
1416 BEGIN_INTERFACE
1417
1418 /*** IUnknown methods ***/
1419 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
1420 IApplicationGateway *This,
1421 REFIID riid,
1422 void **ppvObject);
1423
1424 ULONG (STDMETHODCALLTYPE *AddRef)(
1425 IApplicationGateway *This);
1426
1427 ULONG (STDMETHODCALLTYPE *Release)(
1428 IApplicationGateway *This);
1429
1430 /*** IApplicationGateway methods ***/
1431 HRESULT (STDMETHODCALLTYPE *Initialize)(
1432 IApplicationGateway *This,
1433 IApplicationGatewayServices *pAlgServices);
1434
1435 HRESULT (STDMETHODCALLTYPE *Stop)(
1436 IApplicationGateway *This);
1437
1438 END_INTERFACE
1439} IApplicationGatewayVtbl;
1440
1441interface IApplicationGateway {
1442 CONST_VTBL IApplicationGatewayVtbl* lpVtbl;
1443};
1444
1445#ifdef COBJMACROS
1446#ifndef WIDL_C_INLINE_WRAPPERS
1447/*** IUnknown methods ***/
1448#define IApplicationGateway_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
1449#define IApplicationGateway_AddRef(This) (This)->lpVtbl->AddRef(This)
1450#define IApplicationGateway_Release(This) (This)->lpVtbl->Release(This)
1451/*** IApplicationGateway methods ***/
1452#define IApplicationGateway_Initialize(This,pAlgServices) (This)->lpVtbl->Initialize(This,pAlgServices)
1453#define IApplicationGateway_Stop(This) (This)->lpVtbl->Stop(This)
1454#else
1455/*** IUnknown methods ***/
1456static FORCEINLINE HRESULT IApplicationGateway_QueryInterface(IApplicationGateway* This,REFIID riid,void **ppvObject) {
1457 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
1458}
1459static FORCEINLINE ULONG IApplicationGateway_AddRef(IApplicationGateway* This) {
1460 return This->lpVtbl->AddRef(This);
1461}
1462static FORCEINLINE ULONG IApplicationGateway_Release(IApplicationGateway* This) {
1463 return This->lpVtbl->Release(This);
1464}
1465/*** IApplicationGateway methods ***/
1466static FORCEINLINE HRESULT IApplicationGateway_Initialize(IApplicationGateway* This,IApplicationGatewayServices *pAlgServices) {
1467 return This->lpVtbl->Initialize(This,pAlgServices);
1468}
1469static FORCEINLINE HRESULT IApplicationGateway_Stop(IApplicationGateway* This) {
1470 return This->lpVtbl->Stop(This);
1471}
1472#endif
1473#endif
1474
1475#endif
1476
1477
1478#endif /* __IApplicationGateway_INTERFACE_DEFINED__ */
1479
1480#ifndef __ALGLib_LIBRARY_DEFINED__
1481#define __ALGLib_LIBRARY_DEFINED__
1482
1483DEFINE_GUID(LIBID_ALGLib, 0xb6d1d098, 0xe235, 0x4b99, 0xba,0x98, 0x7c,0x62,0x4f,0xd8,0x75,0xdb);
1484
1485/*****************************************************************************
1486 * ApplicationGatewayServices coclass
1487 */
1488
1489DEFINE_GUID(CLSID_ApplicationGatewayServices, 0xf8ade1d3, 0x49df, 0x4b75, 0x90,0x05, 0xef,0x95,0x08,0xe6,0xa3,0x37);
1490
1491#ifdef __cplusplus
1492class DECLSPEC_UUID("f8ade1d3-49df-4b75-9005-ef9508e6a337") ApplicationGatewayServices;
1493#ifdef __CRT_UUID_DECL
1494__CRT_UUID_DECL(ApplicationGatewayServices, 0xf8ade1d3, 0x49df, 0x4b75, 0x90,0x05, 0xef,0x95,0x08,0xe6,0xa3,0x37)
1495#endif
1496#endif
1497
1498/*****************************************************************************
1499 * PrimaryControlChannel coclass
1500 */
1501
1502DEFINE_GUID(CLSID_PrimaryControlChannel, 0x3ceb5509, 0xc1cd, 0x432f, 0x9d,0x8f, 0x65,0xd1,0xe2,0x86,0xaa,0x80);
1503
1504#ifdef __cplusplus
1505class DECLSPEC_UUID("3ceb5509-c1cd-432f-9d8f-65d1e286aa80") PrimaryControlChannel;
1506#ifdef __CRT_UUID_DECL
1507__CRT_UUID_DECL(PrimaryControlChannel, 0x3ceb5509, 0xc1cd, 0x432f, 0x9d,0x8f, 0x65,0xd1,0xe2,0x86,0xaa,0x80)
1508#endif
1509#endif
1510
1511/*****************************************************************************
1512 * SecondaryControlChannel coclass
1513 */
1514
1515DEFINE_GUID(CLSID_SecondaryControlChannel, 0x7b3181a0, 0xc92f, 0x4567, 0xb0,0xfa, 0xcd,0x9a,0x10,0xec,0xd7,0xd1);
1516
1517#ifdef __cplusplus
1518class DECLSPEC_UUID("7b3181a0-c92f-4567-b0fa-cd9a10ecd7d1") SecondaryControlChannel;
1519#ifdef __CRT_UUID_DECL
1520__CRT_UUID_DECL(SecondaryControlChannel, 0x7b3181a0, 0xc92f, 0x4567, 0xb0,0xfa, 0xcd,0x9a,0x10,0xec,0xd7,0xd1)
1521#endif
1522#endif
1523
1524/*****************************************************************************
1525 * AdapterInfo coclass
1526 */
1527
1528DEFINE_GUID(CLSID_AdapterInfo, 0x6f9942c9, 0xc1b1, 0x4ab5, 0x93,0xda, 0x60,0x58,0x99,0x1d,0xc8,0xf3);
1529
1530#ifdef __cplusplus
1531class DECLSPEC_UUID("6f9942c9-c1b1-4ab5-93da-6058991dc8f3") AdapterInfo;
1532#ifdef __CRT_UUID_DECL
1533__CRT_UUID_DECL(AdapterInfo, 0x6f9942c9, 0xc1b1, 0x4ab5, 0x93,0xda, 0x60,0x58,0x99,0x1d,0xc8,0xf3)
1534#endif
1535#endif
1536
1537/*****************************************************************************
1538 * EnumAdapterInfo coclass
1539 */
1540
1541DEFINE_GUID(CLSID_EnumAdapterInfo, 0x6f9942ca, 0xc1b1, 0x4ab5, 0x93,0xda, 0x60,0x58,0x99,0x1d,0xc8,0xf3);
1542
1543#ifdef __cplusplus
1544class DECLSPEC_UUID("6f9942ca-c1b1-4ab5-93da-6058991dc8f3") EnumAdapterInfo;
1545#ifdef __CRT_UUID_DECL
1546__CRT_UUID_DECL(EnumAdapterInfo, 0x6f9942ca, 0xc1b1, 0x4ab5, 0x93,0xda, 0x60,0x58,0x99,0x1d,0xc8,0xf3)
1547#endif
1548#endif
1549
1550/*****************************************************************************
1551 * PendingProxyConnection coclass
1552 */
1553
1554DEFINE_GUID(CLSID_PendingProxyConnection, 0xd8a68e5e, 0x2b37, 0x426c, 0xa3,0x29, 0xc1,0x17,0xc1,0x4c,0x42,0x9e);
1555
1556#ifdef __cplusplus
1557class DECLSPEC_UUID("d8a68e5e-2b37-426c-a329-c117c14c429e") PendingProxyConnection;
1558#ifdef __CRT_UUID_DECL
1559__CRT_UUID_DECL(PendingProxyConnection, 0xd8a68e5e, 0x2b37, 0x426c, 0xa3,0x29, 0xc1,0x17,0xc1,0x4c,0x42,0x9e)
1560#endif
1561#endif
1562
1563/*****************************************************************************
1564 * DataChannel coclass
1565 */
1566
1567DEFINE_GUID(CLSID_DataChannel, 0xbbb36f15, 0x408d, 0x4056, 0x8c,0x27, 0x92,0x08,0x43,0xd4,0x0b,0xe5);
1568
1569#ifdef __cplusplus
1570class DECLSPEC_UUID("bbb36f15-408d-4056-8c27-920843d40be5") DataChannel;
1571#ifdef __CRT_UUID_DECL
1572__CRT_UUID_DECL(DataChannel, 0xbbb36f15, 0x408d, 0x4056, 0x8c,0x27, 0x92,0x08,0x43,0xd4,0x0b,0xe5)
1573#endif
1574#endif
1575
1576/*****************************************************************************
1577 * PersistentDataChannel coclass
1578 */
1579
1580DEFINE_GUID(CLSID_PersistentDataChannel, 0xbc9b54ab, 0x7883, 0x4c13, 0x90,0x9f, 0x03,0x3d,0x03,0x26,0x79,0x90);
1581
1582#ifdef __cplusplus
1583class DECLSPEC_UUID("bc9b54ab-7883-4c13-909f-033d03267990") PersistentDataChannel;
1584#ifdef __CRT_UUID_DECL
1585__CRT_UUID_DECL(PersistentDataChannel, 0xbc9b54ab, 0x7883, 0x4c13, 0x90,0x9f, 0x03,0x3d,0x03,0x26,0x79,0x90)
1586#endif
1587#endif
1588
1589#endif /* __ALGLib_LIBRARY_DEFINED__ */
1590#endif
1591/* Begin additional prototypes for all interfaces */
1592
1593
1594/* End additional prototypes */
1595
1596#ifdef __cplusplus
1597}
1598#endif
1599
1600#endif /* __alg_h__ */
Note: See TracBrowser for help on using the repository browser.