xref: /reactos/dll/win32/scrrun/scrrun_private.h (revision c2c66aff)
1 /*
2  * Copyright 2012 Alistair Leslie-Hughes
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2.1 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17  */
18 
19 #ifndef _SCRRUN_PRIVATE_H_
20 #define _SCRRUN_PRIVATE_H_
21 
22 #include <wine/config.h>
23 
24 #include <stdarg.h>
25 
26 #define WIN32_NO_STATUS
27 #define _INC_WINDOWS
28 #define COM_NO_WINDOWS_H
29 
30 #define COBJMACROS
31 
32 #include <windef.h>
33 #include <winbase.h>
34 #include <winnls.h>
35 #include <objbase.h>
36 #include <oleauto.h>
37 #include <dispex.h>
38 #include <scrrun.h>
39 
40 #include <wine/debug.h>
41 WINE_DEFAULT_DEBUG_CHANNEL(scrrun);
42 
43 extern HRESULT WINAPI FileSystem_CreateInstance(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
44 extern HRESULT WINAPI Dictionary_CreateInstance(IClassFactory*,IUnknown*,REFIID,void**) DECLSPEC_HIDDEN;
45 
46 typedef enum tid_t
47 {
48     NULL_tid,
49     IDictionary_tid,
50     IDrive_tid,
51     IDriveCollection_tid,
52     IFile_tid,
53     IFileCollection_tid,
54     IFileSystem3_tid,
55     IFolder_tid,
56     IFolderCollection_tid,
57     ITextStream_tid,
58     LAST_tid
59 } tid_t;
60 
61 HRESULT get_typeinfo(tid_t tid, ITypeInfo **typeinfo) DECLSPEC_HIDDEN;
62 
63 struct provideclassinfo {
64     IProvideClassInfo IProvideClassInfo_iface;
65     IUnknown *outer;
66     const GUID *guid;
67 };
68 
69 extern void init_classinfo(const GUID *guid, IUnknown *outer, struct provideclassinfo *classinfo) DECLSPEC_HIDDEN;
70 
71 static inline void* __WINE_ALLOC_SIZE(1) heap_alloc(size_t len)
72 {
73     return HeapAlloc(GetProcessHeap(), 0, len);
74 }
75 
76 static inline BOOL heap_free(void *mem)
77 {
78     return HeapFree(GetProcessHeap(), 0, mem);
79 }
80 
81 #endif /* _SCRRUN_PRIVATE_H_ */
82