source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/rtworkq.h@ 1167

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

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

File size: 14.9 KB
Line 
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__
23typedef interface IRtwqAsyncResult IRtwqAsyncResult;
24#ifdef __cplusplus
25interface IRtwqAsyncResult;
26#endif /* __cplusplus */
27#endif
28
29#ifndef __IRtwqAsyncCallback_FWD_DEFINED__
30#define __IRtwqAsyncCallback_FWD_DEFINED__
31typedef interface IRtwqAsyncCallback IRtwqAsyncCallback;
32#ifdef __cplusplus
33interface IRtwqAsyncCallback;
34#endif /* __cplusplus */
35#endif
36
37#ifndef __IRtwqPlatformEvents_FWD_DEFINED__
38#define __IRtwqPlatformEvents_FWD_DEFINED__
39typedef interface IRtwqPlatformEvents IRtwqPlatformEvents;
40#ifdef __cplusplus
41interface IRtwqPlatformEvents;
42#endif /* __cplusplus */
43#endif
44
45/* Headers for imported files */
46
47#include <unknwn.h>
48
49#ifdef __cplusplus
50extern "C" {
51#endif
52
53typedef 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;
58typedef UINT64 RTWQWORKITEM_KEY;
59/*****************************************************************************
60 * IRtwqAsyncResult interface
61 */
62#ifndef __IRtwqAsyncResult_INTERFACE_DEFINED__
63#define __IRtwqAsyncResult_INTERFACE_DEFINED__
64
65DEFINE_GUID(IID_IRtwqAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6);
66#if defined(__cplusplus) && !defined(CINTERFACE)
67MIDL_INTERFACE("ac6b7889-0740-4d51-8619-905994a55cc6")
68IRtwqAsyncResult : 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
90typedef 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
127interface 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 ***/
145static FORCEINLINE HRESULT IRtwqAsyncResult_QueryInterface(IRtwqAsyncResult* This,REFIID riid,void **ppvObject) {
146 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
147}
148static FORCEINLINE ULONG IRtwqAsyncResult_AddRef(IRtwqAsyncResult* This) {
149 return This->lpVtbl->AddRef(This);
150}
151static FORCEINLINE ULONG IRtwqAsyncResult_Release(IRtwqAsyncResult* This) {
152 return This->lpVtbl->Release(This);
153}
154/*** IRtwqAsyncResult methods ***/
155static FORCEINLINE HRESULT IRtwqAsyncResult_GetState(IRtwqAsyncResult* This,IUnknown **state) {
156 return This->lpVtbl->GetState(This,state);
157}
158static FORCEINLINE HRESULT IRtwqAsyncResult_GetStatus(IRtwqAsyncResult* This) {
159 return This->lpVtbl->GetStatus(This);
160}
161static FORCEINLINE HRESULT IRtwqAsyncResult_SetStatus(IRtwqAsyncResult* This,HRESULT status) {
162 return This->lpVtbl->SetStatus(This,status);
163}
164static FORCEINLINE HRESULT IRtwqAsyncResult_GetObject(IRtwqAsyncResult* This,IUnknown **object) {
165 return This->lpVtbl->GetObject(This,object);
166}
167static 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
184DEFINE_GUID(IID_IRtwqAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e);
185#if defined(__cplusplus) && !defined(CINTERFACE)
186MIDL_INTERFACE("a27003cf-2354-4f2a-8d6a-ab7cff15437e")
187IRtwqAsyncCallback : 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
201typedef 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
229interface 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 ***/
244static FORCEINLINE HRESULT IRtwqAsyncCallback_QueryInterface(IRtwqAsyncCallback* This,REFIID riid,void **ppvObject) {
245 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
246}
247static FORCEINLINE ULONG IRtwqAsyncCallback_AddRef(IRtwqAsyncCallback* This) {
248 return This->lpVtbl->AddRef(This);
249}
250static FORCEINLINE ULONG IRtwqAsyncCallback_Release(IRtwqAsyncCallback* This) {
251 return This->lpVtbl->Release(This);
252}
253/*** IRtwqAsyncCallback methods ***/
254static FORCEINLINE HRESULT IRtwqAsyncCallback_GetParameters(IRtwqAsyncCallback* This,DWORD *flags,DWORD *queue) {
255 return This->lpVtbl->GetParameters(This,flags,queue);
256}
257static 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
274DEFINE_GUID(IID_IRtwqPlatformEvents, 0x63d9255a, 0x7ff1, 0x4b61, 0x8f,0xaf, 0xed,0x64,0x60,0xda,0xcf,0x2b);
275#if defined(__cplusplus) && !defined(CINTERFACE)
276MIDL_INTERFACE("63d9255a-7ff1-4b61-8faf-ed6460dacf2b")
277IRtwqPlatformEvents : 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
293typedef 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
321interface 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 ***/
337static FORCEINLINE HRESULT IRtwqPlatformEvents_QueryInterface(IRtwqPlatformEvents* This,REFIID riid,void **ppvObject) {
338 return This->lpVtbl->QueryInterface(This,riid,ppvObject);
339}
340static FORCEINLINE ULONG IRtwqPlatformEvents_AddRef(IRtwqPlatformEvents* This) {
341 return This->lpVtbl->AddRef(This);
342}
343static FORCEINLINE ULONG IRtwqPlatformEvents_Release(IRtwqPlatformEvents* This) {
344 return This->lpVtbl->Release(This);
345}
346/*** IRtwqPlatformEvents methods ***/
347static FORCEINLINE HRESULT IRtwqPlatformEvents_InitializationComplete(IRtwqPlatformEvents* This) {
348 return This->lpVtbl->InitializationComplete(This);
349}
350static FORCEINLINE HRESULT IRtwqPlatformEvents_ShutdownStart(IRtwqPlatformEvents* This) {
351 return This->lpVtbl->ShutdownStart(This);
352}
353static 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__
373typedef struct tagRTWQASYNCRESULT
374{
375 IRtwqAsyncResult AsyncResult;
376#else
377typedef struct tagRTWQASYNCRESULT : public IRtwqAsyncResult {
378#endif
379 OVERLAPPED overlapped;
380 IRtwqAsyncCallback *pCallback;
381 HRESULT hrStatusResult;
382 DWORD dwBytesTransferred;
383 HANDLE hEvent;
384} RTWQASYNCRESULT;
385typedef void (WINAPI *RTWQPERIODICCALLBACK)(IUnknown *context);
386HRESULT WINAPI RtwqAddPeriodicCallback(RTWQPERIODICCALLBACK callback, IUnknown *context, DWORD *key);
387HRESULT WINAPI RtwqAllocateSerialWorkQueue(DWORD target_queue, DWORD *queue);
388HRESULT WINAPI RtwqAllocateWorkQueue(RTWQ_WORKQUEUE_TYPE queue_type, DWORD *queue);
389HRESULT WINAPI RtwqBeginRegisterWorkQueueWithMMCSS(DWORD queue, const WCHAR *mmcss_class, DWORD taskid, LONG priority, IRtwqAsyncCallback *callback, IUnknown *state);
390HRESULT WINAPI RtwqBeginUnregisterWorkQueueWithMMCSS(DWORD queue, IRtwqAsyncCallback *callback, IUnknown *state);
391HRESULT WINAPI RtwqCancelDeadline(HANDLE request);
392HRESULT WINAPI RtwqCancelWorkItem(RTWQWORKITEM_KEY key);
393HRESULT WINAPI RtwqCreateAsyncResult(IUnknown *object, IRtwqAsyncCallback *callback, IUnknown *state, IRtwqAsyncResult **result);
394HRESULT WINAPI RtwqEndRegisterWorkQueueWithMMCSS(IRtwqAsyncResult *result, DWORD *taskid);
395HRESULT WINAPI RtwqGetWorkQueueMMCSSClass(DWORD queue, WCHAR *mmcss_class, DWORD *length);
396HRESULT WINAPI RtwqGetWorkQueueMMCSSPriority(DWORD queue, LONG *priority);
397HRESULT WINAPI RtwqGetWorkQueueMMCSSTaskId(DWORD queue, DWORD *taskid);
398HRESULT WINAPI RtwqInvokeCallback(IRtwqAsyncResult *result);
399HRESULT WINAPI RtwqJoinWorkQueue(DWORD queue, HANDLE hFile, HANDLE *cookie);
400HRESULT WINAPI RtwqLockPlatform(void);
401HRESULT WINAPI RtwqLockSharedWorkQueue(const WCHAR *usageclass, LONG priority, DWORD *taskid, DWORD *queue);
402HRESULT WINAPI RtwqLockWorkQueue(DWORD queue);
403HRESULT WINAPI RtwqPutWaitingWorkItem(HANDLE event, LONG priority, IRtwqAsyncResult *result, RTWQWORKITEM_KEY *key);
404HRESULT WINAPI RtwqPutWorkItem(DWORD queue, LONG priority, IRtwqAsyncResult *result);
405HRESULT WINAPI RtwqRegisterPlatformEvents(IRtwqPlatformEvents *events);
406HRESULT WINAPI RtwqRegisterPlatformWithMMCSS(const WCHAR *mmcss_class, DWORD *taskid, LONG priority);
407HRESULT WINAPI RtwqRemovePeriodicCallback(DWORD key);
408HRESULT WINAPI RtwqScheduleWorkItem(IRtwqAsyncResult *result, INT64 timeout, RTWQWORKITEM_KEY *key);
409HRESULT WINAPI RtwqSetDeadline(DWORD queue_id, LONGLONG deadline, HANDLE *request);
410HRESULT WINAPI RtwqSetDeadline2(DWORD queue_id, LONGLONG deadline, LONGLONG predeadline, HANDLE *request);
411HRESULT WINAPI RtwqSetLongRunning(DWORD queue_id, WINBOOL enable);
412HRESULT WINAPI RtwqShutdown(void);
413HRESULT WINAPI RtwqStartup(void);
414HRESULT WINAPI RtwqUnjoinWorkQueue(DWORD queue, HANDLE cookie);
415HRESULT WINAPI RtwqUnlockPlatform(void);
416HRESULT WINAPI RtwqUnlockWorkQueue(DWORD queue);
417HRESULT WINAPI RtwqUnregisterPlatformEvents(IRtwqPlatformEvents *events);
418HRESULT 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__ */
Note: See TracBrowser for help on using the repository browser.