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

Go to the source code of this file.

Classes

struct  _update_session
 

Macros

#define COBJMACROS
 

Typedefs

typedef struct _update_session update_session
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (wuapi)
 
static update_sessionimpl_from_IUpdateSession (IUpdateSession *iface)
 
static ULONG WINAPI update_session_AddRef (IUpdateSession *iface)
 
static ULONG WINAPI update_session_Release (IUpdateSession *iface)
 
static HRESULT WINAPI update_session_QueryInterface (IUpdateSession *iface, REFIID riid, void **ppvObject)
 
static HRESULT WINAPI update_session_GetTypeInfoCount (IUpdateSession *iface, UINT *pctinfo)
 
static HRESULT WINAPI update_session_GetTypeInfo (IUpdateSession *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI update_session_GetIDsOfNames (IUpdateSession *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI update_session_Invoke (IUpdateSession *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI update_session_get_ClientApplicationID (IUpdateSession *This, BSTR *retval)
 
static HRESULT WINAPI update_session_put_ClientApplicationID (IUpdateSession *This, BSTR value)
 
static HRESULT WINAPI update_session_get_ReadOnly (IUpdateSession *This, VARIANT_BOOL *retval)
 
static HRESULT WINAPI update_session_get_WebProxy (IUpdateSession *This, IWebProxy **retval)
 
static HRESULT WINAPI update_session_put_WebProxy (IUpdateSession *This, IWebProxy *value)
 
static HRESULT WINAPI update_session_CreateUpdateSearcher (IUpdateSession *This, IUpdateSearcher **retval)
 
static HRESULT WINAPI update_session_CreateUpdateDownloader (IUpdateSession *This, IUpdateDownloader **retval)
 
static HRESULT WINAPI update_session_CreateUpdateInstaller (IUpdateSession *This, IUpdateInstaller **retval)
 
HRESULT UpdateSession_create (LPVOID *ppObj)
 

Variables

static const struct IUpdateSessionVtbl update_session_vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 21 of file session.c.

Typedef Documentation

◆ update_session

Function Documentation

◆ impl_from_IUpdateSession()

static update_session* impl_from_IUpdateSession ( IUpdateSession *  iface)
inlinestatic

Definition at line 42 of file session.c.

43 {
44  return CONTAINING_RECORD(iface, update_session, IUpdateSession_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_session_AddRef(), update_session_QueryInterface(), and update_session_Release().

◆ update_session_AddRef()

static ULONG WINAPI update_session_AddRef ( IUpdateSession *  iface)
static

Definition at line 47 of file session.c.

49 {
52 }
#define InterlockedIncrement
Definition: armddk.h:53
static update_session * impl_from_IUpdateSession(IUpdateSession *iface)
Definition: session.c:42

◆ update_session_CreateUpdateDownloader()

static HRESULT WINAPI update_session_CreateUpdateDownloader ( IUpdateSession *  This,
IUpdateDownloader **  retval 
)
static

Definition at line 184 of file session.c.

187 {
188  TRACE("%p\n", This);
189  return UpdateDownloader_create( (LPVOID *)retval );
190 }
HRESULT UpdateDownloader_create(LPVOID *ppObj)
Definition: downloader.c:251
#define TRACE(s)
Definition: solgame.cpp:4

◆ update_session_CreateUpdateInstaller()

static HRESULT WINAPI update_session_CreateUpdateInstaller ( IUpdateSession *  This,
IUpdateInstaller **  retval 
)
static

Definition at line 192 of file session.c.

195 {
196  TRACE("%p\n", This);
197  return UpdateInstaller_create( (LPVOID *)retval );
198 }
HRESULT UpdateInstaller_create(LPVOID *ppObj)
Definition: installer.c:345
#define TRACE(s)
Definition: solgame.cpp:4

◆ update_session_CreateUpdateSearcher()

static HRESULT WINAPI update_session_CreateUpdateSearcher ( IUpdateSession *  This,
IUpdateSearcher **  retval 
)
static

Definition at line 176 of file session.c.

179 {
180  TRACE("%p\n", This);
181  return UpdateSearcher_create( (LPVOID *)retval );
182 }
HRESULT UpdateSearcher_create(LPVOID *ppObj)
Definition: searcher.c:317
#define TRACE(s)
Definition: solgame.cpp:4

◆ update_session_get_ClientApplicationID()

static HRESULT WINAPI update_session_get_ClientApplicationID ( IUpdateSession *  This,
BSTR retval 
)
static

Definition at line 136 of file session.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_session_get_ReadOnly()

static HRESULT WINAPI update_session_get_ReadOnly ( IUpdateSession *  This,
VARIANT_BOOL retval 
)
static

Definition at line 152 of file session.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_session_get_WebProxy()

static HRESULT WINAPI update_session_get_WebProxy ( IUpdateSession *  This,
IWebProxy **  retval 
)
static

Definition at line 160 of file session.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_session_GetIDsOfNames()

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

Definition at line 109 of file session.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_session_GetTypeInfo()

static HRESULT WINAPI update_session_GetTypeInfo ( IUpdateSession *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 99 of file session.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_session_GetTypeInfoCount()

static HRESULT WINAPI update_session_GetTypeInfoCount ( IUpdateSession *  iface,
UINT pctinfo 
)
static

Definition at line 91 of file session.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_session_Invoke()

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

Definition at line 121 of file session.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_session_put_ClientApplicationID()

static HRESULT WINAPI update_session_put_ClientApplicationID ( IUpdateSession *  This,
BSTR  value 
)
static

Definition at line 144 of file session.c.

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

◆ update_session_put_WebProxy()

static HRESULT WINAPI update_session_put_WebProxy ( IUpdateSession *  This,
IWebProxy *  value 
)
static

Definition at line 168 of file session.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_session_QueryInterface()

static HRESULT WINAPI update_session_QueryInterface ( IUpdateSession *  iface,
REFIID  riid,
void **  ppvObject 
)
static

Definition at line 67 of file session.c.

71 {
73 
74  TRACE("%p %s %p\n", This, debugstr_guid( riid ), ppvObject );
75 
76  if ( IsEqualGUID( riid, &IID_IUpdateSession ) ||
79  {
80  *ppvObject = iface;
81  }
82  else
83  {
84  FIXME("interface %s not implemented\n", debugstr_guid(riid));
85  return E_NOINTERFACE;
86  }
87  IUpdateSession_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
#define S_OK
Definition: intsafe.h:51
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
Definition: compobj.c:4112
static update_session * impl_from_IUpdateSession(IUpdateSession *iface)
Definition: session.c:42

◆ update_session_Release()

static ULONG WINAPI update_session_Release ( IUpdateSession *  iface)
static

Definition at line 54 of file session.c.

56 {
59  if (!refs)
60  {
61  TRACE("destroying %p\n", update_session);
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_session * impl_from_IUpdateSession(IUpdateSession *iface)
Definition: session.c:42
#define HeapFree(x, y, z)
Definition: compat.h:594

◆ UpdateSession_create()

HRESULT UpdateSession_create ( LPVOID ppObj)

Definition at line 219 of file session.c.

220 {
222 
223  TRACE("(%p)\n", ppObj);
224 
225  session = HeapAlloc( GetProcessHeap(), 0, sizeof(*session) );
226  if (!session) return E_OUTOFMEMORY;
227 
228  session->IUpdateSession_iface.lpVtbl = &update_session_vtbl;
229  session->refs = 1;
230 
231  *ppObj = &session->IUpdateSession_iface;
232 
233  TRACE("returning iface %p\n", *ppObj);
234  return S_OK;
235 }
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
#define TRACE(s)
Definition: solgame.cpp:4
#define GetProcessHeap()
Definition: compat.h:595
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
static const struct IUpdateSessionVtbl update_session_vtbl
Definition: session.c:200
#define S_OK
Definition: intsafe.h:51

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( wuapi  )

Variable Documentation

◆ update_session_vtbl

const struct IUpdateSessionVtbl update_session_vtbl
static
Initial value:
=
{
}
static HRESULT WINAPI update_session_put_ClientApplicationID(IUpdateSession *This, BSTR value)
Definition: session.c:144
static HRESULT WINAPI update_session_GetIDsOfNames(IUpdateSession *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: session.c:109
static HRESULT WINAPI update_session_get_WebProxy(IUpdateSession *This, IWebProxy **retval)
Definition: session.c:160
static HRESULT WINAPI update_session_get_ReadOnly(IUpdateSession *This, VARIANT_BOOL *retval)
Definition: session.c:152
static HRESULT WINAPI update_session_CreateUpdateInstaller(IUpdateSession *This, IUpdateInstaller **retval)
Definition: session.c:192
static HRESULT WINAPI update_session_CreateUpdateSearcher(IUpdateSession *This, IUpdateSearcher **retval)
Definition: session.c:176
static HRESULT WINAPI update_session_put_WebProxy(IUpdateSession *This, IWebProxy *value)
Definition: session.c:168
static HRESULT WINAPI update_session_GetTypeInfoCount(IUpdateSession *iface, UINT *pctinfo)
Definition: session.c:91
static ULONG WINAPI update_session_Release(IUpdateSession *iface)
Definition: session.c:54
static HRESULT WINAPI update_session_QueryInterface(IUpdateSession *iface, REFIID riid, void **ppvObject)
Definition: session.c:67
static HRESULT WINAPI update_session_Invoke(IUpdateSession *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: session.c:121
static HRESULT WINAPI update_session_GetTypeInfo(IUpdateSession *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: session.c:99
static HRESULT WINAPI update_session_get_ClientApplicationID(IUpdateSession *This, BSTR *retval)
Definition: session.c:136
static HRESULT WINAPI update_session_CreateUpdateDownloader(IUpdateSession *This, IUpdateDownloader **retval)
Definition: session.c:184
static ULONG WINAPI update_session_AddRef(IUpdateSession *iface)
Definition: session.c:47

Definition at line 200 of file session.c.

Referenced by UpdateSession_create().