source: trunk/include/win/wine/obj_connection.h

Last change on this file was 4833, checked in by sandervl, 25 years ago

update

File size: 6.2 KB
Line 
1/*
2 * Defines the COM interfaces and APIs related to structured data storage.
3 *
4 * Depends on 'obj_base.h'.
5 */
6
7#ifndef __WINE_WINE_OBJ_CONNECTION_H
8#define __WINE_WINE_OBJ_CONNECTION_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif /* defined(__cplusplus) */
13
14/*****************************************************************************
15 * Declare the structures
16 */
17
18typedef struct tagCONNECTDATA
19{
20 IUnknown *pUnk;
21 DWORD dwCookie;
22} CONNECTDATA, *LPCONNECTDATA;
23
24/*****************************************************************************
25 * Predeclare the interfaces
26 */
27DEFINE_GUID(IID_IConnectionPoint, 0xb196b286, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
28typedef struct IConnectionPoint IConnectionPoint, *LPCONNECTIONPOINT;
29
30DEFINE_GUID(IID_IConnectionPointContainer, 0xb196b284, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
31typedef struct IConnectionPointContainer IConnectionPointContainer, *LPCONNECTIONPOINTCONTAINER;
32
33DEFINE_GUID(IID_IEnumConnections, 0xb196b287, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
34typedef struct IEnumConnections IEnumConnections, *LPENUMCONNECTIONS;
35
36DEFINE_GUID(IID_IEnumConnectionPoints, 0xb196b285, 0xbab4, 0x101a, 0xb6, 0x9c, 0x00, 0xaa, 0x00, 0x34, 0x1d, 0x07);
37typedef struct IEnumConnectionPoints IEnumConnectionPoints, *LPENUMCONNECTIONPOINTS;
38
39/*****************************************************************************
40 * IConnectionPoint interface
41 */
42#define ICOM_INTERFACE IConnectionPoint
43#define IConnectionPoint_METHODS \
44 ICOM_METHOD1(HRESULT,GetConnectionInterface, IID*,pIID) \
45 ICOM_METHOD1(HRESULT,GetConnectionPointContainer, IConnectionPointContainer**,ppCPC) \
46 ICOM_METHOD2(HRESULT,Advise, IUnknown*,pUnkSink, DWORD*,pdwCookie) \
47 ICOM_METHOD1(HRESULT,Unadvise, DWORD,dwCookie) \
48 ICOM_METHOD1(HRESULT,EnumConnections, IEnumConnections**,ppEnum)
49#define IConnectionPoint_IMETHODS \
50 IUnknown_IMETHODS \
51 IConnectionPoint_METHODS
52ICOM_DEFINE(IConnectionPoint,IUnknown)
53#undef ICOM_INTERFACE
54
55/*** IUnknwon methods ***/
56#define IConnectionPoint_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
57#define IConnectionPoint_AddRef(p) ICOM_CALL (AddRef,p)
58#define IConnectionPoint_Release(p) ICOM_CALL (Release,p)
59/*** IConnectionPointContainer methods ***/
60#define IConnectionPoint_GetConnectionInterface(p,a) ICOM_CALL1(GetConnectionInterface,p,a)
61#define IConnectionPoint_GetConnectionPointContainer(p,a) ICOM_CALL1(GetConnectionPointContainer,p,a)
62#define IConnectionPoint_Advise(p,a,b) ICOM_CALL2(Advise,p,a,b)
63#define IConnectionPoint_Unadvise(p,a) ICOM_CALL1(Unadvise,p,a)
64#define IConnectionPoint_EnumConnections(p,a) ICOM_CALL1(EnumConnections,p,a)
65
66
67/*****************************************************************************
68 * IConnectionPointContainer interface
69 */
70#define ICOM_INTERFACE IConnectionPointContainer
71#define IConnectionPointContainer_METHODS \
72 ICOM_METHOD1(HRESULT,EnumConnectionPoints, IEnumConnectionPoints**,ppEnum) \
73 ICOM_METHOD2(HRESULT,FindConnectionPoint, REFIID,riid, IConnectionPoint**,ppCP)
74#define IConnectionPointContainer_IMETHODS \
75 IUnknown_IMETHODS \
76 IConnectionPointContainer_METHODS
77ICOM_DEFINE(IConnectionPointContainer,IUnknown)
78#undef ICOM_INTERFACE
79
80/*** IUnknwon methods ***/
81#define IConnectionPointContainer_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
82#define IConnectionPointContainer_AddRef(p) ICOM_CALL (AddRef,p)
83#define IConnectionPointContainer_Release(p) ICOM_CALL (Release,p)
84/*** IConnectionPointContainer methods ***/
85#define IConnectionPointContainer_EnumConnectionPoints(p,a) ICOM_CALL1(EnumConnectionPoints,p,a)
86#define IConnectionPointContainer_FindConnectionPoint(p,a,b) ICOM_CALL2(FindConnectionPoint,p,a,b)
87
88
89/*****************************************************************************
90 * IEnumConnections interface
91 */
92#define ICOM_INTERFACE IEnumConnections
93#define IEnumConnections_METHODS \
94 ICOM_METHOD3(HRESULT,Next, ULONG,cConnections, LPCONNECTDATA,rgcd, ULONG*,pcFectched) \
95 ICOM_METHOD1(HRESULT,Skip, ULONG,cConnections) \
96 ICOM_METHOD (HRESULT,Reset) \
97 ICOM_METHOD1(HRESULT,Clone, IEnumConnections**,ppEnum)
98#define IEnumConnections_IMETHODS \
99 IUnknown_IMETHODS \
100 IEnumConnections_METHODS
101ICOM_DEFINE(IEnumConnections,IUnknown)
102#undef ICOM_INTERFACE
103
104/*** IUnknwon methods ***/
105#define IEnumConnections_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
106#define IEnumConnections_AddRef(p) ICOM_CALL (AddRef,p)
107#define IEnumConnections_Release(p) ICOM_CALL (Release,p)
108/*** IConnectionPointContainer methods ***/
109#define IEnumConnections_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
110#define IEnumConnections_Skip(p,a) ICOM_CALL1(Skip,p,a)
111#define IEnumConnections_Reset(p) ICOM_CALL (Reset,p)
112#define IEnumConnections_Clone(p,a) ICOM_CALL1(Clone,p,a)
113
114/*****************************************************************************
115 * IEnumConnectionPoints interface
116 */
117#define ICOM_INTERFACE IEnumConnectionPoints
118#define IEnumConnectionPoints_METHODS \
119 ICOM_METHOD3(HRESULT,Next, ULONG,cConnections, LPCONNECTIONPOINT*,ppCP, ULONG*,pcFectched) \
120 ICOM_METHOD1(HRESULT,Skip, ULONG,cConnections) \
121 ICOM_METHOD (HRESULT,Reset) \
122 ICOM_METHOD1(HRESULT,Clone, IEnumConnections**,ppEnum)
123#define IEnumConnectionPoints_IMETHODS \
124 IUnknown_IMETHODS \
125 IEnumConnectionPoints_METHODS
126ICOM_DEFINE(IEnumConnectionPoints,IUnknown)
127#undef ICOM_INTERFACE
128
129/*** IUnknwon methods ***/
130#define IEnumConnectionPoints_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
131#define IEnumConnectionPoints_AddRef(p) ICOM_CALL (AddRef,p)
132#define IEnumConnectionPoints_Release(p) ICOM_CALL (Release,p)
133/*** IConnectionPointContainer methods ***/
134#define IEnumConnectionPoints_Next(p,a,b,c) ICOM_CALL3(Next,p,a,b,c)
135#define IEnumConnectionPoints_Skip(p,a) ICOM_CALL1(Skip,p,a)
136#define IEnumConnectionPoints_Reset(p) ICOM_CALL (Reset,p)
137#define IEnumConnectionPoints_Clone(p,a) ICOM_CALL1(Clone,p,a)
138
139#ifdef __cplusplus
140} /* extern "C" */
141#endif /* defined(__cplusplus) */
142
143#endif /* __WINE_WINE_OBJ_CONTROL_H */
144
145
Note: See TracBrowser for help on using the repository browser.