| /*** Autogenerated by WIDL 6.3 from include/rtworkq.idl - Do not edit ***/ |
| |
| #ifdef _WIN32 |
| #ifndef __REQUIRED_RPCNDR_H_VERSION__ |
| #define __REQUIRED_RPCNDR_H_VERSION__ 475 |
| #endif |
| #include <rpc.h> |
| #include <rpcndr.h> |
| #endif |
| |
| #ifndef COM_NO_WINDOWS_H |
| #include <windows.h> |
| #include <ole2.h> |
| #endif |
| |
| #ifndef __rtworkq_h__ |
| #define __rtworkq_h__ |
| |
| /* Forward declarations */ |
| |
| #ifndef __IRtwqAsyncResult_FWD_DEFINED__ |
| #define __IRtwqAsyncResult_FWD_DEFINED__ |
| typedef interface IRtwqAsyncResult IRtwqAsyncResult; |
| #ifdef __cplusplus |
| interface IRtwqAsyncResult; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IRtwqAsyncCallback_FWD_DEFINED__ |
| #define __IRtwqAsyncCallback_FWD_DEFINED__ |
| typedef interface IRtwqAsyncCallback IRtwqAsyncCallback; |
| #ifdef __cplusplus |
| interface IRtwqAsyncCallback; |
| #endif /* __cplusplus */ |
| #endif |
| |
| #ifndef __IRtwqPlatformEvents_FWD_DEFINED__ |
| #define __IRtwqPlatformEvents_FWD_DEFINED__ |
| typedef interface IRtwqPlatformEvents IRtwqPlatformEvents; |
| #ifdef __cplusplus |
| interface IRtwqPlatformEvents; |
| #endif /* __cplusplus */ |
| #endif |
| |
| /* Headers for imported files */ |
| |
| #include <unknwn.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| typedef enum __WIDL_rtworkq_generated_name_0000000C { |
| RTWQ_STANDARD_WORKQUEUE = 0, |
| RTWQ_WINDOW_WORKQUEUE = 1, |
| RTWQ_MULTITHREADED_WORKQUEUE = 2 |
| } RTWQ_WORKQUEUE_TYPE; |
| typedef UINT64 RTWQWORKITEM_KEY; |
| /***************************************************************************** |
| * IRtwqAsyncResult interface |
| */ |
| #ifndef __IRtwqAsyncResult_INTERFACE_DEFINED__ |
| #define __IRtwqAsyncResult_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IRtwqAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("ac6b7889-0740-4d51-8619-905994a55cc6") |
| IRtwqAsyncResult : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetState( |
| IUnknown **state) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetStatus( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE SetStatus( |
| HRESULT status) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE GetObject( |
| IUnknown **object) = 0; |
| |
| virtual IUnknown * STDMETHODCALLTYPE GetStateNoAddRef( |
| ) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IRtwqAsyncResult, 0xac6b7889, 0x0740, 0x4d51, 0x86,0x19, 0x90,0x59,0x94,0xa5,0x5c,0xc6) |
| #endif |
| #else |
| typedef struct IRtwqAsyncResultVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRtwqAsyncResult *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRtwqAsyncResult *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRtwqAsyncResult *This); |
| |
| /*** IRtwqAsyncResult methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetState)( |
| IRtwqAsyncResult *This, |
| IUnknown **state); |
| |
| HRESULT (STDMETHODCALLTYPE *GetStatus)( |
| IRtwqAsyncResult *This); |
| |
| HRESULT (STDMETHODCALLTYPE *SetStatus)( |
| IRtwqAsyncResult *This, |
| HRESULT status); |
| |
| HRESULT (STDMETHODCALLTYPE *GetObject)( |
| IRtwqAsyncResult *This, |
| IUnknown **object); |
| |
| IUnknown * (STDMETHODCALLTYPE *GetStateNoAddRef)( |
| IRtwqAsyncResult *This); |
| |
| END_INTERFACE |
| } IRtwqAsyncResultVtbl; |
| |
| interface IRtwqAsyncResult { |
| CONST_VTBL IRtwqAsyncResultVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IRtwqAsyncResult_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IRtwqAsyncResult_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IRtwqAsyncResult_Release(This) (This)->lpVtbl->Release(This) |
| /*** IRtwqAsyncResult methods ***/ |
| #define IRtwqAsyncResult_GetState(This,state) (This)->lpVtbl->GetState(This,state) |
| #define IRtwqAsyncResult_GetStatus(This) (This)->lpVtbl->GetStatus(This) |
| #define IRtwqAsyncResult_SetStatus(This,status) (This)->lpVtbl->SetStatus(This,status) |
| #define IRtwqAsyncResult_GetObject(This,object) (This)->lpVtbl->GetObject(This,object) |
| #define IRtwqAsyncResult_GetStateNoAddRef(This) (This)->lpVtbl->GetStateNoAddRef(This) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IRtwqAsyncResult_QueryInterface(IRtwqAsyncResult* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IRtwqAsyncResult_AddRef(IRtwqAsyncResult* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IRtwqAsyncResult_Release(IRtwqAsyncResult* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IRtwqAsyncResult methods ***/ |
| static FORCEINLINE HRESULT IRtwqAsyncResult_GetState(IRtwqAsyncResult* This,IUnknown **state) { |
| return This->lpVtbl->GetState(This,state); |
| } |
| static FORCEINLINE HRESULT IRtwqAsyncResult_GetStatus(IRtwqAsyncResult* This) { |
| return This->lpVtbl->GetStatus(This); |
| } |
| static FORCEINLINE HRESULT IRtwqAsyncResult_SetStatus(IRtwqAsyncResult* This,HRESULT status) { |
| return This->lpVtbl->SetStatus(This,status); |
| } |
| static FORCEINLINE HRESULT IRtwqAsyncResult_GetObject(IRtwqAsyncResult* This,IUnknown **object) { |
| return This->lpVtbl->GetObject(This,object); |
| } |
| static FORCEINLINE IUnknown * IRtwqAsyncResult_GetStateNoAddRef(IRtwqAsyncResult* This) { |
| return This->lpVtbl->GetStateNoAddRef(This); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IRtwqAsyncResult_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IRtwqAsyncCallback interface |
| */ |
| #ifndef __IRtwqAsyncCallback_INTERFACE_DEFINED__ |
| #define __IRtwqAsyncCallback_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IRtwqAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("a27003cf-2354-4f2a-8d6a-ab7cff15437e") |
| IRtwqAsyncCallback : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE GetParameters( |
| DWORD *flags, |
| DWORD *queue) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE Invoke( |
| IRtwqAsyncResult *result) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IRtwqAsyncCallback, 0xa27003cf, 0x2354, 0x4f2a, 0x8d,0x6a, 0xab,0x7c,0xff,0x15,0x43,0x7e) |
| #endif |
| #else |
| typedef struct IRtwqAsyncCallbackVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRtwqAsyncCallback *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRtwqAsyncCallback *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRtwqAsyncCallback *This); |
| |
| /*** IRtwqAsyncCallback methods ***/ |
| HRESULT (STDMETHODCALLTYPE *GetParameters)( |
| IRtwqAsyncCallback *This, |
| DWORD *flags, |
| DWORD *queue); |
| |
| HRESULT (STDMETHODCALLTYPE *Invoke)( |
| IRtwqAsyncCallback *This, |
| IRtwqAsyncResult *result); |
| |
| END_INTERFACE |
| } IRtwqAsyncCallbackVtbl; |
| |
| interface IRtwqAsyncCallback { |
| CONST_VTBL IRtwqAsyncCallbackVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IRtwqAsyncCallback_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IRtwqAsyncCallback_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IRtwqAsyncCallback_Release(This) (This)->lpVtbl->Release(This) |
| /*** IRtwqAsyncCallback methods ***/ |
| #define IRtwqAsyncCallback_GetParameters(This,flags,queue) (This)->lpVtbl->GetParameters(This,flags,queue) |
| #define IRtwqAsyncCallback_Invoke(This,result) (This)->lpVtbl->Invoke(This,result) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IRtwqAsyncCallback_QueryInterface(IRtwqAsyncCallback* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IRtwqAsyncCallback_AddRef(IRtwqAsyncCallback* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IRtwqAsyncCallback_Release(IRtwqAsyncCallback* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IRtwqAsyncCallback methods ***/ |
| static FORCEINLINE HRESULT IRtwqAsyncCallback_GetParameters(IRtwqAsyncCallback* This,DWORD *flags,DWORD *queue) { |
| return This->lpVtbl->GetParameters(This,flags,queue); |
| } |
| static FORCEINLINE HRESULT IRtwqAsyncCallback_Invoke(IRtwqAsyncCallback* This,IRtwqAsyncResult *result) { |
| return This->lpVtbl->Invoke(This,result); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IRtwqAsyncCallback_INTERFACE_DEFINED__ */ |
| |
| /***************************************************************************** |
| * IRtwqPlatformEvents interface |
| */ |
| #ifndef __IRtwqPlatformEvents_INTERFACE_DEFINED__ |
| #define __IRtwqPlatformEvents_INTERFACE_DEFINED__ |
| |
| DEFINE_GUID(IID_IRtwqPlatformEvents, 0x63d9255a, 0x7ff1, 0x4b61, 0x8f,0xaf, 0xed,0x64,0x60,0xda,0xcf,0x2b); |
| #if defined(__cplusplus) && !defined(CINTERFACE) |
| MIDL_INTERFACE("63d9255a-7ff1-4b61-8faf-ed6460dacf2b") |
| IRtwqPlatformEvents : public IUnknown |
| { |
| virtual HRESULT STDMETHODCALLTYPE InitializationComplete( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ShutdownStart( |
| ) = 0; |
| |
| virtual HRESULT STDMETHODCALLTYPE ShutdownComplete( |
| ) = 0; |
| |
| }; |
| #ifdef __CRT_UUID_DECL |
| __CRT_UUID_DECL(IRtwqPlatformEvents, 0x63d9255a, 0x7ff1, 0x4b61, 0x8f,0xaf, 0xed,0x64,0x60,0xda,0xcf,0x2b) |
| #endif |
| #else |
| typedef struct IRtwqPlatformEventsVtbl { |
| BEGIN_INTERFACE |
| |
| /*** IUnknown methods ***/ |
| HRESULT (STDMETHODCALLTYPE *QueryInterface)( |
| IRtwqPlatformEvents *This, |
| REFIID riid, |
| void **ppvObject); |
| |
| ULONG (STDMETHODCALLTYPE *AddRef)( |
| IRtwqPlatformEvents *This); |
| |
| ULONG (STDMETHODCALLTYPE *Release)( |
| IRtwqPlatformEvents *This); |
| |
| /*** IRtwqPlatformEvents methods ***/ |
| HRESULT (STDMETHODCALLTYPE *InitializationComplete)( |
| IRtwqPlatformEvents *This); |
| |
| HRESULT (STDMETHODCALLTYPE *ShutdownStart)( |
| IRtwqPlatformEvents *This); |
| |
| HRESULT (STDMETHODCALLTYPE *ShutdownComplete)( |
| IRtwqPlatformEvents *This); |
| |
| END_INTERFACE |
| } IRtwqPlatformEventsVtbl; |
| |
| interface IRtwqPlatformEvents { |
| CONST_VTBL IRtwqPlatformEventsVtbl* lpVtbl; |
| }; |
| |
| #ifdef COBJMACROS |
| #ifndef WIDL_C_INLINE_WRAPPERS |
| /*** IUnknown methods ***/ |
| #define IRtwqPlatformEvents_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) |
| #define IRtwqPlatformEvents_AddRef(This) (This)->lpVtbl->AddRef(This) |
| #define IRtwqPlatformEvents_Release(This) (This)->lpVtbl->Release(This) |
| /*** IRtwqPlatformEvents methods ***/ |
| #define IRtwqPlatformEvents_InitializationComplete(This) (This)->lpVtbl->InitializationComplete(This) |
| #define IRtwqPlatformEvents_ShutdownStart(This) (This)->lpVtbl->ShutdownStart(This) |
| #define IRtwqPlatformEvents_ShutdownComplete(This) (This)->lpVtbl->ShutdownComplete(This) |
| #else |
| /*** IUnknown methods ***/ |
| static FORCEINLINE HRESULT IRtwqPlatformEvents_QueryInterface(IRtwqPlatformEvents* This,REFIID riid,void **ppvObject) { |
| return This->lpVtbl->QueryInterface(This,riid,ppvObject); |
| } |
| static FORCEINLINE ULONG IRtwqPlatformEvents_AddRef(IRtwqPlatformEvents* This) { |
| return This->lpVtbl->AddRef(This); |
| } |
| static FORCEINLINE ULONG IRtwqPlatformEvents_Release(IRtwqPlatformEvents* This) { |
| return This->lpVtbl->Release(This); |
| } |
| /*** IRtwqPlatformEvents methods ***/ |
| static FORCEINLINE HRESULT IRtwqPlatformEvents_InitializationComplete(IRtwqPlatformEvents* This) { |
| return This->lpVtbl->InitializationComplete(This); |
| } |
| static FORCEINLINE HRESULT IRtwqPlatformEvents_ShutdownStart(IRtwqPlatformEvents* This) { |
| return This->lpVtbl->ShutdownStart(This); |
| } |
| static FORCEINLINE HRESULT IRtwqPlatformEvents_ShutdownComplete(IRtwqPlatformEvents* This) { |
| return This->lpVtbl->ShutdownComplete(This); |
| } |
| #endif |
| #endif |
| |
| #endif |
| |
| |
| #endif /* __IRtwqPlatformEvents_INTERFACE_DEFINED__ */ |
| |
| #define RTWQ_E_ERROR(x) ((HRESULT)(0xc00d0000L+x)) |
| #define RTWQ_E_BUFFERTOOSMALL RTWQ_E_ERROR(14001) |
| #define RTWQ_E_NOT_INITIALIZED RTWQ_E_ERROR(14006) |
| #define RTWQ_E_UNEXPECTED RTWQ_E_ERROR(14011) |
| #define RTWQ_E_NOT_FOUND RTWQ_E_ERROR(14037) |
| #define RTWQ_E_OPERATION_CANCELLED RTWQ_E_ERROR(14061) |
| #define RTWQ_E_INVALID_WORKQUEUE RTWQ_E_ERROR(14079) |
| #define RTWQ_E_SHUTDOWN RTWQ_E_ERROR(16005) |
| #ifdef __WINESRC__ |
| typedef struct tagRTWQASYNCRESULT |
| { |
| IRtwqAsyncResult AsyncResult; |
| #else |
| typedef struct tagRTWQASYNCRESULT : public IRtwqAsyncResult { |
| #endif |
| OVERLAPPED overlapped; |
| IRtwqAsyncCallback *pCallback; |
| HRESULT hrStatusResult; |
| DWORD dwBytesTransferred; |
| HANDLE hEvent; |
| } RTWQASYNCRESULT; |
| typedef void (WINAPI *RTWQPERIODICCALLBACK)(IUnknown *context); |
| HRESULT WINAPI RtwqAddPeriodicCallback(RTWQPERIODICCALLBACK callback, IUnknown *context, DWORD *key); |
| HRESULT WINAPI RtwqAllocateSerialWorkQueue(DWORD target_queue, DWORD *queue); |
| HRESULT WINAPI RtwqAllocateWorkQueue(RTWQ_WORKQUEUE_TYPE queue_type, DWORD *queue); |
| HRESULT WINAPI RtwqBeginRegisterWorkQueueWithMMCSS(DWORD queue, const WCHAR *mmcss_class, DWORD taskid, LONG priority, IRtwqAsyncCallback *callback, IUnknown *state); |
| HRESULT WINAPI RtwqBeginUnregisterWorkQueueWithMMCSS(DWORD queue, IRtwqAsyncCallback *callback, IUnknown *state); |
| HRESULT WINAPI RtwqCancelDeadline(HANDLE request); |
| HRESULT WINAPI RtwqCancelWorkItem(RTWQWORKITEM_KEY key); |
| HRESULT WINAPI RtwqCreateAsyncResult(IUnknown *object, IRtwqAsyncCallback *callback, IUnknown *state, IRtwqAsyncResult **result); |
| HRESULT WINAPI RtwqEndRegisterWorkQueueWithMMCSS(IRtwqAsyncResult *result, DWORD *taskid); |
| HRESULT WINAPI RtwqGetWorkQueueMMCSSClass(DWORD queue, WCHAR *mmcss_class, DWORD *length); |
| HRESULT WINAPI RtwqGetWorkQueueMMCSSPriority(DWORD queue, LONG *priority); |
| HRESULT WINAPI RtwqGetWorkQueueMMCSSTaskId(DWORD queue, DWORD *taskid); |
| HRESULT WINAPI RtwqInvokeCallback(IRtwqAsyncResult *result); |
| HRESULT WINAPI RtwqJoinWorkQueue(DWORD queue, HANDLE hFile, HANDLE *cookie); |
| HRESULT WINAPI RtwqLockPlatform(void); |
| HRESULT WINAPI RtwqLockSharedWorkQueue(const WCHAR *usageclass, LONG priority, DWORD *taskid, DWORD *queue); |
| HRESULT WINAPI RtwqLockWorkQueue(DWORD queue); |
| HRESULT WINAPI RtwqPutWaitingWorkItem(HANDLE event, LONG priority, IRtwqAsyncResult *result, RTWQWORKITEM_KEY *key); |
| HRESULT WINAPI RtwqPutWorkItem(DWORD queue, LONG priority, IRtwqAsyncResult *result); |
| HRESULT WINAPI RtwqRegisterPlatformEvents(IRtwqPlatformEvents *events); |
| HRESULT WINAPI RtwqRegisterPlatformWithMMCSS(const WCHAR *mmcss_class, DWORD *taskid, LONG priority); |
| HRESULT WINAPI RtwqRemovePeriodicCallback(DWORD key); |
| HRESULT WINAPI RtwqScheduleWorkItem(IRtwqAsyncResult *result, INT64 timeout, RTWQWORKITEM_KEY *key); |
| HRESULT WINAPI RtwqSetDeadline(DWORD queue_id, LONGLONG deadline, HANDLE *request); |
| HRESULT WINAPI RtwqSetDeadline2(DWORD queue_id, LONGLONG deadline, LONGLONG predeadline, HANDLE *request); |
| HRESULT WINAPI RtwqSetLongRunning(DWORD queue_id, WINBOOL enable); |
| HRESULT WINAPI RtwqShutdown(void); |
| HRESULT WINAPI RtwqStartup(void); |
| HRESULT WINAPI RtwqUnjoinWorkQueue(DWORD queue, HANDLE cookie); |
| HRESULT WINAPI RtwqUnlockPlatform(void); |
| HRESULT WINAPI RtwqUnlockWorkQueue(DWORD queue); |
| HRESULT WINAPI RtwqUnregisterPlatformEvents(IRtwqPlatformEvents *events); |
| HRESULT WINAPI RtwqUnregisterPlatformFromMMCSS(void); |
| /* Begin additional prototypes for all interfaces */ |
| |
| |
| /* End additional prototypes */ |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __rtworkq_h__ */ |