ReactOS  0.4.15-dev-1386-g5cb9f87
installer.c File Reference
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "ole2.h"
#include "wuapi.h"
#include "wuapi_private.h"
#include "wine/debug.h"
Include dependency graph for installer.c:

Go to the source code of this file.

Classes

struct  _update_installer
 

Macros

#define COBJMACROS
 

Typedefs

typedef struct _update_installer update_installer
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (wuapi)
 
static update_installerimpl_from_IUpdateInstaller (IUpdateInstaller *iface)
 
static ULONG WINAPI update_installer_AddRef (IUpdateInstaller *iface)
 
static ULONG WINAPI update_installer_Release (IUpdateInstaller *iface)
 
static HRESULT WINAPI update_installer_QueryInterface (IUpdateInstaller *iface, REFIID riid, void **ppvObject)
 
static HRESULT WINAPI update_installer_GetTypeInfoCount (IUpdateInstaller *iface, UINT *pctinfo)
 
static HRESULT WINAPI update_installer_GetTypeInfo (IUpdateInstaller *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI update_installer_GetIDsOfNames (IUpdateInstaller *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI update_installer_Invoke (IUpdateInstaller *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI update_installer_get_ClientApplicationID (IUpdateInstaller *This, BSTR *retval)
 
static HRESULT WINAPI update_installer_put_ClientApplicationID (IUpdateInstaller *This, BSTR value)
 
static HRESULT WINAPI update_installer_get_IsForced (IUpdateInstaller *This, VARIANT_BOOL *retval)
 
static HRESULT WINAPI update_installer_put_IsForced (IUpdateInstaller *This, VARIANT_BOOL value)
 
static HRESULT WINAPI update_installer_get_ParentHwnd (IUpdateInstaller *This, HWND *retval)
 
static HRESULT WINAPI update_installer_put_ParentHwnd (IUpdateInstaller *This, HWND value)
 
static HRESULT WINAPI update_installer_put_ParentWindow (IUpdateInstaller *This, IUnknown *value)
 
static HRESULT WINAPI update_installer_get_ParentWindow (IUpdateInstaller *This, IUnknown **retval)
 
static HRESULT WINAPI update_installer_get_Updates (IUpdateInstaller *This, IUpdateCollection **retval)
 
static HRESULT WINAPI update_installer_put_Updates (IUpdateInstaller *This, IUpdateCollection *value)
 
static HRESULT WINAPI update_installer_BeginInstall (IUpdateInstaller *This, IUnknown *onProgressChanged, IUnknown *onCompleted, VARIANT state, IInstallationJob **retval)
 
static HRESULT WINAPI update_installer_BeginUninstall (IUpdateInstaller *This, IUnknown *onProgressChanged, IUnknown *onCompleted, VARIANT state, IInstallationJob **retval)
 
static HRESULT WINAPI update_installer_EndInstall (IUpdateInstaller *This, IInstallationJob *value, IInstallationResult **retval)
 
static HRESULT WINAPI update_installer_EndUninstall (IUpdateInstaller *This, IInstallationJob *value, IInstallationResult **retval)
 
static HRESULT WINAPI update_installer_Install (IUpdateInstaller *This, IInstallationResult **retval)
 
static HRESULT WINAPI update_installer_RunWizard (IUpdateInstaller *This, BSTR dialogTitle, IInstallationResult **retval)
 
static HRESULT WINAPI update_installer_get_IsBusy (IUpdateInstaller *This, VARIANT_BOOL *retval)
 
static HRESULT WINAPI update_installer_Uninstall (IUpdateInstaller *This, IInstallationResult **retval)
 
static HRESULT WINAPI update_installer_get_AllowSourcePrompts (IUpdateInstaller *This, VARIANT_BOOL *retval)
 
static HRESULT WINAPI update_installer_put_AllowSourcePrompts (IUpdateInstaller *This, VARIANT_BOOL value)
 
static HRESULT WINAPI update_installer_get_RebootRequiredBeforeInstallation (IUpdateInstaller *This, VARIANT_BOOL *retval)
 
HRESULT UpdateInstaller_create (LPVOID *ppObj)
 

Variables

static const struct IUpdateInstallerVtbl update_installer_vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 21 of file installer.c.

Typedef Documentation

◆ update_installer

Function Documentation

◆ impl_from_IUpdateInstaller()

static update_installer* impl_from_IUpdateInstaller ( IUpdateInstaller *  iface)
inlinestatic

Definition at line 42 of file installer.c.

43 {
44  return CONTAINING_RECORD(iface, update_installer, IUpdateInstaller_iface);
45 }
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
Definition: Messaging.c:560

Referenced by update_installer_AddRef(), update_installer_QueryInterface(), and update_installer_Release().

◆ update_installer_AddRef()

static ULONG WINAPI update_installer_AddRef ( IUpdateInstaller *  iface)
static

Definition at line 47 of file installer.c.

49 {
52 }
static update_installer * impl_from_IUpdateInstaller(IUpdateInstaller *iface)
Definition: installer.c:42
#define InterlockedIncrement
Definition: armddk.h:53

◆ update_installer_BeginInstall()

static HRESULT WINAPI update_installer_BeginInstall ( IUpdateInstaller *  This,
IUnknown onProgressChanged,
IUnknown onCompleted,
VARIANT  state,
IInstallationJob **  retval 
)
static

Definition at line 216 of file installer.c.

222 {
223  FIXME("\n");
224  return E_NOTIMPL;
225 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_BeginUninstall()

static HRESULT WINAPI update_installer_BeginUninstall ( IUpdateInstaller *  This,
IUnknown onProgressChanged,
IUnknown onCompleted,
VARIANT  state,
IInstallationJob **  retval 
)
static

Definition at line 227 of file installer.c.

233 {
234  FIXME("\n");
235  return E_NOTIMPL;
236 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_EndInstall()

static HRESULT WINAPI update_installer_EndInstall ( IUpdateInstaller *  This,
IInstallationJob *  value,
IInstallationResult **  retval 
)
static

Definition at line 238 of file installer.c.

242 {
243  FIXME("\n");
244  return E_NOTIMPL;
245 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_EndUninstall()

static HRESULT WINAPI update_installer_EndUninstall ( IUpdateInstaller *  This,
IInstallationJob *  value,
IInstallationResult **  retval 
)
static

Definition at line 247 of file installer.c.

251 {
252  FIXME("\n");
253  return E_NOTIMPL;
254 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_get_AllowSourcePrompts()

static HRESULT WINAPI update_installer_get_AllowSourcePrompts ( IUpdateInstaller *  This,
VARIANT_BOOL retval 
)
static

Definition at line 289 of file installer.c.

292 {
293  FIXME("\n");
294  return E_NOTIMPL;
295 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_get_ClientApplicationID()

static HRESULT WINAPI update_installer_get_ClientApplicationID ( IUpdateInstaller *  This,
BSTR retval 
)
static

Definition at line 136 of file installer.c.

139 {
140  FIXME("\n");
141  return E_NOTIMPL;
142 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_get_IsBusy()

static HRESULT WINAPI update_installer_get_IsBusy ( IUpdateInstaller *  This,
VARIANT_BOOL retval 
)
static

Definition at line 273 of file installer.c.

276 {
277  FIXME("\n");
278  return E_NOTIMPL;
279 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_get_IsForced()

static HRESULT WINAPI update_installer_get_IsForced ( IUpdateInstaller *  This,
VARIANT_BOOL retval 
)
static

Definition at line 152 of file installer.c.

155 {
156  FIXME("\n");
157  return E_NOTIMPL;
158 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_get_ParentHwnd()

static HRESULT WINAPI update_installer_get_ParentHwnd ( IUpdateInstaller *  This,
HWND retval 
)
static

Definition at line 168 of file installer.c.

171 {
172  FIXME("\n");
173  return E_NOTIMPL;
174 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_get_ParentWindow()

static HRESULT WINAPI update_installer_get_ParentWindow ( IUpdateInstaller *  This,
IUnknown **  retval 
)
static

Definition at line 192 of file installer.c.

195 {
196  FIXME("\n");
197  return E_NOTIMPL;
198 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_get_RebootRequiredBeforeInstallation()

static HRESULT WINAPI update_installer_get_RebootRequiredBeforeInstallation ( IUpdateInstaller *  This,
VARIANT_BOOL retval 
)
static

Definition at line 305 of file installer.c.

308 {
309  FIXME("\n");
310  return E_NOTIMPL;
311 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_get_Updates()

static HRESULT WINAPI update_installer_get_Updates ( IUpdateInstaller *  This,
IUpdateCollection **  retval 
)
static

Definition at line 200 of file installer.c.

203 {
204  FIXME("\n");
205  return E_NOTIMPL;
206 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_GetIDsOfNames()

static HRESULT WINAPI update_installer_GetIDsOfNames ( IUpdateInstaller *  iface,
REFIID  riid,
LPOLESTR rgszNames,
UINT  cNames,
LCID  lcid,
DISPID rgDispId 
)
static

Definition at line 109 of file installer.c.

116 {
117  FIXME("\n");
118  return E_NOTIMPL;
119 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_GetTypeInfo()

static HRESULT WINAPI update_installer_GetTypeInfo ( IUpdateInstaller *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 99 of file installer.c.

104 {
105  FIXME("\n");
106  return E_NOTIMPL;
107 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_GetTypeInfoCount()

static HRESULT WINAPI update_installer_GetTypeInfoCount ( IUpdateInstaller *  iface,
UINT pctinfo 
)
static

Definition at line 91 of file installer.c.

94 {
95  FIXME("\n");
96  return E_NOTIMPL;
97 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_Install()

static HRESULT WINAPI update_installer_Install ( IUpdateInstaller *  This,
IInstallationResult **  retval 
)
static

Definition at line 256 of file installer.c.

259 {
260  FIXME("\n");
261  return E_NOTIMPL;
262 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_Invoke()

static HRESULT WINAPI update_installer_Invoke ( IUpdateInstaller *  iface,
DISPID  dispIdMember,
REFIID  riid,
LCID  lcid,
WORD  wFlags,
DISPPARAMS *  pDispParams,
VARIANT pVarResult,
EXCEPINFO *  pExcepInfo,
UINT puArgErr 
)
static

Definition at line 121 of file installer.c.

131 {
132  FIXME("\n");
133  return E_NOTIMPL;
134 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_put_AllowSourcePrompts()

static HRESULT WINAPI update_installer_put_AllowSourcePrompts ( IUpdateInstaller *  This,
VARIANT_BOOL  value 
)
static

Definition at line 297 of file installer.c.

300 {
301  FIXME("\n");
302  return E_NOTIMPL;
303 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_put_ClientApplicationID()

static HRESULT WINAPI update_installer_put_ClientApplicationID ( IUpdateInstaller *  This,
BSTR  value 
)
static

Definition at line 144 of file installer.c.

147 {
148  FIXME("%p, %s\n", This, debugstr_w(value));
149  return E_NOTIMPL;
150 }
#define debugstr_w
Definition: kernel32.h:32
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_put_IsForced()

static HRESULT WINAPI update_installer_put_IsForced ( IUpdateInstaller *  This,
VARIANT_BOOL  value 
)
static

Definition at line 160 of file installer.c.

163 {
164  FIXME("\n");
165  return E_NOTIMPL;
166 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_put_ParentHwnd()

static HRESULT WINAPI update_installer_put_ParentHwnd ( IUpdateInstaller *  This,
HWND  value 
)
static

Definition at line 176 of file installer.c.

179 {
180  FIXME("\n");
181  return E_NOTIMPL;
182 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_put_ParentWindow()

static HRESULT WINAPI update_installer_put_ParentWindow ( IUpdateInstaller *  This,
IUnknown value 
)
static

Definition at line 184 of file installer.c.

187 {
188  FIXME("\n");
189  return E_NOTIMPL;
190 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_put_Updates()

static HRESULT WINAPI update_installer_put_Updates ( IUpdateInstaller *  This,
IUpdateCollection *  value 
)
static

Definition at line 208 of file installer.c.

211 {
212  FIXME("\n");
213  return E_NOTIMPL;
214 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_QueryInterface()

static HRESULT WINAPI update_installer_QueryInterface ( IUpdateInstaller *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 67 of file installer.c.

71 {
73 
74  TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
75 
76  if ( IsEqualGUID( riid, &IID_IUpdateInstaller ) ||
79  {
80  *ppvObject = iface;
81  }
82  else
83  {
84  FIXME("interface %s not implemented\n", debugstr_guid(riid));
85  return E_NOINTERFACE;
86  }
87  IUpdateInstaller_AddRef( iface );
88  return S_OK;
89 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
#define FIXME(fmt,...)
Definition: debug.h:111
#define debugstr_guid
Definition: kernel32.h:35
#define TRACE(s)
Definition: solgame.cpp:4
const GUID IID_IUnknown
const GUID IID_IDispatch
REFIID LPVOID * ppvObject
Definition: precomp.h:44
static update_installer * impl_from_IUpdateInstaller(IUpdateInstaller *iface)
Definition: installer.c:42
#define S_OK
Definition: intsafe.h:51
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112

◆ update_installer_Release()

static ULONG WINAPI update_installer_Release ( IUpdateInstaller *  iface)
static

Definition at line 54 of file installer.c.

56 {
59  if (!refs)
60  {
61  TRACE("destroying %p\n", update_installer);
63  }
64  return refs;
65 }
long LONG
Definition: pedump.c:60
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
#define InterlockedDecrement
Definition: armddk.h:52
static update_installer * impl_from_IUpdateInstaller(IUpdateInstaller *iface)
Definition: installer.c:42
#define HeapFree(x, y, z)
Definition: compat.h:594

◆ update_installer_RunWizard()

static HRESULT WINAPI update_installer_RunWizard ( IUpdateInstaller *  This,
BSTR  dialogTitle,
IInstallationResult **  retval 
)
static

Definition at line 264 of file installer.c.

268 {
269  FIXME("\n");
270  return E_NOTIMPL;
271 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ update_installer_Uninstall()

static HRESULT WINAPI update_installer_Uninstall ( IUpdateInstaller *  This,
IInstallationResult **  retval 
)
static

Definition at line 281 of file installer.c.

284 {
285  FIXME("\n");
286  return E_NOTIMPL;
287 }
#define FIXME(fmt,...)
Definition: debug.h:111
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ UpdateInstaller_create()

HRESULT UpdateInstaller_create ( LPVOID ppObj)

Definition at line 345 of file installer.c.

346 {
347  update_installer *installer;
348 
349  TRACE("(%p)\n", ppObj);
350 
351  installer = HeapAlloc( GetProcessHeap(), 0, sizeof(*installer) );
352  if (!installer) return E_OUTOFMEMORY;
353 
354  installer->IUpdateInstaller_iface.lpVtbl = &update_installer_vtbl;
355  installer->refs = 1;
356 
357  *ppObj = &installer->IUpdateInstaller_iface;
358 
359  TRACE("returning iface %p\n", *ppObj);
360  return S_OK;
361 }
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
IUpdateInstaller IUpdateInstaller_iface
Definition: installer.c:38
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const struct IUpdateInstallerVtbl update_installer_vtbl
Definition: installer.c:313
#define S_OK
Definition: intsafe.h:51

Referenced by update_session_CreateUpdateInstaller().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( wuapi  )

Variable Documentation

◆ update_installer_vtbl

const struct IUpdateInstallerVtbl update_installer_vtbl
static

Definition at line 313 of file installer.c.

Referenced by UpdateInstaller_create().