Moved mciavi32 to the top-level dlls directory.
[wine] / dlls / shdocvw / shdocvw.h
1 /*
2  * Header includes for shdocvw.dll
3  *
4  * Copyright 2001 John R. Sheets (for CodeWeavers)
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #ifndef __WINE_SHDOCVW_H
22 #define __WINE_SHDOCVW_H
23
24 #define COM_NO_WINDOWS_H
25 /* FIXME: Is there a better way to deal with all these includes? */
26 #include <stdarg.h>
27
28 #include "windef.h"
29 #include "winbase.h"
30 #include "wingdi.h"
31 #include "winuser.h"
32
33 #include "ole2.h"
34 #include "olectl.h"
35 #include "shlobj.h"
36 #include "exdisp.h"
37
38 /**********************************************************************
39  * IClassFactory declaration for SHDOCVW.DLL
40  */
41 typedef struct
42 {
43     /* IUnknown fields */
44     const IClassFactoryVtbl *lpVtbl;
45     LONG ref;
46 } IClassFactoryImpl;
47
48 extern IClassFactoryImpl SHDOCVW_ClassFactory;
49
50
51 /**********************************************************************
52  * IOleObject declaration for SHDOCVW.DLL
53  */
54 typedef struct
55 {
56     /* IUnknown fields */
57     const IOleObjectVtbl *lpVtbl;
58     LONG ref;
59 } IOleObjectImpl;
60
61 extern IOleObjectImpl SHDOCVW_OleObject;
62
63 /**********************************************************************
64  * IWebBrowser declaration for SHDOCVW.DLL
65  */
66 typedef struct
67 {
68     /* IUnknown fields */
69     const IWebBrowserVtbl *lpVtbl;
70     LONG ref;
71 } IWebBrowserImpl;
72
73 extern IWebBrowserImpl SHDOCVW_WebBrowser;
74
75
76 /**********************************************************************
77  * IProvideClassInfo declaration for SHDOCVW.DLL
78  */
79 typedef struct
80 {
81     /* IUnknown fields */
82     const IProvideClassInfoVtbl *lpVtbl;
83     LONG ref;
84 } IProvideClassInfoImpl;
85
86 extern IProvideClassInfoImpl SHDOCVW_ProvideClassInfo;
87
88
89 /**********************************************************************
90  * IProvideClassInfo2 declaration for SHDOCVW.DLL
91  */
92 typedef struct
93 {
94     /* IUnknown fields */
95     const IProvideClassInfo2Vtbl *lpVtbl;
96     LONG ref;
97 } IProvideClassInfo2Impl;
98
99 extern IProvideClassInfo2Impl SHDOCVW_ProvideClassInfo2;
100
101
102 /**********************************************************************
103  * IPersistStorage declaration for SHDOCVW.DLL
104  */
105 typedef struct
106 {
107     /* IUnknown fields */
108     const IPersistStorageVtbl *lpVtbl;
109     LONG ref;
110 } IPersistStorageImpl;
111
112 extern IPersistStorageImpl SHDOCVW_PersistStorage;
113
114
115 /**********************************************************************
116  * IPersistStreamInit declaration for SHDOCVW.DLL
117  */
118 typedef struct
119 {
120     /* IUnknown fields */
121     const IPersistStreamInitVtbl *lpVtbl;
122     LONG ref;
123 } IPersistStreamInitImpl;
124
125 extern IPersistStreamInitImpl SHDOCVW_PersistStreamInit;
126
127
128 /**********************************************************************
129  * IQuickActivate declaration for SHDOCVW.DLL
130  */
131 typedef struct
132 {
133     /* IUnknown fields */
134     const IQuickActivateVtbl *lpVtbl;
135     LONG ref;
136 } IQuickActivateImpl;
137
138 extern IQuickActivateImpl SHDOCVW_QuickActivate;
139
140
141 /**********************************************************************
142  * IConnectionPointContainer declaration for SHDOCVW.DLL
143  */
144 typedef struct
145 {
146     /* IUnknown fields */
147     const IConnectionPointContainerVtbl *lpVtbl;
148     LONG ref;
149 } IConnectionPointContainerImpl;
150
151 extern IConnectionPointContainerImpl SHDOCVW_ConnectionPointContainer;
152
153
154 /**********************************************************************
155  * IConnectionPoint declaration for SHDOCVW.DLL
156  */
157 typedef struct
158 {
159     /* IUnknown fields */
160     const IConnectionPointVtbl *lpVtbl;
161     LONG ref;
162 } IConnectionPointImpl;
163
164 /**********************************************************************
165  * Dll lifetime tracking declaration for shdocvw.dll
166  */
167 extern LONG SHDOCVW_refCount;
168 static inline void SHDOCVW_LockModule(void) { InterlockedIncrement( &SHDOCVW_refCount ); }
169 static inline void SHDOCVW_UnlockModule(void) { InterlockedDecrement( &SHDOCVW_refCount ); }
170
171 #endif /* __WINE_SHDOCVW_H */