Removed trailing whitespace.
[wine] / include / wine / obj_queryassociations.h
1 /*
2  *    IQueryAssociations
3  *
4  * Copyright (C) 2000 Juergen Schmied
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2.1 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
19  */
20
21 #ifndef __WINE_WINE_OBJ_QUERYASSOCIATIONS_H
22 #define __WINE_WINE_OBJ_QUERYASSOCIATIONS_H
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif /* defined(__cplusplus) */
27
28 DEFINE_GUID(IID_IQueryAssociations, 0xc46ca590, 0x3c3f, 0x11d2, 0xbe, 0xe6, 0x00, 0x00, 0xf8, 0x05, 0xca, 0x57);
29
30 typedef struct IQueryAssociations IQueryAssociations,*LPQUERYASSOCIATIONS;
31
32 #define ASSOCF_INIT_BYEXENAME           0x00000002
33 #define ASSOCF_OPEN_BYEXENAME           0x00000002
34 #define ASSOCF_INIT_DEFAULTTOSTAR       0x00000004
35 #define ASSOCF_INIT_DEFAULTTOFOLDER     0x00000008
36 #define ASSOCF_NOUSERSETTINGS           0x00000010
37 #define ASSOCF_NOTRUNCATE               0x00000020
38 #define ASSOCF_VERIFY                   0x00000040
39 #define ASSOCF_REMAPRUNDLL              0x00000080
40 #define ASSOCF_NOFIXUPS                 0x00000100
41 #define ASSOCF_IGNOREBASECLASS          0x00000200
42
43 typedef DWORD ASSOCF;
44
45 typedef enum
46 {
47         ASSOCSTR_COMMAND      = 1,
48         ASSOCSTR_EXECUTABLE,
49         ASSOCSTR_FRIENDLYDOCNAME,
50         ASSOCSTR_FRIENDLYAPPNAME,
51         ASSOCSTR_NOOPEN,
52         ASSOCSTR_SHELLNEWVALUE,
53         ASSOCSTR_DDECOMMAND,
54         ASSOCSTR_DDEIFEXEC,
55         ASSOCSTR_DDEAPPLICATION,
56         ASSOCSTR_DDETOPIC,
57         ASSOCSTR_MAX
58 } ASSOCSTR;
59
60 typedef enum
61 {
62         ASSOCKEY_SHELLEXECCLASS = 1,
63         ASSOCKEY_APP,
64         ASSOCKEY_CLASS,
65         ASSOCKEY_BASECLASS,
66         ASSOCKEY_MAX
67 } ASSOCKEY;
68
69 typedef enum
70 {
71         ASSOCDATA_MSIDESCRIPTOR = 1,
72         ASSOCDATA_NOACTIVATEHANDLER,
73         ASSOCDATA_QUERYCLASSSTORE,
74         ASSOCDATA_HASPERUSERASSOC,
75         ASSOCDATA_MAX
76 } ASSOCDATA;
77
78 typedef enum
79 {
80         ASSOCENUM_NONE
81 } ASSOCENUM;
82
83 #define ICOM_INTERFACE IQueryAssociations
84 #define IQueryAssociations_METHODS \
85     ICOM_METHOD4 (HRESULT, Init, ASSOCF, flags, LPCWSTR, pszAssoc, HKEY, hkProgid, HWND, hwnd) \
86     ICOM_METHOD5 (HRESULT, GetString, ASSOCF, flags, ASSOCSTR, str, LPCWSTR, pszExtra, LPWSTR, pszOut, DWORD*, pcchOut) \
87     ICOM_METHOD4 (HRESULT, GetKey, ASSOCF, flags, ASSOCKEY, key, LPCWSTR, pszExtra, HKEY*, phkeyOut) \
88     ICOM_METHOD5 (HRESULT, GetData, ASSOCF, flags, ASSOCDATA, data, LPCWSTR, pszExtra, LPVOID, pvOut, DWORD*, pcbOut) \
89     ICOM_METHOD5 (HRESULT, GetEnum, ASSOCF, flags, ASSOCENUM, assocenum, LPCWSTR, pszExtra, REFIID, riid, LPVOID*, ppvOut)
90 #define IQueryAssociations_IMETHODS \
91         IUnknown_IMETHODS \
92         IQueryAssociations_METHODS
93 ICOM_DEFINE(IQueryAssociations,IUnknown)
94 #undef ICOM_INTERFACE
95
96 #define IQueryAssociations_QueryInterface(p,a,b)        ICOM_CALL2(QueryInterface,p,a,b)
97 #define IQueryAssociations_AddRef(p)                    ICOM_CALL(AddRef,p)
98 #define IQueryAssociations_Release(p)                   ICOM_CALL(Release,p)
99 #define IQueryAssociations_Init(p,a,b,c,d)              ICOM_CALL4(Init,p,a,b,c,d)
100 #define IQueryAssociations_GetString(p,a,b,c,d,e)       ICOM_CALL5(GetString,p,a,b,c,d,e)
101 #define IQueryAssociations_GetKey(p,a,b,c,d)            ICOM_CALL4(GetKey,p,a,b,c,d)
102 #define IQueryAssociations_GetData(p,a,b,c,d,e)         ICOM_CALL5(GetData,p,a,b,c,d,e)
103 #define IQueryAssociations_GetEnum(p,a,b,c,d,e)         ICOM_CALL5(GetEnum,p,a,b,c,d,e)
104
105 #ifdef __cplusplus
106 } /* extern "C" */
107 #endif /* defined(__cplusplus) */
108
109 #endif /* __WINE_WINE_OBJ_QUERYASSOCIATIONS_H */
110