| 1 | // Licensed to the .NET Foundation under one or more agreements. | 
|---|---|
| 2 | // The .NET Foundation licenses this file to you under the MIT license. | 
| 3 | // See the LICENSE file in the project root for more information. | 
| 4 | // | 
| 5 | |
| 6 | // | 
| 7 | // =========================================================================== | 
| 8 | // File: oaidl.h | 
| 9 | // | 
| 10 | // =========================================================================== | 
| 11 | |
| 12 | #ifndef __OAIDL_H__ | 
| 13 | #define __OAIDL_H__ | 
| 14 | |
| 15 | #include "rpc.h" | 
| 16 | #include "rpcndr.h" | 
| 17 | |
| 18 | #include "unknwn.h" | 
| 19 | |
| 20 | typedef struct tagEXCEPINFO { | 
| 21 | WORD wCode; | 
| 22 | WORD wReserved; | 
| 23 | BSTR bstrSource; | 
| 24 | BSTR bstrDescription; | 
| 25 | BSTR bstrHelpFile; | 
| 26 | DWORD dwHelpContext; | 
| 27 | PVOID pvReserved; | 
| 28 | HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *); | 
| 29 | SCODE scode; | 
| 30 | } EXCEPINFO, * LPEXCEPINFO; | 
| 31 | |
| 32 | typedef interface IErrorInfo IErrorInfo; | 
| 33 | typedef /* [unique] */ IErrorInfo *LPERRORINFO; | 
| 34 | |
| 35 | EXTERN_C const IID IID_IErrorInfo; | 
| 36 | |
| 37 | interface | 
| 38 | IErrorInfo : public IUnknown | 
| 39 | { | 
| 40 | public: | 
| 41 | virtual HRESULT STDMETHODCALLTYPE GetGUID( | 
| 42 | /* [out] */ GUID *pGUID) = 0; | 
| 43 | |
| 44 | virtual HRESULT STDMETHODCALLTYPE GetSource( | 
| 45 | /* [out] */ BSTR *pBstrSource) = 0; | 
| 46 | |
| 47 | virtual HRESULT STDMETHODCALLTYPE GetDescription( | 
| 48 | /* [out] */ BSTR *pBstrDescription) = 0; | 
| 49 | |
| 50 | virtual HRESULT STDMETHODCALLTYPE GetHelpFile( | 
| 51 | /* [out] */ BSTR *pBstrHelpFile) = 0; | 
| 52 | |
| 53 | virtual HRESULT STDMETHODCALLTYPE GetHelpContext( | 
| 54 | /* [out] */ DWORD *pdwHelpContext) = 0; | 
| 55 | |
| 56 | }; | 
| 57 | |
| 58 | typedef interface ICreateErrorInfo ICreateErrorInfo; | 
| 59 | |
| 60 | EXTERN_C const IID IID_ICreateErrorInfo; | 
| 61 | |
| 62 | typedef /* [unique] */ ICreateErrorInfo *LPCREATEERRORINFO; | 
| 63 | |
| 64 | interface | 
| 65 | ICreateErrorInfo : public IUnknown | 
| 66 | { | 
| 67 | public: | 
| 68 | virtual HRESULT STDMETHODCALLTYPE SetGUID( | 
| 69 | /* [in] */ REFGUID rguid) = 0; | 
| 70 | |
| 71 | virtual HRESULT STDMETHODCALLTYPE SetSource( | 
| 72 | /* [in] */ LPOLESTR szSource) = 0; | 
| 73 | |
| 74 | virtual HRESULT STDMETHODCALLTYPE SetDescription( | 
| 75 | /* [in] */ LPOLESTR szDescription) = 0; | 
| 76 | |
| 77 | virtual HRESULT STDMETHODCALLTYPE SetHelpFile( | 
| 78 | /* [in] */ LPOLESTR szHelpFile) = 0; | 
| 79 | |
| 80 | virtual HRESULT STDMETHODCALLTYPE SetHelpContext( | 
| 81 | /* [in] */ DWORD dwHelpContext) = 0; | 
| 82 | |
| 83 | }; | 
| 84 | |
| 85 | STDAPI | 
| 86 | SetErrorInfo(ULONG dwReserved, IErrorInfo FAR* perrinfo); | 
| 87 | |
| 88 | STDAPI | 
| 89 | GetErrorInfo(ULONG dwReserved, IErrorInfo FAR* FAR* pperrinfo); | 
| 90 | |
| 91 | STDAPI | 
| 92 | CreateErrorInfo(ICreateErrorInfo FAR* FAR* pperrinfo); | 
| 93 | |
| 94 | |
| 95 | typedef interface ISupportErrorInfo ISupportErrorInfo; | 
| 96 | |
| 97 | typedef /* [unique] */ ISupportErrorInfo *LPSUPPORTERRORINFO; | 
| 98 | |
| 99 | EXTERN_C const IID IID_ISupportErrorInfo; | 
| 100 | |
| 101 | |
| 102 | interface | 
| 103 | ISupportErrorInfo : public IUnknown | 
| 104 | { | 
| 105 | public: | 
| 106 | virtual HRESULT STDMETHODCALLTYPE InterfaceSupportsErrorInfo( | 
| 107 | /* [in] */ REFIID riid) = 0; | 
| 108 | |
| 109 | }; | 
| 110 | |
| 111 | #endif //__OAIDL_H__ | 
| 112 | 
