#include <stdarg.h>
#include <string.h>
#include "windef.h"
#include "winbase.h"
#include "objbase.h"
#include "oleauto.h"
#include "winerror.h"
#include "compobj_private.h"
#include "wine/debug.h"
Go to the source code of this file.
|
| WINE_DEFAULT_DEBUG_CHANNEL (ole) |
|
static WCHAR * | heap_strdupW (const WCHAR *str) |
|
static ErrorInfoImpl * | impl_from_IErrorInfo (IErrorInfo *iface) |
|
static ErrorInfoImpl * | impl_from_ICreateErrorInfo (ICreateErrorInfo *iface) |
|
static ErrorInfoImpl * | impl_from_ISupportErrorInfo (ISupportErrorInfo *iface) |
|
static HRESULT WINAPI | IErrorInfoImpl_QueryInterface (IErrorInfo *iface, REFIID riid, void **ppvoid) |
|
static ULONG WINAPI | IErrorInfoImpl_AddRef (IErrorInfo *iface) |
|
static ULONG WINAPI | IErrorInfoImpl_Release (IErrorInfo *iface) |
|
static HRESULT WINAPI | IErrorInfoImpl_GetGUID (IErrorInfo *iface, GUID *pGUID) |
|
static HRESULT WINAPI | IErrorInfoImpl_GetSource (IErrorInfo *iface, BSTR *pBstrSource) |
|
static HRESULT WINAPI | IErrorInfoImpl_GetDescription (IErrorInfo *iface, BSTR *pBstrDescription) |
|
static HRESULT WINAPI | IErrorInfoImpl_GetHelpFile (IErrorInfo *iface, BSTR *pBstrHelpFile) |
|
static HRESULT WINAPI | IErrorInfoImpl_GetHelpContext (IErrorInfo *iface, DWORD *pdwHelpContext) |
|
static HRESULT WINAPI | ICreateErrorInfoImpl_QueryInterface (ICreateErrorInfo *iface, REFIID riid, VOID **ppvoid) |
|
static ULONG WINAPI | ICreateErrorInfoImpl_AddRef (ICreateErrorInfo *iface) |
|
static ULONG WINAPI | ICreateErrorInfoImpl_Release (ICreateErrorInfo *iface) |
|
static HRESULT WINAPI | ICreateErrorInfoImpl_SetGUID (ICreateErrorInfo *iface, REFGUID rguid) |
|
static HRESULT WINAPI | ICreateErrorInfoImpl_SetSource (ICreateErrorInfo *iface, LPOLESTR szSource) |
|
static HRESULT WINAPI | ICreateErrorInfoImpl_SetDescription (ICreateErrorInfo *iface, LPOLESTR szDescription) |
|
static HRESULT WINAPI | ICreateErrorInfoImpl_SetHelpFile (ICreateErrorInfo *iface, LPOLESTR szHelpFile) |
|
static HRESULT WINAPI | ICreateErrorInfoImpl_SetHelpContext (ICreateErrorInfo *iface, DWORD dwHelpContext) |
|
static HRESULT WINAPI | ISupportErrorInfoImpl_QueryInterface (ISupportErrorInfo *iface, REFIID riid, VOID **ppvoid) |
|
static ULONG WINAPI | ISupportErrorInfoImpl_AddRef (ISupportErrorInfo *iface) |
|
static ULONG WINAPI | ISupportErrorInfoImpl_Release (ISupportErrorInfo *iface) |
|
static HRESULT WINAPI | ISupportErrorInfoImpl_InterfaceSupportsErrorInfo (ISupportErrorInfo *iface, REFIID riid) |
|
static IErrorInfo * | IErrorInfoImpl_Constructor (void) |
|
HRESULT WINAPI | CreateErrorInfo (ICreateErrorInfo **pperrinfo) |
|
HRESULT WINAPI | GetErrorInfo (ULONG dwReserved, IErrorInfo **pperrinfo) |
|
HRESULT WINAPI | SetErrorInfo (ULONG dwReserved, IErrorInfo *perrinfo) |
|
◆ COBJMACROS
◆ ErrorInfoImpl
◆ CreateErrorInfo()
Definition at line 386 of file errorinfo.c.
387{
390 TRACE(
"(%p)\n", pperrinfo);
393
394 res = IErrorInfo_QueryInterface(pei, &IID_ICreateErrorInfo, (
LPVOID*)pperrinfo);
395 IErrorInfo_Release(pei);
397}
static IErrorInfo * IErrorInfoImpl_Constructor(void)
Referenced by test_error_info().
◆ GetErrorInfo()
◆ heap_strdupW()
◆ ICreateErrorInfoImpl_AddRef()
Definition at line 235 of file errorinfo.c.
237{
239 return IErrorInfo_AddRef(&
This->IErrorInfo_iface);
240}
static ErrorInfoImpl * impl_from_ICreateErrorInfo(ICreateErrorInfo *iface)
◆ ICreateErrorInfoImpl_QueryInterface()
Definition at line 226 of file errorinfo.c.
230{
232 return IErrorInfo_QueryInterface(&
This->IErrorInfo_iface,
riid, ppvoid);
233}
◆ ICreateErrorInfoImpl_Release()
Definition at line 242 of file errorinfo.c.
244{
246 return IErrorInfo_Release(&
This->IErrorInfo_iface);
247}
◆ ICreateErrorInfoImpl_SetDescription()
Definition at line 273 of file errorinfo.c.
276{
279
283}
static BOOL heap_free(void *mem)
static const WCHAR szDescription[]
static WCHAR * heap_strdupW(const WCHAR *str)
◆ ICreateErrorInfoImpl_SetGUID()
◆ ICreateErrorInfoImpl_SetHelpContext()
Definition at line 296 of file errorinfo.c.
299{
302 This->m_dwHelpContext = dwHelpContext;
304}
◆ ICreateErrorInfoImpl_SetHelpFile()
◆ ICreateErrorInfoImpl_SetSource()
◆ IErrorInfoImpl_AddRef()
Definition at line 121 of file errorinfo.c.
123{
127}
#define InterlockedIncrement
static ErrorInfoImpl * impl_from_IErrorInfo(IErrorInfo *iface)
◆ IErrorInfoImpl_Constructor()
Definition at line 356 of file errorinfo.c.
357{
359
361
369 This->m_dwHelpContext = 0;
370
371 return &
This->IErrorInfo_iface;
372}
static const IErrorInfoVtbl ErrorInfoVtbl
static const ICreateErrorInfoVtbl CreateErrorInfoVtbl
static const ISupportErrorInfoVtbl SupportErrorInfoVtbl
Referenced by CreateErrorInfo().
◆ IErrorInfoImpl_GetDescription()
Definition at line 172 of file errorinfo.c.
175{
177
178 TRACE(
"(%p)->(pBstrDescription=%p)\n",
This,pBstrDescription);
179 if (pBstrDescription ==
NULL)
182
184}
BSTR WINAPI SysAllocString(LPCOLESTR str)
◆ IErrorInfoImpl_GetGUID()
◆ IErrorInfoImpl_GetHelpContext()
Definition at line 200 of file errorinfo.c.
203{
205 TRACE(
"(%p)->(pdwHelpContext=%p)\n",
This, pdwHelpContext);
206 if (pdwHelpContext ==
NULL)
208 *pdwHelpContext =
This->m_dwHelpContext;
209
211}
◆ IErrorInfoImpl_GetHelpFile()
Definition at line 186 of file errorinfo.c.
189{
191
192 TRACE(
"(%p)->(pBstrHelpFile=%p)\n",
This, pBstrHelpFile);
193 if (pBstrHelpFile ==
NULL)
196
198}
◆ IErrorInfoImpl_GetSource()
Definition at line 160 of file errorinfo.c.
163{
165 TRACE(
"(%p)->(pBstrSource=%p)\n",
This,pBstrSource);
166 if (pBstrSource ==
NULL)
170}
◆ IErrorInfoImpl_QueryInterface()
Definition at line 88 of file errorinfo.c.
92{
95
97
99 {
100 *ppvoid = &
This->IErrorInfo_iface;
101 }
103 {
104 *ppvoid = &
This->ICreateErrorInfo_iface;
105 }
107 {
108 *ppvoid = &
This->ISupportErrorInfo_iface;
109 }
110
111 if(*ppvoid)
112 {
113 IUnknown_AddRef( (
IUnknown*)*ppvoid );
114 TRACE(
"-- Interface: (%p)->(%p)\n",ppvoid,*ppvoid);
116 }
117 TRACE(
"-- Interface: E_NOINTERFACE\n");
119}
#define IsEqualIID(riid1, riid2)
◆ IErrorInfoImpl_Release()
Definition at line 129 of file errorinfo.c.
131{
134
136
138 {
139 TRACE(
"-- destroying IErrorInfo(%p)\n",
This);
140
145 }
147}
#define InterlockedDecrement
◆ impl_from_ICreateErrorInfo()
◆ impl_from_IErrorInfo()
◆ impl_from_ISupportErrorInfo()
◆ ISupportErrorInfoImpl_AddRef()
Definition at line 327 of file errorinfo.c.
328{
330 return IErrorInfo_AddRef(&
This->IErrorInfo_iface);
331}
static ErrorInfoImpl * impl_from_ISupportErrorInfo(ISupportErrorInfo *iface)
◆ ISupportErrorInfoImpl_InterfaceSupportsErrorInfo()
◆ ISupportErrorInfoImpl_QueryInterface()
Definition at line 318 of file errorinfo.c.
322{
324 return IErrorInfo_QueryInterface(&
This->IErrorInfo_iface,
riid, ppvoid);
325}
◆ ISupportErrorInfoImpl_Release()
Definition at line 333 of file errorinfo.c.
334{
336 return IErrorInfo_Release(&
This->IErrorInfo_iface);
337}
◆ SetErrorInfo()
Definition at line 455 of file errorinfo.c.
456{
458
460
462 {
465 }
466
467
469 if (pei) IErrorInfo_Release(pei);
470
471
473 if (perrinfo) IErrorInfo_AddRef(perrinfo);
474
476}
Referenced by test_error_info().
◆ WINE_DEFAULT_DEBUG_CHANNEL()
WINE_DEFAULT_DEBUG_CHANNEL |
( |
ole |
| ) |
|
◆ CreateErrorInfoVtbl
const ICreateErrorInfoVtbl CreateErrorInfoVtbl |
|
static |
Initial value:=
{
}
static HRESULT WINAPI ICreateErrorInfoImpl_SetDescription(ICreateErrorInfo *iface, LPOLESTR szDescription)
static HRESULT WINAPI ICreateErrorInfoImpl_SetHelpFile(ICreateErrorInfo *iface, LPOLESTR szHelpFile)
static HRESULT WINAPI ICreateErrorInfoImpl_QueryInterface(ICreateErrorInfo *iface, REFIID riid, VOID **ppvoid)
static HRESULT WINAPI ICreateErrorInfoImpl_SetGUID(ICreateErrorInfo *iface, REFGUID rguid)
static HRESULT WINAPI ICreateErrorInfoImpl_SetSource(ICreateErrorInfo *iface, LPOLESTR szSource)
static ULONG WINAPI ICreateErrorInfoImpl_AddRef(ICreateErrorInfo *iface)
static HRESULT WINAPI ICreateErrorInfoImpl_SetHelpContext(ICreateErrorInfo *iface, DWORD dwHelpContext)
static ULONG WINAPI ICreateErrorInfoImpl_Release(ICreateErrorInfo *iface)
Definition at line 306 of file errorinfo.c.
Referenced by IErrorInfoImpl_Constructor().
◆ ErrorInfoVtbl
const IErrorInfoVtbl ErrorInfoVtbl |
|
static |
Initial value:=
{
}
static HRESULT WINAPI IErrorInfoImpl_GetGUID(IErrorInfo *iface, GUID *pGUID)
static HRESULT WINAPI IErrorInfoImpl_QueryInterface(IErrorInfo *iface, REFIID riid, void **ppvoid)
static ULONG WINAPI IErrorInfoImpl_AddRef(IErrorInfo *iface)
static ULONG WINAPI IErrorInfoImpl_Release(IErrorInfo *iface)
static HRESULT WINAPI IErrorInfoImpl_GetSource(IErrorInfo *iface, BSTR *pBstrSource)
static HRESULT WINAPI IErrorInfoImpl_GetDescription(IErrorInfo *iface, BSTR *pBstrDescription)
static HRESULT WINAPI IErrorInfoImpl_GetHelpContext(IErrorInfo *iface, DWORD *pdwHelpContext)
static HRESULT WINAPI IErrorInfoImpl_GetHelpFile(IErrorInfo *iface, BSTR *pBstrHelpFile)
Definition at line 213 of file errorinfo.c.
Referenced by IErrorInfoImpl_Constructor().
◆ SupportErrorInfoVtbl
const ISupportErrorInfoVtbl SupportErrorInfoVtbl |
|
static |
Initial value:=
{
}
static ULONG WINAPI ISupportErrorInfoImpl_AddRef(ISupportErrorInfo *iface)
static HRESULT WINAPI ISupportErrorInfoImpl_QueryInterface(ISupportErrorInfo *iface, REFIID riid, VOID **ppvoid)
static ULONG WINAPI ISupportErrorInfoImpl_Release(ISupportErrorInfo *iface)
static HRESULT WINAPI ISupportErrorInfoImpl_InterfaceSupportsErrorInfo(ISupportErrorInfo *iface, REFIID riid)
Definition at line 348 of file errorinfo.c.
Referenced by IErrorInfoImpl_Constructor().