dwrite: Fix invalid read when building zero length text layout (Valgrind).
[wine.git] / include / errrec.idl
blobb7c7cbfb5fc8d2f94c6c4a28cf24854a7d384b6f
1 /*
2 * Copyright (C) 2013 Alistair Leslie-Hughes
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #if 0
20 #pragma makedep install
21 #endif
24 object,
25 uuid(0c733a67-2a1c-11ce-ade5-00aa0044773d),
26 pointer_default(unique)
28 interface IErrorRecords : IUnknown
31 cpp_quote("#define IDENTIFIER_SDK_MASK 0xF0000000")
32 cpp_quote("#define IDENTIFIER_SDK_ERROR 0x10000000")
34 typedef struct tagERRORINFO
36 HRESULT hrError;
37 DWORD dwMinor;
38 CLSID clsid;
39 IID iid;
40 DISPID dispid;
41 } ERRORINFO;
43 [local]
44 HRESULT AddErrorRecord([in] ERRORINFO * pErrorInfo, [in] DWORD dwLookupID, [in] DISPPARAMS * pdispparams,
45 [in] IUnknown * punkCustomError, [in] DWORD dwDynamicErrorID);
47 [call_as(AddErrorRecord)]
48 HRESULT RemoteAddErrorRecord([in] ERRORINFO * pErrorInfo, [in] DWORD dwLookupID, [in] DISPPARAMS * pdispparams,
49 [in] IUnknown * punkCustomError, [in] DWORD dwDynamicErrorID, [out] IErrorInfo ** ppErrorInfoRem);
51 [local]
52 HRESULT GetBasicErrorInfo([in] ULONG ulRecordNum, [out] ERRORINFO * pErrorInfo);
54 [call_as(GetBasicErrorInfo)]
55 HRESULT RemoteGetBasicErrorInfo([in] ULONG ulRecordNum, [out] ERRORINFO * pErrorInfo, [out] IErrorInfo **ppErrorInfoRem);
57 [local]
58 HRESULT GetCustomErrorObject([in] ULONG ulRecordNum, [in] REFIID riid, [out] IUnknown ** ppObject);
60 [call_as(GetCustomErrorObject)]
61 HRESULT RemoteGetCustomErrorObject([in] ULONG ulRecordNum, [in] REFIID riid, [out] IUnknown ** ppObject,
62 [out] IErrorInfo **ppErrorInfoRem);
64 [local]
65 HRESULT GetErrorInfo([in] ULONG ulRecordNum, [in] LCID lcid, [out] IErrorInfo **ppErrorInfo);
67 [call_as(GetErrorInfo)]
68 HRESULT RemoteGetErrorInfo([in] ULONG ulRecordNum, [in] LCID lcid, [out] IErrorInfo **ppErrorInfo,
69 [out] IErrorInfo **ppErrorInfoRem);
71 [local]
72 HRESULT GetErrorParameters([in] ULONG ulRecordNum, [out] DISPPARAMS * pdispparams);
74 [call_as(GetErrorParameters)]
75 HRESULT RemoteGetErrorParameters([in] ULONG ulRecordNum, [out] DISPPARAMS * pdispparams, [out] IErrorInfo ** ppErrorInfoRem);
77 [local]
78 HRESULT GetRecordCount([out] ULONG *records);
80 [call_as(GetRecordCount)]
81 HRESULT RemoteGetRecordCount([out] ULONG * pcRecords, [out] IErrorInfo **ppErrorInfoRem);