2 * Defines the COM interfaces and APIs related to ErrorInfo
4 * Copyright (C) 2000 Juergen Schmied
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.
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.
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
21 #ifndef __WINE_WINE_OBJ_ERRORINFO_H
22 #define __WINE_WINE_OBJ_ERRORINFO_H
24 DEFINE_GUID(IID_IErrorInfo,0x1CF2B120,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
25 typedef struct IErrorInfo IErrorInfo,*LPERRORINFO;
27 DEFINE_GUID(IID_ICreateErrorInfo,0x22F03340,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
28 typedef struct ICreateErrorInfo ICreateErrorInfo,*LPCREATEERRORINFO;
30 DEFINE_GUID(IID_ISupportErrorInfo,0xDF0B3D60,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
31 typedef struct ISupportErrorInfo ISupportErrorInfo,*LPSUPPORTERRORINFO;
33 /*****************************************************************************
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)
44 #define IErrorInfo_IMETHODS \
47 ICOM_DEFINE(IErrorInfo, IUnknown)
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)
61 /*****************************************************************************
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)
72 #define ICreateErrorInfo_IMETHODS \
74 ICreateErrorInfo_METHODS
75 ICOM_DEFINE(ICreateErrorInfo, IUnknown)
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)
89 /*****************************************************************************
92 #define ICOM_INTERFACE ISupportErrorInfo
93 #define ISupportErrorInfo_METHODS \
94 ICOM_METHOD1(HRESULT, InterfaceSupportsErrorInfo, REFIID, riid )
96 #define ISupportErrorInfo_IMETHODS \
98 ISupportErrorInfo_METHODS
99 ICOM_DEFINE(ISupportErrorInfo, IUnknown)
100 #undef ICOM_INTERFACE
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)
110 #endif /* __WINE_WINE_OBJ_ERRORINFO_H */