// // Copyright (c) Microsoft Corporation. All rights reserved. // // // File generated by WinMDIDL version 8.00.0021 // import "inspectable.idl"; import "AsyncInfo.idl"; import "EventToken.idl"; import "windowscontracts.idl"; import "Windows.Foundation.idl"; import "Windows.System.Threading.idl"; // Forward Declare namespace Windows { namespace Foundation { interface IAsyncAction; typedef struct TimeSpan TimeSpan; apicontract UniversalApiContract; } } namespace Windows { namespace System { namespace Threading { delegate WorkItemHandler; typedef enum WorkItemOptions WorkItemOptions; typedef enum WorkItemPriority WorkItemPriority; } } } namespace Windows { namespace System { namespace Threading { namespace Core { delegate SignalHandler; interface IPreallocatedWorkItem; interface IPreallocatedWorkItemFactory; interface ISignalNotifier; interface ISignalNotifierStatics; runtimeclass PreallocatedWorkItem; runtimeclass SignalNotifier; } } } } // Generic instantiations // Type definition namespace Windows { namespace System { namespace Threading { namespace Core { [contract(Windows.Foundation.UniversalApiContract, 1.0)] [uuid(923C402E-4721-440E-9DDA-55B6F2E07710)] delegate HRESULT SignalHandler([in] Windows.System.Threading.Core.SignalNotifier* signalNotifier, [in] boolean timedOut); [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.System.Threading.Core.PreallocatedWorkItem)] [uuid(B6DAA9FC-BC5B-401A-A8B2-6E754D14DAA6)] interface IPreallocatedWorkItem : IInspectable { HRESULT RunAsync([out] [retval] Windows.Foundation.IAsyncAction** operation); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.System.Threading.Core.PreallocatedWorkItem)] [uuid(E3D32B45-DFEA-469B-82C5-F6E3CEFDEAFB)] interface IPreallocatedWorkItemFactory : IInspectable { HRESULT CreateWorkItem([in] Windows.System.Threading.WorkItemHandler* handler, [out] [retval] Windows.System.Threading.Core.PreallocatedWorkItem** workItem); HRESULT CreateWorkItemWithPriority([in] Windows.System.Threading.WorkItemHandler* handler, [in] Windows.System.Threading.WorkItemPriority priority, [out] [retval] Windows.System.Threading.Core.PreallocatedWorkItem** WorkItem); HRESULT CreateWorkItemWithPriorityAndOptions([in] Windows.System.Threading.WorkItemHandler* handler, [in] Windows.System.Threading.WorkItemPriority priority, [in] Windows.System.Threading.WorkItemOptions options, [out] [retval] Windows.System.Threading.Core.PreallocatedWorkItem** WorkItem); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.System.Threading.Core.SignalNotifier)] [uuid(14285E06-63A7-4713-B6D9-62F64B56FB8B)] interface ISignalNotifier : IInspectable { HRESULT Enable(); HRESULT Terminate(); } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [exclusiveto(Windows.System.Threading.Core.SignalNotifier)] [uuid(1C4E4566-8400-46D3-A115-7D0C0DFC9F62)] interface ISignalNotifierStatics : IInspectable { [overload("AttachToEvent")] HRESULT AttachToEvent([in] HSTRING name, [in] Windows.System.Threading.Core.SignalHandler* handler, [out] [retval] Windows.System.Threading.Core.SignalNotifier** signalNotifier); [overload("AttachToEvent")] HRESULT AttachToEventWithTimeout([in] HSTRING name, [in] Windows.System.Threading.Core.SignalHandler* handler, [in] Windows.Foundation.TimeSpan timeout, [out] [retval] Windows.System.Threading.Core.SignalNotifier** signalNotifier); [overload("AttachToSemaphore")] HRESULT AttachToSemaphore([in] HSTRING name, [in] Windows.System.Threading.Core.SignalHandler* handler, [out] [retval] Windows.System.Threading.Core.SignalNotifier** signalNotifier); [overload("AttachToSemaphore")] HRESULT AttachToSemaphoreWithTimeout([in] HSTRING name, [in] Windows.System.Threading.Core.SignalHandler* handler, [in] Windows.Foundation.TimeSpan timeout, [out] [retval] Windows.System.Threading.Core.SignalNotifier** signalNotifier); } [activatable(Windows.System.Threading.Core.IPreallocatedWorkItemFactory, Windows.Foundation.UniversalApiContract, 1.0)] [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [threading(both)] runtimeclass PreallocatedWorkItem { [default] interface Windows.System.Threading.Core.IPreallocatedWorkItem; } [contract(Windows.Foundation.UniversalApiContract, 1.0)] [marshaling_behavior(agile)] [static(Windows.System.Threading.Core.ISignalNotifierStatics, Windows.Foundation.UniversalApiContract, 1.0)] [threading(both)] runtimeclass SignalNotifier { [default] interface Windows.System.Threading.Core.ISignalNotifier; } } } } }