OSDN Git Service

More on assuming GCC is greater than or equal to version 3.5.4 and that
[mingw/mingw-org-wsl.git] / include / shldisp.h
1 #ifndef _SHLDISP_H
2 #define _SHLDISP_H
3 #pragma GCC system_header
4
5 #ifdef __cplusplus
6 extern "C" {
7 #endif
8
9 typedef enum tagAUTOCOMPLETEOPTIONS {
10     ACO_NONE = 0x00,
11     ACO_AUTOSUGGEST = 0x01,
12     ACO_AUTOAPPEND = 0x02,
13     ACO_SEARCH = 0x04,
14     ACO_FILTERPREFIXES = 0x08,
15     ACO_USETAB = 0x10,
16     ACO_UPDOWNKEYDROPSLIST = 0x20,
17     ACO_RTLREADING = 0x40,
18 #if (_WIN32_WINNT >= 0x0600)
19     ACO_WORD_FILTER = 0x80,
20     ACO_NOPREFIXFILTERING = 0x100
21 #endif
22 } AUTOCOMPLETEOPTIONS;
23
24 #define INTERFACE IAutoComplete
25 DECLARE_INTERFACE_(IAutoComplete, IUnknown)
26 {
27         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
28         STDMETHOD_(ULONG,AddRef)(THIS) PURE;
29         STDMETHOD_(ULONG,Release)(THIS) PURE;
30         STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
31         STDMETHOD(Enable)(THIS_ BOOL) PURE;
32 };
33 #undef INTERFACE
34 typedef IAutoComplete *LPAUTOCOMPLETE;
35
36 #ifdef COBJMACROS
37 #define IAutoComplete_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
38 #define IAutoComplete_AddRef(T) (T)->lpVtbl->AddRef(T)
39 #define IAutoComplete_Release(T) (T)->lpVtbl->Release(T)
40 #define IAutoComplete_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
41 #define IAutoComplete_Enable(T,a) (T)->lpVtbl->Enable(T,a)
42 #endif
43
44 #define INTERFACE IAutoComplete2
45 DECLARE_INTERFACE_(IAutoComplete2, IAutoComplete)
46 {
47         STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
48         STDMETHOD_(ULONG,AddRef)(THIS) PURE;
49         STDMETHOD_(ULONG,Release)(THIS) PURE;
50         STDMETHOD(Init)(THIS_ HWND,IUnknown*,LPCOLESTR,LPCOLESTR) PURE;
51         STDMETHOD(Enable)(THIS_ BOOL) PURE;
52         STDMETHOD(SetOptions)(THIS_ DWORD) PURE;
53         STDMETHOD(GetOptions)(THIS_ DWORD*) PURE;
54 };
55 #undef INTERFACE
56 typedef IAutoComplete2 *LPAUTOCOMPLETE2;
57
58 #ifdef COBJMACROS
59 #define IAutoComplete2_QueryInterface(T,a,b) (T)->lpVtbl->QueryInterface(T,a,b)
60 #define IAutoComplete2_AddRef(T) (T)->lpVtbl->AddRef(T)
61 #define IAutoComplete2_Release(T) (T)->lpVtbl->Release(T)
62 #define IAutoComplete2_Init(T,a,b,c,d) (T)->lpVtbl->Init(T,a,b,c,d)
63 #define IAutoComplete2_Enable(T,a) (T)->lpVtbl->Enable(T,a)
64 #define IAutoComplete2_SetOptions(T,a) (T)->lpVtbl->Enable(T,a)
65 #define IAutoComplete2_GetOptions(T,a) (T)->lpVtbl->Enable(T,a)
66 #endif
67
68 #ifdef __cplusplus
69 }
70 #endif
71
72 #endif /* _SHLDISP_H */