Fixed a race condition on RPC worker thread creation, and a typo.
[wine] / dlls / ddraw / direct3d / main.h
1 /*
2  * Copyright 2002 Lionel Ulmer
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17  */
18
19 /* This is defined here so as to be able to put them in 'drivers' */
20
21 HRESULT WINAPI
22 Main_IDirect3DImpl_7_3T_2T_1T_QueryInterface(LPDIRECT3D7 iface,
23                                              REFIID riid,
24                                              LPVOID* obp);
25
26 ULONG WINAPI
27 Main_IDirect3DImpl_7_3T_2T_1T_AddRef(LPDIRECT3D7 iface);
28
29 ULONG WINAPI
30 Main_IDirect3DImpl_7_3T_2T_1T_Release(LPDIRECT3D7 iface);
31
32 HRESULT WINAPI
33 Main_IDirect3DImpl_7_EnumDevices(LPDIRECT3D7 iface,
34                                  LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback,
35                                  LPVOID lpUserArg);
36
37 HRESULT WINAPI
38 Main_IDirect3DImpl_7_CreateDevice(LPDIRECT3D7 iface,
39                                   REFCLSID rclsid,
40                                   LPDIRECTDRAWSURFACE7 lpDDS,
41                                   LPDIRECT3DDEVICE7* lplpD3DDevice);
42
43 HRESULT WINAPI
44 Main_IDirect3DImpl_7_3T_CreateVertexBuffer(LPDIRECT3D7 iface,
45                                            LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,
46                                            LPDIRECT3DVERTEXBUFFER7* lplpD3DVertBuf,
47                                            DWORD dwFlags);
48
49 HRESULT WINAPI
50 Main_IDirect3DImpl_7_3T_EnumZBufferFormats(LPDIRECT3D7 iface,
51                                            REFCLSID riidDevice,
52                                            LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,
53                                            LPVOID lpContext);
54
55 HRESULT WINAPI
56 Main_IDirect3DImpl_7_3T_EvictManagedTextures(LPDIRECT3D7 iface);
57
58 HRESULT WINAPI
59 Main_IDirect3DImpl_3_2T_1T_EnumDevices(LPDIRECT3D3 iface,
60                                        LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback,
61                                        LPVOID lpUserArg);
62
63 HRESULT WINAPI
64 Main_IDirect3DImpl_3_2T_1T_CreateLight(LPDIRECT3D3 iface,
65                                        LPDIRECT3DLIGHT* lplpDirect3DLight,
66                                        IUnknown* pUnkOuter);
67
68 HRESULT WINAPI
69 Main_IDirect3DImpl_3_2T_1T_CreateMaterial(LPDIRECT3D3 iface,
70                                           LPDIRECT3DMATERIAL3* lplpDirect3DMaterial3,
71                                           IUnknown* pUnkOuter);
72
73 HRESULT WINAPI
74 Main_IDirect3DImpl_3_2T_1T_CreateViewport(LPDIRECT3D3 iface,
75                                           LPDIRECT3DVIEWPORT3* lplpD3DViewport3,
76                                           IUnknown* pUnkOuter);
77
78 HRESULT WINAPI
79 Main_IDirect3DImpl_3_2T_1T_FindDevice(LPDIRECT3D3 iface,
80                                       LPD3DFINDDEVICESEARCH lpD3DDFS,
81                                       LPD3DFINDDEVICERESULT lpD3DFDR);
82
83 HRESULT WINAPI
84 Main_IDirect3DImpl_3_CreateDevice(LPDIRECT3D3 iface,
85                                   REFCLSID rclsid,
86                                   LPDIRECTDRAWSURFACE4 lpDDS,
87                                   LPDIRECT3DDEVICE3* lplpD3DDevice3,
88                                   LPUNKNOWN lpUnk);
89
90 HRESULT WINAPI
91 Thunk_IDirect3DImpl_3_CreateVertexBuffer(LPDIRECT3D3 iface,
92                                          LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,
93                                          LPDIRECT3DVERTEXBUFFER* lplpD3DVertBuf,
94                                          DWORD dwFlags,
95                                          LPUNKNOWN lpUnk);
96
97 HRESULT WINAPI
98 Thunk_IDirect3DImpl_2_CreateMaterial(LPDIRECT3D2 iface,
99                                      LPDIRECT3DMATERIAL2* lplpDirect3DMaterial2,
100                                      IUnknown* pUnkOuter);
101
102 HRESULT WINAPI
103 Thunk_IDirect3DImpl_2_CreateViewport(LPDIRECT3D2 iface,
104                                      LPDIRECT3DVIEWPORT2* lplpD3DViewport2,
105                                      IUnknown* pUnkOuter);
106
107 HRESULT WINAPI
108 Main_IDirect3DImpl_2_CreateDevice(LPDIRECT3D2 iface,
109                                   REFCLSID rclsid,
110                                   LPDIRECTDRAWSURFACE lpDDS,
111                                   LPDIRECT3DDEVICE2* lplpD3DDevice2);
112
113 HRESULT WINAPI
114 Main_IDirect3DImpl_1_Initialize(LPDIRECT3D iface,
115                                 REFIID riid);
116
117 HRESULT WINAPI
118 Thunk_IDirect3DImpl_1_CreateMaterial(LPDIRECT3D iface,
119                                      LPDIRECT3DMATERIAL* lplpDirect3DMaterial,
120                                      IUnknown* pUnkOuter);
121
122 HRESULT WINAPI
123 Thunk_IDirect3DImpl_1_CreateViewport(LPDIRECT3D iface,
124                                      LPDIRECT3DVIEWPORT* lplpD3DViewport,
125                                      IUnknown* pUnkOuter);
126
127 HRESULT WINAPI
128 Main_IDirect3DImpl_1_FindDevice(LPDIRECT3D iface,
129                                 LPD3DFINDDEVICESEARCH lpD3DDFS,
130                                 LPD3DFINDDEVICERESULT lplpD3DDevice);
131
132 HRESULT WINAPI
133 Thunk_IDirect3DImpl_3_QueryInterface(LPDIRECT3D3 iface,
134                                      REFIID riid,
135                                      LPVOID* obp);
136
137 HRESULT WINAPI
138 Thunk_IDirect3DImpl_2_QueryInterface(LPDIRECT3D2 iface,
139                                      REFIID riid,
140                                      LPVOID* obp);
141
142 HRESULT WINAPI
143 Thunk_IDirect3DImpl_1_QueryInterface(LPDIRECT3D iface,
144                                      REFIID riid,
145                                      LPVOID* obp);
146
147 ULONG WINAPI
148 Thunk_IDirect3DImpl_3_AddRef(LPDIRECT3D3 iface);
149
150 ULONG WINAPI
151 Thunk_IDirect3DImpl_2_AddRef(LPDIRECT3D2 iface);
152
153 ULONG WINAPI
154 Thunk_IDirect3DImpl_1_AddRef(LPDIRECT3D iface);
155
156 ULONG WINAPI
157 Thunk_IDirect3DImpl_3_Release(LPDIRECT3D3 iface);
158
159 ULONG WINAPI
160 Thunk_IDirect3DImpl_2_Release(LPDIRECT3D2 iface);
161
162 ULONG WINAPI
163 Thunk_IDirect3DImpl_1_Release(LPDIRECT3D iface);
164
165 HRESULT WINAPI
166 Thunk_IDirect3DImpl_3_EnumZBufferFormats(LPDIRECT3D3 iface,
167                                          REFCLSID riidDevice,
168                                          LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,
169                                          LPVOID lpContext);
170
171 HRESULT WINAPI
172 Thunk_IDirect3DImpl_3_EvictManagedTextures(LPDIRECT3D3 iface);
173
174 HRESULT WINAPI
175 Thunk_IDirect3DImpl_2_EnumDevices(LPDIRECT3D2 iface,
176                                   LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback,
177                                   LPVOID lpUserArg);
178
179 HRESULT WINAPI
180 Thunk_IDirect3DImpl_1_EnumDevices(LPDIRECT3D iface,
181                                   LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback,
182                                   LPVOID lpUserArg);
183
184 HRESULT WINAPI
185 Thunk_IDirect3DImpl_2_CreateLight(LPDIRECT3D2 iface,
186                                   LPDIRECT3DLIGHT* lplpDirect3DLight,
187                                   IUnknown* pUnkOuter);
188
189 HRESULT WINAPI
190 Thunk_IDirect3DImpl_1_CreateLight(LPDIRECT3D iface,
191                                   LPDIRECT3DLIGHT* lplpDirect3DLight,
192                                   IUnknown* pUnkOuter);
193
194 HRESULT WINAPI
195 Thunk_IDirect3DImpl_1_FindDevice(LPDIRECT3D iface,
196                                  LPD3DFINDDEVICESEARCH lpD3DDFS,
197                                  LPD3DFINDDEVICERESULT lplpD3DDevice);
198
199 HRESULT WINAPI
200 Thunk_IDirect3DImpl_2_FindDevice(LPDIRECT3D2 iface,
201                                  LPD3DFINDDEVICESEARCH lpD3DDFS,
202                                  LPD3DFINDDEVICERESULT lpD3DFDR);