zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

dispatcherqueue.h (1162B) - Raw


      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 
      7 #ifndef _DISPATCHERQUEUE_H_
      8 #define _DISPATCHERQUEUE_H_
      9 
     10 #include <windows.system.h>
     11 
     12 typedef ABI::Windows::System::IDispatcherQueue *PDISPATCHERQUEUE;
     13 typedef ABI::Windows::System::IDispatcherQueueController *PDISPATCHERQUEUECONTROLLER;
     14 
     15 #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
     16 
     17 enum DISPATCHERQUEUE_THREAD_APARTMENTTYPE {
     18     DQTAT_COM_NONE = 0,
     19     DQTAT_COM_ASTA = 1,
     20     DQTAT_COM_STA  = 2
     21 };
     22 
     23 enum DISPATCHERQUEUE_THREAD_TYPE {
     24     DQTYPE_THREAD_DEDICATED = 1,
     25     DQTYPE_THREAD_CURRENT   = 2
     26 };
     27 
     28 struct DispatcherQueueOptions {
     29     DWORD                                dwSize;
     30     DISPATCHERQUEUE_THREAD_TYPE          threadType;
     31     DISPATCHERQUEUE_THREAD_APARTMENTTYPE apartmentType;
     32 };
     33 
     34 EXTERN_C HRESULT WINAPI CreateDispatcherQueueController(DispatcherQueueOptions options, PDISPATCHERQUEUECONTROLLER *dispatcherQueueController);
     35 
     36 #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
     37 
     38 #endif /* _DISPATCHERQUEUE_H_ */