OSDN Git Service

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