--- mingw-w64-headers/Makefile.am | 1 + .../include/windows.system.threading.h | 888 +++++++++++++++++++++ .../include/windows.system.threading.idl | 119 +++ 3 files changed, 1008 insertions(+) create mode 100644 mingw-w64-headers/include/windows.system.threading.h create mode 100644 mingw-w64-headers/include/windows.system.threading.idl
diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am index 802e3e7..73da46c 100644 --- a/mingw-w64-headers/Makefile.am +++ b/mingw-w64-headers/Makefile.am @@ -113,6 +113,7 @@ IDL_SRCS = \ include/windows.security.cryptography.idl \ include/windows.storage.idl \ include/windows.storage.streams.idl \ + include/windows.system.threading.idl \ include/wmcodecdsp.idl \ include/wpcapi.idl \ include/wtypes.idl \ diff --git a/mingw-w64-headers/include/windows.system.threading.h b/mingw-w64-headers/include/windows.system.threading.h new file mode 100644 index 0000000..c76d3d7 --- /dev/null +++ b/mingw-w64-headers/include/windows.system.threading.h @@ -0,0 +1,888 @@ +/*** Autogenerated by WIDL 1.6 from include/windows.system.threading.idl - Do not edit ***/ + +#ifndef __REQUIRED_RPCNDR_H_VERSION__ +#define __REQUIRED_RPCNDR_H_VERSION__ 475 +#endif + +#include <rpc.h> +#include <rpcndr.h> + +#ifndef COM_NO_WINDOWS_H +#include <windows.h> +#include <ole2.h> +#endif + +#ifndef __windows_system_threading_h__ +#define __windows_system_threading_h__ + +/* Forward declarations */ + +#ifndef __TimerElapsedHandler_FWD_DEFINED__ +#define __TimerElapsedHandler_FWD_DEFINED__ +typedef interface TimerElapsedHandler TimerElapsedHandler; +#endif + +#ifndef __TimerDestroyedHandler_FWD_DEFINED__ +#define __TimerDestroyedHandler_FWD_DEFINED__ +typedef interface TimerDestroyedHandler TimerDestroyedHandler; +#endif + +#ifndef __WorkItemHandler_FWD_DEFINED__ +#define __WorkItemHandler_FWD_DEFINED__ +typedef interface WorkItemHandler WorkItemHandler; +#endif + +#ifndef __IThreadPoolStatics_FWD_DEFINED__ +#define __IThreadPoolStatics_FWD_DEFINED__ +typedef interface IThreadPoolStatics IThreadPoolStatics; +#endif + +#ifndef __IThreadPoolTimer_FWD_DEFINED__ +#define __IThreadPoolTimer_FWD_DEFINED__ +typedef interface IThreadPoolTimer IThreadPoolTimer; +#endif + +#ifndef __IThreadPoolTimerStatics_FWD_DEFINED__ +#define __IThreadPoolTimerStatics_FWD_DEFINED__ +typedef interface IThreadPoolTimerStatics IThreadPoolTimerStatics; +#endif + +/* Headers for imported files */ + +#include <inspectable.h> +#include <windows.foundation.h> + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef __IAsyncAction_FWD_DEFINED__ +#define __IAsyncAction_FWD_DEFINED__ +typedef interface IAsyncAction IAsyncAction; +#endif + +struct TimeSpan; + +enum WorkItemPriority; + +enum WorkItemOptions; + +#ifndef __TimerElapsedHandler_FWD_DEFINED__ +#define __TimerElapsedHandler_FWD_DEFINED__ +typedef interface TimerElapsedHandler TimerElapsedHandler; +#endif + +#ifndef __TimerDestroyedHandler_FWD_DEFINED__ +#define __TimerDestroyedHandler_FWD_DEFINED__ +typedef interface TimerDestroyedHandler TimerDestroyedHandler; +#endif + +#ifndef __WorkItemHandler_FWD_DEFINED__ +#define __WorkItemHandler_FWD_DEFINED__ +typedef interface WorkItemHandler WorkItemHandler; +#endif + +#ifndef __IThreadPoolStatics_FWD_DEFINED__ +#define __IThreadPoolStatics_FWD_DEFINED__ +typedef interface IThreadPoolStatics IThreadPoolStatics; +#endif + +#ifndef __IThreadPoolTimer_FWD_DEFINED__ +#define __IThreadPoolTimer_FWD_DEFINED__ +typedef interface IThreadPoolTimer IThreadPoolTimer; +#endif + +#ifndef __IThreadPoolTimerStatics_FWD_DEFINED__ +#define __IThreadPoolTimerStatics_FWD_DEFINED__ +typedef interface IThreadPoolTimerStatics IThreadPoolTimerStatics; +#endif + +typedef enum WorkItemPriority { + Low = -1, + Normal = 0, + High = 1 +} WorkItemPriority; +typedef enum WorkItemOptions { + None = 0, + TimeSliced = 1 +} WorkItemOptions; +typedef struct TimeSpan { + INT64 Duration; +} TimeSpan; +/***************************************************************************** + * TimerElapsedHandler interface + */ +#ifndef __TimerElapsedHandler_INTERFACE_DEFINED__ +#define __TimerElapsedHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_TimerElapsedHandler, 0xfaaea667, 0xfbeb, 0x49cb, 0xad,0xb2, 0x71,0x18,0x4c,0x55,0x6e,0x43); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("faaea667-fbeb-49cb-adb2-71184c556e43") +TimerElapsedHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Invoke( + IThreadPoolTimer *timer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(TimerElapsedHandler, 0xfaaea667, 0xfbeb, 0x49cb, 0xad,0xb2, 0x71,0x18,0x4c,0x55,0x6e,0x43) +#endif +#else +typedef struct TimerElapsedHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + TimerElapsedHandler* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + TimerElapsedHandler* This); + + ULONG (STDMETHODCALLTYPE *Release)( + TimerElapsedHandler* This); + + /*** TimerElapsedHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *Invoke)( + TimerElapsedHandler* This, + IThreadPoolTimer *timer); + + END_INTERFACE +} TimerElapsedHandlerVtbl; +interface TimerElapsedHandler { + CONST_VTBL TimerElapsedHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define TimerElapsedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define TimerElapsedHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define TimerElapsedHandler_Release(This) (This)->lpVtbl->Release(This) +/*** TimerElapsedHandler methods ***/ +#define TimerElapsedHandler_Invoke(This,timer) (This)->lpVtbl->Invoke(This,timer) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT TimerElapsedHandler_QueryInterface(TimerElapsedHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG TimerElapsedHandler_AddRef(TimerElapsedHandler* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG TimerElapsedHandler_Release(TimerElapsedHandler* This) { + return This->lpVtbl->Release(This); +} +/*** TimerElapsedHandler methods ***/ +static FORCEINLINE HRESULT TimerElapsedHandler_Invoke(TimerElapsedHandler* This,IThreadPoolTimer *timer) { + return This->lpVtbl->Invoke(This,timer); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE TimerElapsedHandler_Invoke_Proxy( + TimerElapsedHandler* This, + IThreadPoolTimer *timer); +void __RPC_STUB TimerElapsedHandler_Invoke_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __TimerElapsedHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * TimerDestroyedHandler interface + */ +#ifndef __TimerDestroyedHandler_INTERFACE_DEFINED__ +#define __TimerDestroyedHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_TimerDestroyedHandler, 0x34ed19fa, 0x8384, 0x4eb9, 0x82,0x09, 0xfb,0x50,0x94,0xee,0xec,0x35); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("34ed19fa-8384-4eb9-8209-fb5094eeec35") +TimerDestroyedHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Invoke( + IThreadPoolTimer *timer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(TimerDestroyedHandler, 0x34ed19fa, 0x8384, 0x4eb9, 0x82,0x09, 0xfb,0x50,0x94,0xee,0xec,0x35) +#endif +#else +typedef struct TimerDestroyedHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + TimerDestroyedHandler* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + TimerDestroyedHandler* This); + + ULONG (STDMETHODCALLTYPE *Release)( + TimerDestroyedHandler* This); + + /*** TimerDestroyedHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *Invoke)( + TimerDestroyedHandler* This, + IThreadPoolTimer *timer); + + END_INTERFACE +} TimerDestroyedHandlerVtbl; +interface TimerDestroyedHandler { + CONST_VTBL TimerDestroyedHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define TimerDestroyedHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define TimerDestroyedHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define TimerDestroyedHandler_Release(This) (This)->lpVtbl->Release(This) +/*** TimerDestroyedHandler methods ***/ +#define TimerDestroyedHandler_Invoke(This,timer) (This)->lpVtbl->Invoke(This,timer) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT TimerDestroyedHandler_QueryInterface(TimerDestroyedHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG TimerDestroyedHandler_AddRef(TimerDestroyedHandler* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG TimerDestroyedHandler_Release(TimerDestroyedHandler* This) { + return This->lpVtbl->Release(This); +} +/*** TimerDestroyedHandler methods ***/ +static FORCEINLINE HRESULT TimerDestroyedHandler_Invoke(TimerDestroyedHandler* This,IThreadPoolTimer *timer) { + return This->lpVtbl->Invoke(This,timer); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE TimerDestroyedHandler_Invoke_Proxy( + TimerDestroyedHandler* This, + IThreadPoolTimer *timer); +void __RPC_STUB TimerDestroyedHandler_Invoke_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __TimerDestroyedHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * WorkItemHandler interface + */ +#ifndef __WorkItemHandler_INTERFACE_DEFINED__ +#define __WorkItemHandler_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_WorkItemHandler, 0x1d1a8b8b, 0xfa66, 0x414f, 0x9c,0xbd, 0xb6,0x5f,0xc9,0x9d,0x17,0xfa); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1d1a8b8b-fa66-414f-9cbd-b65fc99d17fa") +WorkItemHandler : public IUnknown +{ + virtual HRESULT STDMETHODCALLTYPE Invoke( + IAsyncAction *operation) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(WorkItemHandler, 0x1d1a8b8b, 0xfa66, 0x414f, 0x9c,0xbd, 0xb6,0x5f,0xc9,0x9d,0x17,0xfa) +#endif +#else +typedef struct WorkItemHandlerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + WorkItemHandler* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + WorkItemHandler* This); + + ULONG (STDMETHODCALLTYPE *Release)( + WorkItemHandler* This); + + /*** WorkItemHandler methods ***/ + HRESULT (STDMETHODCALLTYPE *Invoke)( + WorkItemHandler* This, + IAsyncAction *operation); + + END_INTERFACE +} WorkItemHandlerVtbl; +interface WorkItemHandler { + CONST_VTBL WorkItemHandlerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define WorkItemHandler_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define WorkItemHandler_AddRef(This) (This)->lpVtbl->AddRef(This) +#define WorkItemHandler_Release(This) (This)->lpVtbl->Release(This) +/*** WorkItemHandler methods ***/ +#define WorkItemHandler_Invoke(This,operation) (This)->lpVtbl->Invoke(This,operation) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT WorkItemHandler_QueryInterface(WorkItemHandler* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG WorkItemHandler_AddRef(WorkItemHandler* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG WorkItemHandler_Release(WorkItemHandler* This) { + return This->lpVtbl->Release(This); +} +/*** WorkItemHandler methods ***/ +static FORCEINLINE HRESULT WorkItemHandler_Invoke(WorkItemHandler* This,IAsyncAction *operation) { + return This->lpVtbl->Invoke(This,operation); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE WorkItemHandler_Invoke_Proxy( + WorkItemHandler* This, + IAsyncAction *operation); +void __RPC_STUB WorkItemHandler_Invoke_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __WorkItemHandler_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IThreadPoolStatics interface + */ +#ifndef __IThreadPoolStatics_INTERFACE_DEFINED__ +#define __IThreadPoolStatics_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IThreadPoolStatics, 0xb6bf67dd, 0x84bd, 0x44f8, 0xac,0x1c, 0x93,0xeb,0xcb,0x9d,0xba,0x91); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("b6bf67dd-84bd-44f8-ac1c-93ebcb9dba91") +IThreadPoolStatics : public IInspectable +{ + virtual HRESULT STDMETHODCALLTYPE RunAsync( + WorkItemHandler *handler, + IAsyncAction **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE RunWithPriorityAsync( + WorkItemHandler *handler, + WorkItemPriority priority, + IAsyncAction **operation) = 0; + + virtual HRESULT STDMETHODCALLTYPE RunWithPriorityAndOptionsAsync( + WorkItemHandler *handler, + WorkItemPriority priority, + WorkItemOptions options, + IAsyncAction **operation) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IThreadPoolStatics, 0xb6bf67dd, 0x84bd, 0x44f8, 0xac,0x1c, 0x93,0xeb,0xcb,0x9d,0xba,0x91) +#endif +#else +typedef struct IThreadPoolStaticsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IThreadPoolStatics* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IThreadPoolStatics* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IThreadPoolStatics* This); + + /*** IInspectable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIids)( + IThreadPoolStatics* This, + ULONG *iidCount, + IID **iids); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( + IThreadPoolStatics* This, + HSTRING *className); + + HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( + IThreadPoolStatics* This, + TrustLevel *trustLevel); + + /*** IThreadPoolStatics methods ***/ + HRESULT (STDMETHODCALLTYPE *RunAsync)( + IThreadPoolStatics* This, + WorkItemHandler *handler, + IAsyncAction **operation); + + HRESULT (STDMETHODCALLTYPE *RunWithPriorityAsync)( + IThreadPoolStatics* This, + WorkItemHandler *handler, + WorkItemPriority priority, + IAsyncAction **operation); + + HRESULT (STDMETHODCALLTYPE *RunWithPriorityAndOptionsAsync)( + IThreadPoolStatics* This, + WorkItemHandler *handler, + WorkItemPriority priority, + WorkItemOptions options, + IAsyncAction **operation); + + END_INTERFACE +} IThreadPoolStaticsVtbl; +interface IThreadPoolStatics { + CONST_VTBL IThreadPoolStaticsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IThreadPoolStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IThreadPoolStatics_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IThreadPoolStatics_Release(This) (This)->lpVtbl->Release(This) +/*** IInspectable methods ***/ +#define IThreadPoolStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +#define IThreadPoolStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +#define IThreadPoolStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +/*** IThreadPoolStatics methods ***/ +#define IThreadPoolStatics_RunAsync(This,handler,operation) (This)->lpVtbl->RunAsync(This,handler,operation) +#define IThreadPoolStatics_RunWithPriorityAsync(This,handler,priority,operation) (This)->lpVtbl->RunWithPriorityAsync(This,handler,priority,operation) +#define IThreadPoolStatics_RunWithPriorityAndOptionsAsync(This,handler,priority,options,operation) (This)->lpVtbl->RunWithPriorityAndOptionsAsync(This,handler,priority,options,operation) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT IThreadPoolStatics_QueryInterface(IThreadPoolStatics* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG IThreadPoolStatics_AddRef(IThreadPoolStatics* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG IThreadPoolStatics_Release(IThreadPoolStatics* This) { + return This->lpVtbl->Release(This); +} +/*** IInspectable methods ***/ +static FORCEINLINE HRESULT IThreadPoolStatics_GetIids(IThreadPoolStatics* This,ULONG *iidCount,IID **iids) { + return This->lpVtbl->GetIids(This,iidCount,iids); +} +static FORCEINLINE HRESULT IThreadPoolStatics_GetRuntimeClassName(IThreadPoolStatics* This,HSTRING *className) { + return This->lpVtbl->GetRuntimeClassName(This,className); +} +static FORCEINLINE HRESULT IThreadPoolStatics_GetTrustLevel(IThreadPoolStatics* This,TrustLevel *trustLevel) { + return This->lpVtbl->GetTrustLevel(This,trustLevel); +} +/*** IThreadPoolStatics methods ***/ +static FORCEINLINE HRESULT IThreadPoolStatics_RunAsync(IThreadPoolStatics* This,WorkItemHandler *handler,IAsyncAction **operation) { + return This->lpVtbl->RunAsync(This,handler,operation); +} +static FORCEINLINE HRESULT IThreadPoolStatics_RunWithPriorityAsync(IThreadPoolStatics* This,WorkItemHandler *handler,WorkItemPriority priority,IAsyncAction **operation) { + return This->lpVtbl->RunWithPriorityAsync(This,handler,priority,operation); +} +static FORCEINLINE HRESULT IThreadPoolStatics_RunWithPriorityAndOptionsAsync(IThreadPoolStatics* This,WorkItemHandler *handler,WorkItemPriority priority,WorkItemOptions options,IAsyncAction **operation) { + return This->lpVtbl->RunWithPriorityAndOptionsAsync(This,handler,priority,options,operation); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IThreadPoolStatics_RunAsync_Proxy( + IThreadPoolStatics* This, + WorkItemHandler *handler, + IAsyncAction **operation); +void __RPC_STUB IThreadPoolStatics_RunAsync_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IThreadPoolStatics_RunWithPriorityAsync_Proxy( + IThreadPoolStatics* This, + WorkItemHandler *handler, + WorkItemPriority priority, + IAsyncAction **operation); +void __RPC_STUB IThreadPoolStatics_RunWithPriorityAsync_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IThreadPoolStatics_RunWithPriorityAndOptionsAsync_Proxy( + IThreadPoolStatics* This, + WorkItemHandler *handler, + WorkItemPriority priority, + WorkItemOptions options, + IAsyncAction **operation); +void __RPC_STUB IThreadPoolStatics_RunWithPriorityAndOptionsAsync_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IThreadPoolStatics_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IThreadPoolTimer interface + */ +#ifndef __IThreadPoolTimer_INTERFACE_DEFINED__ +#define __IThreadPoolTimer_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IThreadPoolTimer, 0x594ebe78, 0x55ea, 0x4a88, 0xa5,0x0d, 0x34,0x02,0xae,0x1f,0x9c,0xf2); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("594ebe78-55ea-4a88-a50d-3402ae1f9cf2") +IThreadPoolTimer : public IInspectable +{ + virtual HRESULT STDMETHODCALLTYPE get_Period( + TimeSpan *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE get_Delay( + TimeSpan *value) = 0; + + virtual HRESULT STDMETHODCALLTYPE Cancel( + ) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IThreadPoolTimer, 0x594ebe78, 0x55ea, 0x4a88, 0xa5,0x0d, 0x34,0x02,0xae,0x1f,0x9c,0xf2) +#endif +#else +typedef struct IThreadPoolTimerVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IThreadPoolTimer* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IThreadPoolTimer* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IThreadPoolTimer* This); + + /*** IInspectable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIids)( + IThreadPoolTimer* This, + ULONG *iidCount, + IID **iids); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( + IThreadPoolTimer* This, + HSTRING *className); + + HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( + IThreadPoolTimer* This, + TrustLevel *trustLevel); + + /*** IThreadPoolTimer methods ***/ + HRESULT (STDMETHODCALLTYPE *get_Period)( + IThreadPoolTimer* This, + TimeSpan *value); + + HRESULT (STDMETHODCALLTYPE *get_Delay)( + IThreadPoolTimer* This, + TimeSpan *value); + + HRESULT (STDMETHODCALLTYPE *Cancel)( + IThreadPoolTimer* This); + + END_INTERFACE +} IThreadPoolTimerVtbl; +interface IThreadPoolTimer { + CONST_VTBL IThreadPoolTimerVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IThreadPoolTimer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IThreadPoolTimer_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IThreadPoolTimer_Release(This) (This)->lpVtbl->Release(This) +/*** IInspectable methods ***/ +#define IThreadPoolTimer_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +#define IThreadPoolTimer_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +#define IThreadPoolTimer_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +/*** IThreadPoolTimer methods ***/ +#define IThreadPoolTimer_get_Period(This,value) (This)->lpVtbl->get_Period(This,value) +#define IThreadPoolTimer_get_Delay(This,value) (This)->lpVtbl->get_Delay(This,value) +#define IThreadPoolTimer_Cancel(This) (This)->lpVtbl->Cancel(This) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT IThreadPoolTimer_QueryInterface(IThreadPoolTimer* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG IThreadPoolTimer_AddRef(IThreadPoolTimer* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG IThreadPoolTimer_Release(IThreadPoolTimer* This) { + return This->lpVtbl->Release(This); +} +/*** IInspectable methods ***/ +static FORCEINLINE HRESULT IThreadPoolTimer_GetIids(IThreadPoolTimer* This,ULONG *iidCount,IID **iids) { + return This->lpVtbl->GetIids(This,iidCount,iids); +} +static FORCEINLINE HRESULT IThreadPoolTimer_GetRuntimeClassName(IThreadPoolTimer* This,HSTRING *className) { + return This->lpVtbl->GetRuntimeClassName(This,className); +} +static FORCEINLINE HRESULT IThreadPoolTimer_GetTrustLevel(IThreadPoolTimer* This,TrustLevel *trustLevel) { + return This->lpVtbl->GetTrustLevel(This,trustLevel); +} +/*** IThreadPoolTimer methods ***/ +static FORCEINLINE HRESULT IThreadPoolTimer_get_Period(IThreadPoolTimer* This,TimeSpan *value) { + return This->lpVtbl->get_Period(This,value); +} +static FORCEINLINE HRESULT IThreadPoolTimer_get_Delay(IThreadPoolTimer* This,TimeSpan *value) { + return This->lpVtbl->get_Delay(This,value); +} +static FORCEINLINE HRESULT IThreadPoolTimer_Cancel(IThreadPoolTimer* This) { + return This->lpVtbl->Cancel(This); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IThreadPoolTimer_get_Period_Proxy( + IThreadPoolTimer* This, + TimeSpan *value); +void __RPC_STUB IThreadPoolTimer_get_Period_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IThreadPoolTimer_get_Delay_Proxy( + IThreadPoolTimer* This, + TimeSpan *value); +void __RPC_STUB IThreadPoolTimer_get_Delay_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IThreadPoolTimer_Cancel_Proxy( + IThreadPoolTimer* This); +void __RPC_STUB IThreadPoolTimer_Cancel_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IThreadPoolTimer_INTERFACE_DEFINED__ */ + +/***************************************************************************** + * IThreadPoolTimerStatics interface + */ +#ifndef __IThreadPoolTimerStatics_INTERFACE_DEFINED__ +#define __IThreadPoolTimerStatics_INTERFACE_DEFINED__ + +DEFINE_GUID(IID_IThreadPoolTimerStatics, 0x1a8a9d02, 0xe482, 0x461b, 0xb8,0xc7, 0x8e,0xfa,0xd1,0xcc,0xe5,0x90); +#if defined(__cplusplus) && !defined(CINTERFACE) +MIDL_INTERFACE("1a8a9d02-e482-461b-b8c7-8efad1cce590") +IThreadPoolTimerStatics : public IInspectable +{ + virtual HRESULT STDMETHODCALLTYPE CreatePeriodicTimer( + TimerElapsedHandler *handler, + TimeSpan period, + IThreadPoolTimer **timer) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateTimer( + TimerElapsedHandler *handler, + TimeSpan delay, + IThreadPoolTimer **timer) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreatePeriodicTimerWithCompletion( + TimerElapsedHandler *handler, + TimeSpan period, + TimerDestroyedHandler *destroyed, + IThreadPoolTimer **timer) = 0; + + virtual HRESULT STDMETHODCALLTYPE CreateTimerWithCompletion( + TimerElapsedHandler *handler, + TimeSpan delay, + TimerDestroyedHandler *destroyed, + IThreadPoolTimer **timer) = 0; + +}; +#ifdef __CRT_UUID_DECL +__CRT_UUID_DECL(IThreadPoolTimerStatics, 0x1a8a9d02, 0xe482, 0x461b, 0xb8,0xc7, 0x8e,0xfa,0xd1,0xcc,0xe5,0x90) +#endif +#else +typedef struct IThreadPoolTimerStaticsVtbl { + BEGIN_INTERFACE + + /*** IUnknown methods ***/ + HRESULT (STDMETHODCALLTYPE *QueryInterface)( + IThreadPoolTimerStatics* This, + REFIID riid, + void **ppvObject); + + ULONG (STDMETHODCALLTYPE *AddRef)( + IThreadPoolTimerStatics* This); + + ULONG (STDMETHODCALLTYPE *Release)( + IThreadPoolTimerStatics* This); + + /*** IInspectable methods ***/ + HRESULT (STDMETHODCALLTYPE *GetIids)( + IThreadPoolTimerStatics* This, + ULONG *iidCount, + IID **iids); + + HRESULT (STDMETHODCALLTYPE *GetRuntimeClassName)( + IThreadPoolTimerStatics* This, + HSTRING *className); + + HRESULT (STDMETHODCALLTYPE *GetTrustLevel)( + IThreadPoolTimerStatics* This, + TrustLevel *trustLevel); + + /*** IThreadPoolTimerStatics methods ***/ + HRESULT (STDMETHODCALLTYPE *CreatePeriodicTimer)( + IThreadPoolTimerStatics* This, + TimerElapsedHandler *handler, + TimeSpan period, + IThreadPoolTimer **timer); + + HRESULT (STDMETHODCALLTYPE *CreateTimer)( + IThreadPoolTimerStatics* This, + TimerElapsedHandler *handler, + TimeSpan delay, + IThreadPoolTimer **timer); + + HRESULT (STDMETHODCALLTYPE *CreatePeriodicTimerWithCompletion)( + IThreadPoolTimerStatics* This, + TimerElapsedHandler *handler, + TimeSpan period, + TimerDestroyedHandler *destroyed, + IThreadPoolTimer **timer); + + HRESULT (STDMETHODCALLTYPE *CreateTimerWithCompletion)( + IThreadPoolTimerStatics* This, + TimerElapsedHandler *handler, + TimeSpan delay, + TimerDestroyedHandler *destroyed, + IThreadPoolTimer **timer); + + END_INTERFACE +} IThreadPoolTimerStaticsVtbl; +interface IThreadPoolTimerStatics { + CONST_VTBL IThreadPoolTimerStaticsVtbl* lpVtbl; +}; + +#ifdef COBJMACROS +#ifndef WIDL_C_INLINE_WRAPPERS +/*** IUnknown methods ***/ +#define IThreadPoolTimerStatics_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject) +#define IThreadPoolTimerStatics_AddRef(This) (This)->lpVtbl->AddRef(This) +#define IThreadPoolTimerStatics_Release(This) (This)->lpVtbl->Release(This) +/*** IInspectable methods ***/ +#define IThreadPoolTimerStatics_GetIids(This,iidCount,iids) (This)->lpVtbl->GetIids(This,iidCount,iids) +#define IThreadPoolTimerStatics_GetRuntimeClassName(This,className) (This)->lpVtbl->GetRuntimeClassName(This,className) +#define IThreadPoolTimerStatics_GetTrustLevel(This,trustLevel) (This)->lpVtbl->GetTrustLevel(This,trustLevel) +/*** IThreadPoolTimerStatics methods ***/ +#define IThreadPoolTimerStatics_CreatePeriodicTimer(This,handler,period,timer) (This)->lpVtbl->CreatePeriodicTimer(This,handler,period,timer) +#define IThreadPoolTimerStatics_CreateTimer(This,handler,delay,timer) (This)->lpVtbl->CreateTimer(This,handler,delay,timer) +#define IThreadPoolTimerStatics_CreatePeriodicTimerWithCompletion(This,handler,period,destroyed,timer) (This)->lpVtbl->CreatePeriodicTimerWithCompletion(This,handler,period,destroyed,timer) +#define IThreadPoolTimerStatics_CreateTimerWithCompletion(This,handler,delay,destroyed,timer) (This)->lpVtbl->CreateTimerWithCompletion(This,handler,delay,destroyed,timer) +#else +/*** IUnknown methods ***/ +static FORCEINLINE HRESULT IThreadPoolTimerStatics_QueryInterface(IThreadPoolTimerStatics* This,REFIID riid,void **ppvObject) { + return This->lpVtbl->QueryInterface(This,riid,ppvObject); +} +static FORCEINLINE ULONG IThreadPoolTimerStatics_AddRef(IThreadPoolTimerStatics* This) { + return This->lpVtbl->AddRef(This); +} +static FORCEINLINE ULONG IThreadPoolTimerStatics_Release(IThreadPoolTimerStatics* This) { + return This->lpVtbl->Release(This); +} +/*** IInspectable methods ***/ +static FORCEINLINE HRESULT IThreadPoolTimerStatics_GetIids(IThreadPoolTimerStatics* This,ULONG *iidCount,IID **iids) { + return This->lpVtbl->GetIids(This,iidCount,iids); +} +static FORCEINLINE HRESULT IThreadPoolTimerStatics_GetRuntimeClassName(IThreadPoolTimerStatics* This,HSTRING *className) { + return This->lpVtbl->GetRuntimeClassName(This,className); +} +static FORCEINLINE HRESULT IThreadPoolTimerStatics_GetTrustLevel(IThreadPoolTimerStatics* This,TrustLevel *trustLevel) { + return This->lpVtbl->GetTrustLevel(This,trustLevel); +} +/*** IThreadPoolTimerStatics methods ***/ +static FORCEINLINE HRESULT IThreadPoolTimerStatics_CreatePeriodicTimer(IThreadPoolTimerStatics* This,TimerElapsedHandler *handler,TimeSpan period,IThreadPoolTimer **timer) { + return This->lpVtbl->CreatePeriodicTimer(This,handler,period,timer); +} +static FORCEINLINE HRESULT IThreadPoolTimerStatics_CreateTimer(IThreadPoolTimerStatics* This,TimerElapsedHandler *handler,TimeSpan delay,IThreadPoolTimer **timer) { + return This->lpVtbl->CreateTimer(This,handler,delay,timer); +} +static FORCEINLINE HRESULT IThreadPoolTimerStatics_CreatePeriodicTimerWithCompletion(IThreadPoolTimerStatics* This,TimerElapsedHandler *handler,TimeSpan period,TimerDestroyedHandler *destroyed,IThreadPoolTimer **timer) { + return This->lpVtbl->CreatePeriodicTimerWithCompletion(This,handler,period,destroyed,timer); +} +static FORCEINLINE HRESULT IThreadPoolTimerStatics_CreateTimerWithCompletion(IThreadPoolTimerStatics* This,TimerElapsedHandler *handler,TimeSpan delay,TimerDestroyedHandler *destroyed,IThreadPoolTimer **timer) { + return This->lpVtbl->CreateTimerWithCompletion(This,handler,delay,destroyed,timer); +} +#endif +#endif + +#endif + +HRESULT STDMETHODCALLTYPE IThreadPoolTimerStatics_CreatePeriodicTimer_Proxy( + IThreadPoolTimerStatics* This, + TimerElapsedHandler *handler, + TimeSpan period, + IThreadPoolTimer **timer); +void __RPC_STUB IThreadPoolTimerStatics_CreatePeriodicTimer_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IThreadPoolTimerStatics_CreateTimer_Proxy( + IThreadPoolTimerStatics* This, + TimerElapsedHandler *handler, + TimeSpan delay, + IThreadPoolTimer **timer); +void __RPC_STUB IThreadPoolTimerStatics_CreateTimer_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IThreadPoolTimerStatics_CreatePeriodicTimerWithCompletion_Proxy( + IThreadPoolTimerStatics* This, + TimerElapsedHandler *handler, + TimeSpan period, + TimerDestroyedHandler *destroyed, + IThreadPoolTimer **timer); +void __RPC_STUB IThreadPoolTimerStatics_CreatePeriodicTimerWithCompletion_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); +HRESULT STDMETHODCALLTYPE IThreadPoolTimerStatics_CreateTimerWithCompletion_Proxy( + IThreadPoolTimerStatics* This, + TimerElapsedHandler *handler, + TimeSpan delay, + TimerDestroyedHandler *destroyed, + IThreadPoolTimer **timer); +void __RPC_STUB IThreadPoolTimerStatics_CreateTimerWithCompletion_Stub( + IRpcStubBuffer* This, + IRpcChannelBuffer* pRpcChannelBuffer, + PRPC_MESSAGE pRpcMessage, + DWORD* pdwStubPhase); + +#endif /* __IThreadPoolTimerStatics_INTERFACE_DEFINED__ */ + +/* Begin additional prototypes for all interfaces */ + + +/* End additional prototypes */ + +#ifdef __cplusplus +} +#endif + +#endif /* __windows_system_threading_h__ */ diff --git a/mingw-w64-headers/include/windows.system.threading.idl b/mingw-w64-headers/include/windows.system.threading.idl new file mode 100644 index 0000000..de2675e --- /dev/null +++ b/mingw-w64-headers/include/windows.system.threading.idl @@ -0,0 +1,119 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +import "inspectable.idl"; +import "windows.foundation.idl"; + +namespace Windows { + namespace Foundation { + interface IAsyncAction; + struct TimeSpan; + } + + namespace System { + namespace Threading { + enum WorkItemPriority; + enum WorkItemOptions; + interface TimerElapsedHandler; //delegate + interface TimerDestroyedHandler; //delegate + interface WorkItemHandler; //delegate + interface IThreadPoolStatics; + interface IThreadPoolTimer; + interface IThreadPoolTimerStatics; + } + } +} + +namespace Windows { + namespace System { + namespace Threading + { + typedef enum WorkItemPriority { + Low = -1, + Normal = 0, + High = 1 + } WorkItemPriority; + + typedef enum WorkItemOptions { + None = 0, + TimeSliced = 1 + } WorkItemOptions; + + typedef struct TimeSpan { + INT64 Duration; + } TimeSpan; + + [uuid(FAAEA667-FBEB-49CB-ADB2-71184C556E43)] + interface TimerElapsedHandler : IUnknown { + HRESULT Invoke(IThreadPoolTimer* timer); + } + + [uuid(34ED19FA-8384-4EB9-8209-FB5094EEEC35)] + interface TimerDestroyedHandler : IUnknown { + HRESULT Invoke(IThreadPoolTimer* timer); + } + + [uuid(1D1A8B8B-FA66-414F-9CBD-B65FC99D17FA)] + interface WorkItemHandler : IUnknown { + HRESULT Invoke( + IAsyncAction* operation); + } + + [uuid(B6BF67DD-84BD-44F8-AC1C-93EBCB9DBA91)] + interface IThreadPoolStatics : IInspectable + { + HRESULT RunAsync( + WorkItemHandler* handler, + IAsyncAction** operation); + + HRESULT RunWithPriorityAsync( + WorkItemHandler* handler, + WorkItemPriority priority, + IAsyncAction** operation); + + HRESULT RunWithPriorityAndOptionsAsync( + WorkItemHandler* handler, + WorkItemPriority priority, + WorkItemOptions options, + IAsyncAction** operation); + } + + [uuid(594EBE78-55EA-4A88-A50D-3402AE1F9CF2)] + interface IThreadPoolTimer : IInspectable + { + [propget] HRESULT Period(TimeSpan* value); + [propget] HRESULT Delay(TimeSpan* value); + HRESULT Cancel(); + } + + [uuid(1A8A9D02-E482-461B-B8C7-8EFAD1CCE590)] + interface IThreadPoolTimerStatics : IInspectable + { + HRESULT CreatePeriodicTimer( + TimerElapsedHandler* handler, + TimeSpan period, + IThreadPoolTimer** timer); + + HRESULT CreateTimer( + TimerElapsedHandler* handler, + TimeSpan delay, + IThreadPoolTimer** timer); + + HRESULT CreatePeriodicTimerWithCompletion( + TimerElapsedHandler* handler, + TimeSpan period, + TimerDestroyedHandler* destroyed, + IThreadPoolTimer** timer); + + HRESULT CreateTimerWithCompletion( + TimerElapsedHandler* handler, + TimeSpan delay, + TimerDestroyedHandler* destroyed, + IThreadPoolTimer** timer); + } + } + } +} -- 1.8.3.4 ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public