blob: 7e4d8b2d46f455a660e453f5becd18bf89906431 [file] [log] [blame]
/**
* 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.
*/
#ifndef _DISPATCHERQUEUE_H_
#define _DISPATCHERQUEUE_H_
#include <windows.system.h>
typedef ABI::Windows::System::IDispatcherQueue *PDISPATCHERQUEUE;
typedef ABI::Windows::System::IDispatcherQueueController *PDISPATCHERQUEUECONTROLLER;
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
enum DISPATCHERQUEUE_THREAD_APARTMENTTYPE {
DQTAT_COM_NONE = 0,
DQTAT_COM_ASTA = 1,
DQTAT_COM_STA = 2
};
enum DISPATCHERQUEUE_THREAD_TYPE {
DQTYPE_THREAD_DEDICATED = 1,
DQTYPE_THREAD_CURRENT = 2
};
struct DispatcherQueueOptions {
DWORD dwSize;
DISPATCHERQUEUE_THREAD_TYPE threadType;
DISPATCHERQUEUE_THREAD_APARTMENTTYPE apartmentType;
};
EXTERN_C HRESULT WINAPI CreateDispatcherQueueController(DispatcherQueueOptions options, PDISPATCHERQUEUECONTROLLER *dispatcherQueueController);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#endif /* _DISPATCHERQUEUE_H_ */