ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/rtworkq.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 15287 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /*** Autogenerated by WIDL 6.4 from include/rtworkq.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 __rtworkq_h__
17 #define __rtworkq_h__
18
19 /* Forward declarations */
20
21 #ifndef __IRtwqAsyncResult_FWD_DEFINED__
22 #define __IRtwqAsyncResult_FWD_DEFINED__
23 typedef interface IRtwqAsyncResult IRtwqAsyncResult;
24 #ifdef __cplusplus
25 interface IRtwqAsyncResult;
26 #endif /* __cplusplus */
27 #endif
28
29 #ifndef __IRtwqAsyncCallback_FWD_DEFINED__
30 #define __IRtwqAsyncCallback_FWD_DEFINED__
31 typedef interface IRtwqAsyncCallback IRtwqAsyncCallback;
32 #ifdef __cplusplus
33 interface IRtwqAsyncCallback;
34 #endif /* __cplusplus */
35 #endif
36
37 #ifndef __IRtwqPlatformEvents_FWD_DEFINED__
38 #define __IRtwqPlatformEvents_FWD_DEFINED__
39 typedef interface IRtwqPlatformEvents IRtwqPlatformEvents;
40 #ifdef __cplusplus
41 interface IRtwqPlatformEvents;
42 #endif /* __cplusplus */
43 #endif
44
45 /* Headers for imported files */
46
47 #include <unknwn.h>
48
49 #ifdef __cplusplus
50 extern "C" {
51 #endif
52
53 typedef enum __WIDL_rtworkq_generated_name_0000000C {
54 RTWQ_STANDARD_WORKQUEUE = 0,
55 RTWQ_WINDOW_WORKQUEUE = 1,
56 RTWQ_MULTITHREADED_WORKQUEUE = 2
57 } RTWQ_WORKQUEUE_TYPE;
58 typedef UINT64 RTWQWORKITEM_KEY;
59 /*****************************************************************************
60 * IRtwqAsyncResult interface
61 */
62 #ifndef __IRtwqAsyncResult_INTERFACE_DEFINED__
63 #define __IRtwqAsyncResult_INTERFACE_DEFINED__
64
65 DEFINE_GUID(IID_IRtwqAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6);
66 #if defined(__cplusplus) && !defined(CINTERFACE)
67 MIDL_INTERFACE("ac6b7889-0740-4d51-8619-905994a55cc6")
68 IRtwqAsyncResult : public IUnknown
69 {
70 virtual HRESULT STDMETHODCALLTYPE GetState(
71 IUnknown **state) = 0;
72
73 virtual HRESULT STDMETHODCALLTYPE GetStatus(
74 ) = 0;
75
76 virtual HRESULT STDMETHODCALLTYPE SetStatus(
77 HRESULT status) = 0;
78
79 virtual HRESULT STDMETHODCALLTYPE GetObject(
80 IUnknown **object) = 0;
81
82 virtual IUnknown * STDMETHODCALLTYPE GetStateNoAddRef(
83 ) = 0;
84
85 };
86 #ifdef __CRT_UUID_DECL
87 __CRT_UUID_DECL(IRtwqAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6)
88 #endif
89 #else
90 typedef struct IRtwqAsyncResultVtbl {
91 BEGIN_INTERFACE
92
93 /*** IUnknown methods ***/
94 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
95 IRtwqAsyncResult *This,
96 REFIID riid,
97 void **ppvObject);
98
99 ULONG (STDMETHODCALLTYPE *AddRef)(
100 IRtwqAsyncResult *This);
101
102 ULONG (STDMETHODCALLTYPE *Release)(
103 IRtwqAsyncResult *This);
104
105 /*** IRtwqAsyncResult methods ***/
106 HRESULT (STDMETHODCALLTYPE *GetState)(
107 IRtwqAsyncResult *This,
108 IUnknown **state);
109
110 HRESULT (STDMETHODCALLTYPE *GetStatus)(
111 IRtwqAsyncResult *This);
112
113 HRESULT (STDMETHODCALLTYPE *SetStatus)(
114 IRtwqAsyncResult *This,
115 HRESULT status);
116
117 HRESULT (STDMETHODCALLTYPE *GetObject)(
118 IRtwqAsyncResult *This,
119 IUnknown **object);
120
121 IUnknown * (STDMETHODCALLTYPE *GetStateNoAddRef)(
122 IRtwqAsyncResult *This);
123
124 END_INTERFACE
125 } IRtwqAsyncResultVtbl;
126
127 interface IRtwqAsyncResult {
128 CONST_VTBL IRtwqAsyncResultVtbl* lpVtbl;
129 };
130
131 #ifdef COBJMACROS
132 #ifndef WIDL_C_INLINE_WRAPPERS
133 /*** IUnknown methods ***/
134 #define IRtwqAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
135 #define IRtwqAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This)
136 #define IRtwqAsyncResult_Release(This) (This)->lpVtbl->Release(This)
137 /*** IRtwqAsyncResult methods ***/
138 #define IRtwqAsyncResult_GetState(This,state) (This)->lpVtbl->GetState(This,state)
139 #define IRtwqAsyncResult_GetStatus(This) (This)->lpVtbl->GetStatus(This)
140 #define IRtwqAsyncResult_SetStatus(This,status) (This)->lpVtbl->SetStatus(This,status)
141 #define IRtwqAsyncResult_GetObject(This,object) (This)->lpVtbl->GetObject(This,object)
142 #define IRtwqAsyncResult_GetStateNoAddRef(This) (This)->lpVtbl->GetStateNoAddRef(This)
143 #else
144 /*** IUnknown methods ***/
145 static FORCEINLINE HRESULT IRtwqAsyncResult_QueryInterface(IRtwqAsyncResult* This,REFIID riid,void **ppvObject) {
146 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
147 }
148 static FORCEINLINE ULONG IRtwqAsyncResult_AddRef(IRtwqAsyncResult* This) {
149 return This->lpVtbl->AddRef(This);
150 }
151 static FORCEINLINE ULONG IRtwqAsyncResult_Release(IRtwqAsyncResult* This) {
152 return This->lpVtbl->Release(This);
153 }
154 /*** IRtwqAsyncResult methods ***/
155 static FORCEINLINE HRESULT IRtwqAsyncResult_GetState(IRtwqAsyncResult* This,IUnknown **state) {
156 return This->lpVtbl->GetState(This,state);
157 }
158 static FORCEINLINE HRESULT IRtwqAsyncResult_GetStatus(IRtwqAsyncResult* This) {
159 return This->lpVtbl->GetStatus(This);
160 }
161 static FORCEINLINE HRESULT IRtwqAsyncResult_SetStatus(IRtwqAsyncResult* This,HRESULT status) {
162 return This->lpVtbl->SetStatus(This,status);
163 }
164 static FORCEINLINE HRESULT IRtwqAsyncResult_GetObject(IRtwqAsyncResult* This,IUnknown **object) {
165 return This->lpVtbl->GetObject(This,object);
166 }
167 static FORCEINLINE IUnknown * IRtwqAsyncResult_GetStateNoAddRef(IRtwqAsyncResult* This) {
168 return This->lpVtbl->GetStateNoAddRef(This);
169 }
170 #endif
171 #endif
172
173 #endif
174
175
176 #endif /* __IRtwqAsyncResult_INTERFACE_DEFINED__ */
177
178 /*****************************************************************************
179 * IRtwqAsyncCallback interface
180 */
181 #ifndef __IRtwqAsyncCallback_INTERFACE_DEFINED__
182 #define __IRtwqAsyncCallback_INTERFACE_DEFINED__
183
184 DEFINE_GUID(IID_IRtwqAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e);
185 #if defined(__cplusplus) && !defined(CINTERFACE)
186 MIDL_INTERFACE("a27003cf-2354-4f2a-8d6a-ab7cff15437e")
187 IRtwqAsyncCallback : public IUnknown
188 {
189 virtual HRESULT STDMETHODCALLTYPE GetParameters(
190 DWORD *flags,
191 DWORD *queue) = 0;
192
193 virtual HRESULT STDMETHODCALLTYPE Invoke(
194 IRtwqAsyncResult *result) = 0;
195
196 };
197 #ifdef __CRT_UUID_DECL
198 __CRT_UUID_DECL(IRtwqAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e)
199 #endif
200 #else
201 typedef struct IRtwqAsyncCallbackVtbl {
202 BEGIN_INTERFACE
203
204 /*** IUnknown methods ***/
205 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
206 IRtwqAsyncCallback *This,
207 REFIID riid,
208 void **ppvObject);
209
210 ULONG (STDMETHODCALLTYPE *AddRef)(
211 IRtwqAsyncCallback *This);
212
213 ULONG (STDMETHODCALLTYPE *Release)(
214 IRtwqAsyncCallback *This);
215
216 /*** IRtwqAsyncCallback methods ***/
217 HRESULT (STDMETHODCALLTYPE *GetParameters)(
218 IRtwqAsyncCallback *This,
219 DWORD *flags,
220 DWORD *queue);
221
222 HRESULT (STDMETHODCALLTYPE *Invoke)(
223 IRtwqAsyncCallback *This,
224 IRtwqAsyncResult *result);
225
226 END_INTERFACE
227 } IRtwqAsyncCallbackVtbl;
228
229 interface IRtwqAsyncCallback {
230 CONST_VTBL IRtwqAsyncCallbackVtbl* lpVtbl;
231 };
232
233 #ifdef COBJMACROS
234 #ifndef WIDL_C_INLINE_WRAPPERS
235 /*** IUnknown methods ***/
236 #define IRtwqAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
237 #define IRtwqAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This)
238 #define IRtwqAsyncCallback_Release(This) (This)->lpVtbl->Release(This)
239 /*** IRtwqAsyncCallback methods ***/
240 #define IRtwqAsyncCallback_GetParameters(This,flags,queue) (This)->lpVtbl->GetParameters(This,flags,queue)
241 #define IRtwqAsyncCallback_Invoke(This,result) (This)->lpVtbl->Invoke(This,result)
242 #else
243 /*** IUnknown methods ***/
244 static FORCEINLINE HRESULT IRtwqAsyncCallback_QueryInterface(IRtwqAsyncCallback* This,REFIID riid,void **ppvObject) {
245 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
246 }
247 static FORCEINLINE ULONG IRtwqAsyncCallback_AddRef(IRtwqAsyncCallback* This) {
248 return This->lpVtbl->AddRef(This);
249 }
250 static FORCEINLINE ULONG IRtwqAsyncCallback_Release(IRtwqAsyncCallback* This) {
251 return This->lpVtbl->Release(This);
252 }
253 /*** IRtwqAsyncCallback methods ***/
254 static FORCEINLINE HRESULT IRtwqAsyncCallback_GetParameters(IRtwqAsyncCallback* This,DWORD *flags,DWORD *queue) {
255 return This->lpVtbl->GetParameters(This,flags,queue);
256 }
257 static FORCEINLINE HRESULT IRtwqAsyncCallback_Invoke(IRtwqAsyncCallback* This,IRtwqAsyncResult *result) {
258 return This->lpVtbl->Invoke(This,result);
259 }
260 #endif
261 #endif
262
263 #endif
264
265
266 #endif /* __IRtwqAsyncCallback_INTERFACE_DEFINED__ */
267
268 /*****************************************************************************
269 * IRtwqPlatformEvents interface
270 */
271 #ifndef __IRtwqPlatformEvents_INTERFACE_DEFINED__
272 #define __IRtwqPlatformEvents_INTERFACE_DEFINED__
273
274 DEFINE_GUID(IID_IRtwqPlatformEvents, 0x63d9255a, 0x7ff1, 0x4b61, 0x8f,0xaf, 0xed,0x64,0x60,0xda,0xcf,0x2b);
275 #if defined(__cplusplus) && !defined(CINTERFACE)
276 MIDL_INTERFACE("63d9255a-7ff1-4b61-8faf-ed6460dacf2b")
277 IRtwqPlatformEvents : public IUnknown
278 {
279 virtual HRESULT STDMETHODCALLTYPE InitializationComplete(
280 ) = 0;
281
282 virtual HRESULT STDMETHODCALLTYPE ShutdownStart(
283 ) = 0;
284
285 virtual HRESULT STDMETHODCALLTYPE ShutdownComplete(
286 ) = 0;
287
288 };
289 #ifdef __CRT_UUID_DECL
290 __CRT_UUID_DECL(IRtwqPlatformEvents, 0x63d9255a, 0x7ff1, 0x4b61, 0x8f,0xaf, 0xed,0x64,0x60,0xda,0xcf,0x2b)
291 #endif
292 #else
293 typedef struct IRtwqPlatformEventsVtbl {
294 BEGIN_INTERFACE
295
296 /*** IUnknown methods ***/
297 HRESULT (STDMETHODCALLTYPE *QueryInterface)(
298 IRtwqPlatformEvents *This,
299 REFIID riid,
300 void **ppvObject);
301
302 ULONG (STDMETHODCALLTYPE *AddRef)(
303 IRtwqPlatformEvents *This);
304
305 ULONG (STDMETHODCALLTYPE *Release)(
306 IRtwqPlatformEvents *This);
307
308 /*** IRtwqPlatformEvents methods ***/
309 HRESULT (STDMETHODCALLTYPE *InitializationComplete)(
310 IRtwqPlatformEvents *This);
311
312 HRESULT (STDMETHODCALLTYPE *ShutdownStart)(
313 IRtwqPlatformEvents *This);
314
315 HRESULT (STDMETHODCALLTYPE *ShutdownComplete)(
316 IRtwqPlatformEvents *This);
317
318 END_INTERFACE
319 } IRtwqPlatformEventsVtbl;
320
321 interface IRtwqPlatformEvents {
322 CONST_VTBL IRtwqPlatformEventsVtbl* lpVtbl;
323 };
324
325 #ifdef COBJMACROS
326 #ifndef WIDL_C_INLINE_WRAPPERS
327 /*** IUnknown methods ***/
328 #define IRtwqPlatformEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
329 #define IRtwqPlatformEvents_AddRef(This) (This)->lpVtbl->AddRef(This)
330 #define IRtwqPlatformEvents_Release(This) (This)->lpVtbl->Release(This)
331 /*** IRtwqPlatformEvents methods ***/
332 #define IRtwqPlatformEvents_InitializationComplete(This) (This)->lpVtbl->InitializationComplete(This)
333 #define IRtwqPlatformEvents_ShutdownStart(This) (This)->lpVtbl->ShutdownStart(This)
334 #define IRtwqPlatformEvents_ShutdownComplete(This) (This)->lpVtbl->ShutdownComplete(This)
335 #else
336 /*** IUnknown methods ***/
337 static FORCEINLINE HRESULT IRtwqPlatformEvents_QueryInterface(IRtwqPlatformEvents* This,REFIID riid,void **ppvObject) {
338 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
339 }
340 static FORCEINLINE ULONG IRtwqPlatformEvents_AddRef(IRtwqPlatformEvents* This) {
341 return This->lpVtbl->AddRef(This);
342 }
343 static FORCEINLINE ULONG IRtwqPlatformEvents_Release(IRtwqPlatformEvents* This) {
344 return This->lpVtbl->Release(This);
345 }
346 /*** IRtwqPlatformEvents methods ***/
347 static FORCEINLINE HRESULT IRtwqPlatformEvents_InitializationComplete(IRtwqPlatformEvents* This) {
348 return This->lpVtbl->InitializationComplete(This);
349 }
350 static FORCEINLINE HRESULT IRtwqPlatformEvents_ShutdownStart(IRtwqPlatformEvents* This) {
351 return This->lpVtbl->ShutdownStart(This);
352 }
353 static FORCEINLINE HRESULT IRtwqPlatformEvents_ShutdownComplete(IRtwqPlatformEvents* This) {
354 return This->lpVtbl->ShutdownComplete(This);
355 }
356 #endif
357 #endif
358
359 #endif
360
361
362 #endif /* __IRtwqPlatformEvents_INTERFACE_DEFINED__ */
363
364 #define RTWQ_E_ERROR(x) ((HRESULT)(0xc00d0000L+x))
365 #define RTWQ_E_BUFFERTOOSMALL RTWQ_E_ERROR(14001)
366 #define RTWQ_E_NOT_INITIALIZED RTWQ_E_ERROR(14006)
367 #define RTWQ_E_UNEXPECTED RTWQ_E_ERROR(14011)
368 #define RTWQ_E_NOT_FOUND RTWQ_E_ERROR(14037)
369 #define RTWQ_E_OPERATION_CANCELLED RTWQ_E_ERROR(14061)
370 #define RTWQ_E_INVALID_WORKQUEUE RTWQ_E_ERROR(14079)
371 #define RTWQ_E_SHUTDOWN RTWQ_E_ERROR(16005)
372 #ifdef __WINESRC__
373 typedef struct tagRTWQASYNCRESULT
374 {
375 IRtwqAsyncResult AsyncResult;
376 #else
377 typedef struct tagRTWQASYNCRESULT : public IRtwqAsyncResult {
378 #endif
379 OVERLAPPED overlapped;
380 IRtwqAsyncCallback *pCallback;
381 HRESULT hrStatusResult;
382 DWORD dwBytesTransferred;
383 HANDLE hEvent;
384 } RTWQASYNCRESULT;
385 typedef void (WINAPI *RTWQPERIODICCALLBACK)(IUnknown *context);
386 HRESULT WINAPI RtwqAddPeriodicCallback(RTWQPERIODICCALLBACK callback, IUnknown *context, DWORD *key);
387 HRESULT WINAPI RtwqAllocateSerialWorkQueue(DWORD target_queue, DWORD *queue);
388 HRESULT WINAPI RtwqAllocateWorkQueue(RTWQ_WORKQUEUE_TYPE queue_type, DWORD *queue);
389 HRESULT WINAPI RtwqBeginRegisterWorkQueueWithMMCSS(DWORD queue, const WCHAR *mmcss_class, DWORD taskid, LONG priority, IRtwqAsyncCallback *callback, IUnknown *state);
390 HRESULT WINAPI RtwqBeginUnregisterWorkQueueWithMMCSS(DWORD queue, IRtwqAsyncCallback *callback, IUnknown *state);
391 HRESULT WINAPI RtwqCancelDeadline(HANDLE request);
392 HRESULT WINAPI RtwqCancelWorkItem(RTWQWORKITEM_KEY key);
393 HRESULT WINAPI RtwqCreateAsyncResult(IUnknown *object, IRtwqAsyncCallback *callback, IUnknown *state, IRtwqAsyncResult **result);
394 HRESULT WINAPI RtwqEndRegisterWorkQueueWithMMCSS(IRtwqAsyncResult *result, DWORD *taskid);
395 HRESULT WINAPI RtwqGetWorkQueueMMCSSClass(DWORD queue, WCHAR *mmcss_class, DWORD *length);
396 HRESULT WINAPI RtwqGetWorkQueueMMCSSPriority(DWORD queue, LONG *priority);
397 HRESULT WINAPI RtwqGetWorkQueueMMCSSTaskId(DWORD queue, DWORD *taskid);
398 HRESULT WINAPI RtwqInvokeCallback(IRtwqAsyncResult *result);
399 HRESULT WINAPI RtwqJoinWorkQueue(DWORD queue, HANDLE hFile, HANDLE *cookie);
400 HRESULT WINAPI RtwqLockPlatform(void);
401 HRESULT WINAPI RtwqLockSharedWorkQueue(const WCHAR *usageclass, LONG priority, DWORD *taskid, DWORD *queue);
402 HRESULT WINAPI RtwqLockWorkQueue(DWORD queue);
403 HRESULT WINAPI RtwqPutWaitingWorkItem(HANDLE event, LONG priority, IRtwqAsyncResult *result, RTWQWORKITEM_KEY *key);
404 HRESULT WINAPI RtwqPutWorkItem(DWORD queue, LONG priority, IRtwqAsyncResult *result);
405 HRESULT WINAPI RtwqRegisterPlatformEvents(IRtwqPlatformEvents *events);
406 HRESULT WINAPI RtwqRegisterPlatformWithMMCSS(const WCHAR *mmcss_class, DWORD *taskid, LONG priority);
407 HRESULT WINAPI RtwqRemovePeriodicCallback(DWORD key);
408 HRESULT WINAPI RtwqScheduleWorkItem(IRtwqAsyncResult *result, INT64 timeout, RTWQWORKITEM_KEY *key);
409 HRESULT WINAPI RtwqSetDeadline(DWORD queue_id, LONGLONG deadline, HANDLE *request);
410 HRESULT WINAPI RtwqSetDeadline2(DWORD queue_id, LONGLONG deadline, LONGLONG predeadline, HANDLE *request);
411 HRESULT WINAPI RtwqSetLongRunning(DWORD queue_id, WINBOOL enable);
412 HRESULT WINAPI RtwqShutdown(void);
413 HRESULT WINAPI RtwqStartup(void);
414 HRESULT WINAPI RtwqUnjoinWorkQueue(DWORD queue, HANDLE cookie);
415 HRESULT WINAPI RtwqUnlockPlatform(void);
416 HRESULT WINAPI RtwqUnlockWorkQueue(DWORD queue);
417 HRESULT WINAPI RtwqUnregisterPlatformEvents(IRtwqPlatformEvents *events);
418 HRESULT WINAPI RtwqUnregisterPlatformFromMMCSS(void);
419 /* Begin additional prototypes for all interfaces */
420
421
422 /* End additional prototypes */
423
424 #ifdef __cplusplus
425 }
426 #endif
427
428 #endif /* __rtworkq_h__ */