ReactOS 0.4.15-dev-7846-g8ba6c66
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}
#define CONTAINING_RECORD(address, type, field)
Definition: typedefs.h:260

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

◆ 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

◆ 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}

◆ 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}

◆ 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}

◆ 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}

◆ 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}

◆ 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}

◆ 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 S_OK
Definition: intsafe.h:52
#define debugstr_w
Definition: kernel32.h:32
Definition: pdh_main.c:94

◆ 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}

◆ 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}
const GUID IID_IUnknown
REFIID riid
Definition: atlbase.h:39
#define debugstr_guid
Definition: kernel32.h:35
const GUID IID_IDispatch
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
_In_ void _In_ PCCERT_CONTEXT _In_opt_ LPFILETIME _In_ DWORD _In_ DWORD _Outptr_opt_ void ** ppvObject
Definition: wincrypt.h:6082
#define E_NOINTERFACE
Definition: winerror.h:2364

◆ 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}
#define InterlockedDecrement
Definition: armddk.h:52
#define GetProcessHeap()
Definition: compat.h:736
#define HeapFree(x, y, z)
Definition: compat.h:735
long LONG
Definition: pedump.c:60

◆ 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 HeapAlloc
Definition: compat.h:733
static const struct IUpdateSessionVtbl update_session_vtbl
Definition: session.c:200

◆ 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 ULONG WINAPI update_session_Release(IUpdateSession *iface)
Definition: session.c:54
static HRESULT WINAPI update_session_get_ReadOnly(IUpdateSession *This, VARIANT_BOOL *retval)
Definition: session.c:152
static HRESULT WINAPI update_session_GetTypeInfoCount(IUpdateSession *iface, UINT *pctinfo)
Definition: session.c:91
static HRESULT WINAPI update_session_CreateUpdateSearcher(IUpdateSession *This, IUpdateSearcher **retval)
Definition: session.c:176
static HRESULT WINAPI update_session_CreateUpdateInstaller(IUpdateSession *This, IUpdateInstaller **retval)
Definition: session.c:192
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_ClientApplicationID(IUpdateSession *This, BSTR *retval)
Definition: session.c:136
static ULONG WINAPI update_session_AddRef(IUpdateSession *iface)
Definition: session.c:47
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_QueryInterface(IUpdateSession *iface, REFIID riid, void **ppvObject)
Definition: session.c:67
static HRESULT WINAPI update_session_GetTypeInfo(IUpdateSession *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: session.c:99
static HRESULT WINAPI update_session_CreateUpdateDownloader(IUpdateSession *This, IUpdateDownloader **retval)
Definition: session.c:184
static HRESULT WINAPI update_session_put_WebProxy(IUpdateSession *This, IWebProxy *value)
Definition: session.c:168

Definition at line 200 of file session.c.

Referenced by UpdateSession_create().