Moved __ASM_GLOBAL_FUNC macros and interlocked functions to port.[ch]
[wine] / include / wine / obj_errorinfo.h
1 /*
2  * Defines the COM interfaces and APIs related to ErrorInfo
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_ERRORINFO_H
22 #define __WINE_WINE_OBJ_ERRORINFO_H
23
24 DEFINE_GUID(IID_IErrorInfo,0x1CF2B120,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
25 typedef struct IErrorInfo IErrorInfo,*LPERRORINFO;
26
27 DEFINE_GUID(IID_ICreateErrorInfo,0x22F03340,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
28 typedef struct ICreateErrorInfo ICreateErrorInfo,*LPCREATEERRORINFO;
29
30 DEFINE_GUID(IID_ISupportErrorInfo,0xDF0B3D60,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
31 typedef struct ISupportErrorInfo ISupportErrorInfo,*LPSUPPORTERRORINFO;
32
33 /*****************************************************************************
34  * IErrorInfo
35  */
36 #define ICOM_INTERFACE IErrorInfo
37 #define IErrorInfo_METHODS \
38   ICOM_METHOD1(HRESULT, GetGUID, GUID * , pGUID) \
39   ICOM_METHOD1(HRESULT, GetSource, BSTR* ,pBstrSource) \
40   ICOM_METHOD1(HRESULT, GetDescription, BSTR*, pBstrDescription) \
41   ICOM_METHOD1(HRESULT, GetHelpFile, BSTR*, pBstrHelpFile) \
42   ICOM_METHOD1(HRESULT, GetHelpContext, DWORD*, pdwHelpContext)
43
44 #define IErrorInfo_IMETHODS \
45         IUnknown_IMETHODS \
46         IErrorInfo_METHODS
47 ICOM_DEFINE(IErrorInfo, IUnknown)
48 #undef ICOM_INTERFACE
49
50 /*** IUnknown methods ***/
51 #define IErrorInfo_QueryInterface(p,a,b)        ICOM_CALL2(QueryInterface,p,a,b)
52 #define IErrorInfo_AddRef(p)                    ICOM_CALL (AddRef,p)
53 #define IErrorInfo_Release(p)                   ICOM_CALL (Release,p)
54 /*** IErrorInfo methods ***/
55 #define IErrorInfo_GetGUID(p,a)         ICOM_CALL1 (GetGUID,p,a)
56 #define IErrorInfo_GetSource(p,a)       ICOM_CALL1 (GetSource,p,a)
57 #define IErrorInfo_GetDescription(p,a)  ICOM_CALL1 (GetDescription,p,a)
58 #define IErrorInfo_GetHelpFile(p,a)     ICOM_CALL1 (GetHelpFile,p,a)
59 #define IErrorInfo_GetHelpContext(p,a)  ICOM_CALL1 (GetHelpContext,p,a)
60
61 /*****************************************************************************
62  * ICreateErrorInfo
63  */
64 #define ICOM_INTERFACE ICreateErrorInfo
65 #define ICreateErrorInfo_METHODS \
66   ICOM_METHOD1(HRESULT, SetGUID, REFGUID, rguid) \
67   ICOM_METHOD1(HRESULT, SetSource, LPOLESTR, szSource) \
68   ICOM_METHOD1(HRESULT, SetDescription, LPOLESTR, szDescription) \
69   ICOM_METHOD1(HRESULT, SetHelpFile, LPOLESTR, szHelpFile) \
70   ICOM_METHOD1(HRESULT, SetHelpContext, DWORD, dwHelpContext)
71
72 #define ICreateErrorInfo_IMETHODS \
73         IUnknown_IMETHODS \
74         ICreateErrorInfo_METHODS
75 ICOM_DEFINE(ICreateErrorInfo, IUnknown)
76 #undef ICOM_INTERFACE
77
78 /*** IUnknown methods ***/
79 #define ICreateErrorInfo_QueryInterface(p,a,b)          ICOM_CALL2(QueryInterface,p,a,b)
80 #define ICreateErrorInfo_AddRef(p)                      ICOM_CALL (AddRef,p)
81 #define ICreateErrorInfo_Release(p)                     ICOM_CALL (Release,p)
82 /*** ICreateErrorInfo methods ***/
83 #define ICreateErrorInfo_SetGUID(p,a)           ICOM_CALL1 (SetGUID,p,a)
84 #define ICreateErrorInfo_SetSource(p,a)         ICOM_CALL1 (SetSource,p,a)
85 #define ICreateErrorInfo_SetDescription(p,a)    ICOM_CALL1 (SetDescription,p,a)
86 #define ICreateErrorInfo_SetHelpFile(p,a)       ICOM_CALL1 (SetHelpFile,p,a)
87 #define ICreateErrorInfo_SetHelpContext(p,a)    ICOM_CALL1 (SetHelpContext,p,a)
88
89 /*****************************************************************************
90  * ISupportErrorInfo
91  */
92 #define ICOM_INTERFACE ISupportErrorInfo
93 #define ISupportErrorInfo_METHODS \
94   ICOM_METHOD1(HRESULT, InterfaceSupportsErrorInfo,  REFIID,  riid  )
95
96 #define ISupportErrorInfo_IMETHODS \
97         IUnknown_IMETHODS \
98         ISupportErrorInfo_METHODS
99 ICOM_DEFINE(ISupportErrorInfo, IUnknown)
100 #undef ICOM_INTERFACE
101
102 /*** IUnknown methods ***/
103 #define ISupportErrorInfo_QueryInterface(p,a,b)         ICOM_CALL2(QueryInterface,p,a,b)
104 #define ISupportErrorInfo_AddRef(p)                     ICOM_CALL (AddRef,p)
105 #define ISupportErrorInfo_Release(p)                    ICOM_CALL (Release,p)
106 /*** ISupportErrorInfo methods ***/
107 #define ISupportErrorInfo_InterfaceSupportsErrorInfo(p,a)       ICOM_CALL1 (InterfaceSupportsErrorInfo,p,a)
108
109
110 #endif /* __WINE_WINE_OBJ_ERRORINFO_H */