/*** Autogenerated by WIDL 10.0 from ../wine-cachyos/include/dispatcherqueue.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 __dispatcherqueue_h__
#define __dispatcherqueue_h__

/* Forward declarations */

/* Headers for imported files */

#include <windows.system.h>

#ifdef __cplusplus
extern "C" {
#endif

#ifndef __cplusplus
typedef __x_ABI_CWindows_CSystem_CIDispatcherQueue *PDISPATCHERQUEUE;
#else /* __cplusplus */
typedef ABI::Windows::System::IDispatcherQueue *PDISPATCHERQUEUE;
#endif /* __cplusplus */

#ifndef __cplusplus
typedef __x_ABI_CWindows_CSystem_CIDispatcherQueueController *PDISPATCHERQUEUECONTROLLER;
#else /* __cplusplus */
typedef ABI::Windows::System::IDispatcherQueueController *PDISPATCHERQUEUECONTROLLER;
#endif /* __cplusplus */

typedef enum DISPATCHERQUEUE_THREAD_APARTMENTTYPE {
    DQTAT_COM_NONE = 0,
    DQTAT_COM_ASTA = 1,
    DQTAT_COM_STA = 2
} DISPATCHERQUEUE_THREAD_APARTMENTTYPE;
typedef enum DISPATCHERQUEUE_THREAD_TYPE {
    DQTYPE_THREAD_DEDICATED = 1,
    DQTYPE_THREAD_CURRENT = 2
} DISPATCHERQUEUE_THREAD_TYPE;
typedef struct DispatcherQueueOptions {
    DWORD dwSize;
    DISPATCHERQUEUE_THREAD_TYPE threadType;
    DISPATCHERQUEUE_THREAD_APARTMENTTYPE apartmentType;
} DispatcherQueueOptions;
HRESULT __stdcall  CreateDispatcherQueueController(DispatcherQueueOptions options,PDISPATCHERQUEUECONTROLLER *queue_controller);

/* Begin additional prototypes for all interfaces */


/* End additional prototypes */

#ifdef __cplusplus
}
#endif

#endif /* __dispatcherqueue_h__ */
