widl: Try to import typedefs instead of redefining them.
[wine.git] / include / roapi.h
blob9f717e88e3433568e92259774cff3c6f2ee10da3
1 /*
2 * Copyright (C) 2014 Martin Storsjo
3 * Copyright (C) 2016 Michael Müller
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #ifndef __WINE_ROAPI_H
21 #define __WINE_ROAPI_H
23 #include <windef.h>
24 #include <activation.h>
26 typedef enum
28 RO_INIT_SINGLETHREADED = 0,
29 RO_INIT_MULTITHREADED = 1,
30 } RO_INIT_TYPE;
32 DECLARE_HANDLE(APARTMENT_SHUTDOWN_REGISTRATION_COOKIE);
34 #ifdef __cplusplus
35 typedef struct {} *RO_REGISTRATION_COOKIE;
36 #else
37 typedef struct _RO_REGISTRATION_COOKIE *RO_REGISTRATION_COOKIE;
38 #endif
39 typedef HRESULT (WINAPI *PFNGETACTIVATIONFACTORY)(HSTRING, IActivationFactory **);
41 #ifdef __cplusplus
42 extern "C" {
43 #endif
45 HRESULT WINAPI RoInitialize(RO_INIT_TYPE type);
46 void WINAPI RoUninitialize(void);
48 #ifdef __cplusplus
50 #endif
52 #endif /* __WINE_ROAPI_H */