ReactOS 0.4.17-dev-934-g091855f
network.c File Reference
#include "dispex.h"
#include "wshom_private.h"
#include "wshom.h"
#include "wine/debug.h"
Include dependency graph for network.c:

Go to the source code of this file.

Macros

#define COBJMACROS
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (wshom)
 
static HRESULT WINAPI WshNetwork2_QueryInterface (IWshNetwork2 *iface, REFIID riid, void **ppv)
 
static ULONG WINAPI WshNetwork2_AddRef (IWshNetwork2 *iface)
 
static ULONG WINAPI WshNetwork2_Release (IWshNetwork2 *iface)
 
static HRESULT WINAPI WshNetwork2_GetTypeInfoCount (IWshNetwork2 *iface, UINT *pctinfo)
 
static HRESULT WINAPI WshNetwork2_GetTypeInfo (IWshNetwork2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
 
static HRESULT WINAPI WshNetwork2_GetIDsOfNames (IWshNetwork2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
 
static HRESULT WINAPI WshNetwork2_Invoke (IWshNetwork2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
 
static HRESULT WINAPI WshNetwork2_get_UserDomain (IWshNetwork2 *iface, BSTR *user_domain)
 
static HRESULT WINAPI WshNetwork2_get_UserName (IWshNetwork2 *iface, BSTR *user_name)
 
static HRESULT WINAPI WshNetwork2_get_UserProfile (IWshNetwork2 *iface, BSTR *user_profile)
 
static HRESULT WINAPI WshNetwork2_get_ComputerName (IWshNetwork2 *iface, BSTR *name)
 
static HRESULT WINAPI WshNetwork2_get_Organization (IWshNetwork2 *iface, BSTR *name)
 
static HRESULT WINAPI WshNetwork2_get_Site (IWshNetwork2 *iface, BSTR *name)
 
static HRESULT WINAPI WshNetwork2_MapNetworkDrive (IWshNetwork2 *iface, BSTR local_name, BSTR remote_name, VARIANT *update_profile, VARIANT *user_name, VARIANT *password)
 
static HRESULT WINAPI WshNetwork2_RemoveNetworkDrive (IWshNetwork2 *iface, BSTR name, VARIANT *force, VARIANT *update_profile)
 
static HRESULT WINAPI WshNetwork2_EnumNetworkDrives (IWshNetwork2 *iface, IWshCollection **ret)
 
static HRESULT WINAPI WshNetwork2_AddPrinterConnection (IWshNetwork2 *iface, BSTR local_name, BSTR remote_name, VARIANT *update_profile, VARIANT *user_name, VARIANT *password)
 
static HRESULT WINAPI WshNetwork2_RemovePrinterConnection (IWshNetwork2 *iface, BSTR name, VARIANT *force, VARIANT *update_profile)
 
static HRESULT WINAPI WshNetwork2_EnumPrinterConnections (IWshNetwork2 *iface, IWshCollection **ret)
 
static HRESULT WINAPI WshNetwork2_SetDefaultPrinter (IWshNetwork2 *iface, BSTR name)
 
static HRESULT WINAPI WshNetwork2_AddWindowsPrinterConnection (IWshNetwork2 *iface, BSTR printer_name, BSTR driver_name, BSTR port)
 
HRESULT WINAPI WshNetworkFactory_CreateInstance (IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
 

Variables

static IWshNetwork2 WshNetwork2 = { &WshNetwork2Vtbl }
 
static const IWshNetwork2Vtbl WshNetwork2Vtbl
 

Macro Definition Documentation

◆ COBJMACROS

#define COBJMACROS

Definition at line 19 of file network.c.

Function Documentation

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( wshom  )

◆ WshNetwork2_AddPrinterConnection()

static HRESULT WINAPI WshNetwork2_AddPrinterConnection ( IWshNetwork2 *  iface,
BSTR  local_name,
BSTR  remote_name,
VARIANT *  update_profile,
VARIANT *  user_name,
VARIANT *  password 
)
static

Definition at line 223 of file network.c.

225{
226 FIXME("%s, %s, %s, %p, %p stub\n", debugstr_w(local_name), debugstr_w(remote_name), debugstr_variant(update_profile),
228
229 return E_NOTIMPL;
230}
#define FIXME(fmt,...)
Definition: precomp.h:53
static UCHAR password[]
Definition: bcrypt.c:520
#define E_NOTIMPL
Definition: ddrawi.h:99
static const char * debugstr_variant(const VARIANT *var)
Definition: dom.c:505
static BSTR local_name(call_frame_t *frame, int ref)
Definition: engine.c:164
#define debugstr_w
Definition: kernel32.h:32
static WCHAR user_name[UNLEN+1]
Definition: access.c:32

◆ WshNetwork2_AddRef()

static ULONG WINAPI WshNetwork2_AddRef ( IWshNetwork2 *  iface)
static

Definition at line 50 of file network.c.

51{
52 TRACE("()\n");
53 return 2;
54}
#define TRACE(s)
Definition: solgame.cpp:4

◆ WshNetwork2_AddWindowsPrinterConnection()

static HRESULT WINAPI WshNetwork2_AddWindowsPrinterConnection ( IWshNetwork2 *  iface,
BSTR  printer_name,
BSTR  driver_name,
BSTR  port 
)
static

Definition at line 253 of file network.c.

255{
256 FIXME("%s, %s, %s stub\n", debugstr_w(printer_name), debugstr_w(driver_name), debugstr_w(port));
257
258 return E_NOTIMPL;
259}
USHORT port
Definition: uri.c:210

◆ WshNetwork2_EnumNetworkDrives()

static HRESULT WINAPI WshNetwork2_EnumNetworkDrives ( IWshNetwork2 *  iface,
IWshCollection **  ret 
)
static

Definition at line 216 of file network.c.

217{
218 FIXME("%p stub\n", ret);
219
220 return E_NOTIMPL;
221}
return ret
Definition: mutex.c:147

◆ WshNetwork2_EnumPrinterConnections()

static HRESULT WINAPI WshNetwork2_EnumPrinterConnections ( IWshNetwork2 *  iface,
IWshCollection **  ret 
)
static

Definition at line 239 of file network.c.

240{
241 FIXME("%p stub\n", ret);
242
243 return E_NOTIMPL;
244}

◆ WshNetwork2_get_ComputerName()

static HRESULT WINAPI WshNetwork2_get_ComputerName ( IWshNetwork2 *  iface,
BSTR *  name 
)
static

Definition at line 158 of file network.c.

159{
160 HRESULT hr = S_OK;
161 DWORD len = 0;
162 BOOL ret;
163
164 TRACE("%p, %p.\n", iface, name);
165
166 if (!name)
167 return E_POINTER;
168
171 if (!*name)
172 return E_OUTOFMEMORY;
173
175 if (!ret)
176 {
179 *name = NULL;
180 return hr;
181 }
182
183 return S_OK;
184}
BOOL WINAPI GetComputerNameW(LPWSTR lpBuffer, LPDWORD lpnSize)
Definition: compname.c:446
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
HRESULT hr
Definition: delayimp.cpp:582
#define NULL
Definition: types.h:112
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
GLenum GLsizei len
Definition: glext.h:6722
#define S_OK
Definition: intsafe.h:52
void WINAPI DECLSPEC_HOTPATCH SysFreeString(BSTR str)
Definition: oleaut.c:273
BSTR WINAPI SysAllocStringLen(const OLECHAR *str, unsigned int len)
Definition: oleaut.c:341
Definition: name.c:39
DWORD WINAPI GetLastError(void)
Definition: except.c:1042
static HRESULT HRESULT_FROM_WIN32(unsigned int x)
Definition: winerror.h:210
#define E_POINTER
Definition: winerror.h:3480

◆ WshNetwork2_get_Organization()

static HRESULT WINAPI WshNetwork2_get_Organization ( IWshNetwork2 *  iface,
BSTR *  name 
)
static

Definition at line 186 of file network.c.

187{
188 FIXME("%p stub\n", name);
189
190 return E_NOTIMPL;
191}

◆ WshNetwork2_get_Site()

static HRESULT WINAPI WshNetwork2_get_Site ( IWshNetwork2 *  iface,
BSTR *  name 
)
static

Definition at line 193 of file network.c.

194{
195 FIXME("%p stub\n", name);
196
197 return E_NOTIMPL;
198}

◆ WshNetwork2_get_UserDomain()

static HRESULT WINAPI WshNetwork2_get_UserDomain ( IWshNetwork2 *  iface,
BSTR *  user_domain 
)
static

Definition at line 115 of file network.c.

116{
117 TRACE("%p, %p.\n", iface, user_domain);
118
119 if (!user_domain)
120 return E_POINTER;
121
122 return get_env_var(L"USERDOMAIN", user_domain);
123}
HRESULT get_env_var(const WCHAR *name, BSTR *value)
Definition: shell.c:546
#define L(x)
Definition: resources.c:13

◆ WshNetwork2_get_UserName()

static HRESULT WINAPI WshNetwork2_get_UserName ( IWshNetwork2 *  iface,
BSTR *  user_name 
)
static

Definition at line 125 of file network.c.

126{
127 BOOL ret;
128 DWORD len = 0;
129
130 TRACE("%p, %p.\n", iface, user_name);
131
132 if (!user_name)
133 return E_POINTER;
134
137 if (!*user_name)
138 return E_OUTOFMEMORY;
139
141 if (!ret) {
144 *user_name = NULL;
145 return hr;
146 }
147
148 return S_OK;
149}
BOOL WINAPI GetUserNameW(LPWSTR lpszName, LPDWORD lpSize)
Definition: misc.c:291

◆ WshNetwork2_get_UserProfile()

static HRESULT WINAPI WshNetwork2_get_UserProfile ( IWshNetwork2 *  iface,
BSTR *  user_profile 
)
static

Definition at line 151 of file network.c.

152{
153 FIXME("%p stub\n", user_profile);
154
155 return E_NOTIMPL;
156}

◆ WshNetwork2_GetIDsOfNames()

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

Definition at line 77 of file network.c.

79{
81 HRESULT hr;
82
83 TRACE("%p, %s, %p, %u, %lx, %p.\n", iface, debugstr_guid(riid), rgszNames, cNames, lcid, rgDispId);
84
86 if(SUCCEEDED(hr))
87 {
88 hr = ITypeInfo_GetIDsOfNames(typeinfo, rgszNames, cNames, rgDispId);
89 ITypeInfo_Release(typeinfo);
90 }
91
92 return hr;
93}
HRESULT get_typeinfo(enum type_id tid, ITypeInfo **ret)
Definition: apps.c:125
LCID lcid
Definition: locale.c:5660
REFIID riid
Definition: atlbase.h:39
#define SUCCEEDED(hr)
Definition: intsafe.h:50
#define debugstr_guid
Definition: kernel32.h:35
@ IWshNetwork2_tid
Definition: wshom_private.h:38

◆ WshNetwork2_GetTypeInfo()

static HRESULT WINAPI WshNetwork2_GetTypeInfo ( IWshNetwork2 *  iface,
UINT  iTInfo,
LCID  lcid,
ITypeInfo **  ppTInfo 
)
static

Definition at line 70 of file network.c.

71{
72 TRACE("%p, %u, %lx, %p.\n", iface, iTInfo, lcid, ppTInfo);
73
74 return get_typeinfo(IWshNetwork2_tid, ppTInfo);
75}

◆ WshNetwork2_GetTypeInfoCount()

static HRESULT WINAPI WshNetwork2_GetTypeInfoCount ( IWshNetwork2 *  iface,
UINT *  pctinfo 
)
static

Definition at line 62 of file network.c.

63{
64 TRACE("(%p)\n", pctinfo);
65
66 *pctinfo = 1;
67 return S_OK;
68}

◆ WshNetwork2_Invoke()

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

Definition at line 95 of file network.c.

97{
99 HRESULT hr;
100
101 TRACE("%p, %ld, %s, %lx, %d, %p, %p, %p, %p.\n", iface, dispIdMember, debugstr_guid(riid),
102 lcid, wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
103
105 if(SUCCEEDED(hr))
106 {
107 hr = ITypeInfo_Invoke(typeinfo, &WshNetwork2, dispIdMember, wFlags,
108 pDispParams, pVarResult, pExcepInfo, puArgErr);
109 ITypeInfo_Release(typeinfo);
110 }
111
112 return hr;
113}
static IWshNetwork2 WshNetwork2
Definition: network.c:29
WINBASEAPI _In_ DWORD _Out_ _In_ WORD wFlags
Definition: wincon_undoc.h:337

◆ WshNetwork2_MapNetworkDrive()

static HRESULT WINAPI WshNetwork2_MapNetworkDrive ( IWshNetwork2 *  iface,
BSTR  local_name,
BSTR  remote_name,
VARIANT *  update_profile,
VARIANT *  user_name,
VARIANT *  password 
)
static

Definition at line 200 of file network.c.

202{
203 FIXME("%s, %s, %s, %p, %p stub\n", debugstr_w(local_name), debugstr_w(remote_name), debugstr_variant(update_profile),
205
206 return E_NOTIMPL;
207}

◆ WshNetwork2_QueryInterface()

static HRESULT WINAPI WshNetwork2_QueryInterface ( IWshNetwork2 *  iface,
REFIID  riid,
void **  ppv 
)
static

Definition at line 31 of file network.c.

32{
33 TRACE("%p, %s, %p.\n", iface, debugstr_guid(riid), ppv);
34
37 IsEqualGUID(riid, &IID_IWshNetwork) ||
38 IsEqualGUID(riid, &IID_IWshNetwork2)) {
39 *ppv = iface;
40 IUnknown_AddRef((IUnknown*)*ppv);
41 return S_OK;
42 }
43 else {
44 WARN("interface not supported %s\n", debugstr_guid(riid));
45 *ppv = NULL;
46 return E_NOINTERFACE;
47 }
48}
#define WARN(fmt,...)
Definition: precomp.h:61
const GUID IID_IUnknown
REFIID LPVOID * ppv
Definition: atlbase.h:39
const GUID IID_IDispatch
#define IsEqualGUID(rguid1, rguid2)
Definition: guiddef.h:147
#define E_NOINTERFACE
Definition: winerror.h:3479

◆ WshNetwork2_Release()

static ULONG WINAPI WshNetwork2_Release ( IWshNetwork2 *  iface)
static

Definition at line 56 of file network.c.

57{
58 TRACE("()\n");
59 return 2;
60}

◆ WshNetwork2_RemoveNetworkDrive()

static HRESULT WINAPI WshNetwork2_RemoveNetworkDrive ( IWshNetwork2 *  iface,
BSTR  name,
VARIANT *  force,
VARIANT *  update_profile 
)
static

Definition at line 209 of file network.c.

210{
211 FIXME("%s, %s, %s stub\n", debugstr_w(name), debugstr_variant(force), debugstr_variant(update_profile));
212
213 return E_NOTIMPL;
214}
BOOL force
Definition: metahost.c:100

◆ WshNetwork2_RemovePrinterConnection()

static HRESULT WINAPI WshNetwork2_RemovePrinterConnection ( IWshNetwork2 *  iface,
BSTR  name,
VARIANT *  force,
VARIANT *  update_profile 
)
static

Definition at line 232 of file network.c.

233{
234 FIXME("%s, %s, %s stub\n", debugstr_w(name), debugstr_variant(force), debugstr_variant(update_profile));
235
236 return E_NOTIMPL;
237}

◆ WshNetwork2_SetDefaultPrinter()

static HRESULT WINAPI WshNetwork2_SetDefaultPrinter ( IWshNetwork2 *  iface,
BSTR  name 
)
static

Definition at line 246 of file network.c.

247{
248 FIXME("%s stub\n", debugstr_w(name));
249
250 return E_NOTIMPL;
251}

◆ WshNetworkFactory_CreateInstance()

HRESULT WINAPI WshNetworkFactory_CreateInstance ( IClassFactory *  iface,
IUnknown *  outer,
REFIID  riid,
void **  ppv 
)

Definition at line 287 of file network.c.

288{
289 TRACE("%p, %s, %p.\n", outer, debugstr_guid(riid), ppv);
290
291 return IWshNetwork2_QueryInterface(&WshNetwork2, riid, ppv);
292}
static IUnknown * outer
Definition: compobj.c:82

Variable Documentation

◆ WshNetwork2

static IWshNetwork2 WshNetwork2 = { &WshNetwork2Vtbl }
static

Definition at line 29 of file network.c.

Referenced by WshNetwork2_Invoke(), and WshNetworkFactory_CreateInstance().

◆ WshNetwork2Vtbl

const IWshNetwork2Vtbl WshNetwork2Vtbl
static
Initial value:
= {
}
static HRESULT WINAPI WshNetwork2_GetIDsOfNames(IWshNetwork2 *iface, REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
Definition: network.c:77
static HRESULT WINAPI WshNetwork2_get_ComputerName(IWshNetwork2 *iface, BSTR *name)
Definition: network.c:158
static HRESULT WINAPI WshNetwork2_get_UserDomain(IWshNetwork2 *iface, BSTR *user_domain)
Definition: network.c:115
static HRESULT WINAPI WshNetwork2_RemoveNetworkDrive(IWshNetwork2 *iface, BSTR name, VARIANT *force, VARIANT *update_profile)
Definition: network.c:209
static HRESULT WINAPI WshNetwork2_SetDefaultPrinter(IWshNetwork2 *iface, BSTR name)
Definition: network.c:246
static HRESULT WINAPI WshNetwork2_Invoke(IWshNetwork2 *iface, DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
Definition: network.c:95
static HRESULT WINAPI WshNetwork2_GetTypeInfoCount(IWshNetwork2 *iface, UINT *pctinfo)
Definition: network.c:62
static HRESULT WINAPI WshNetwork2_MapNetworkDrive(IWshNetwork2 *iface, BSTR local_name, BSTR remote_name, VARIANT *update_profile, VARIANT *user_name, VARIANT *password)
Definition: network.c:200
static HRESULT WINAPI WshNetwork2_QueryInterface(IWshNetwork2 *iface, REFIID riid, void **ppv)
Definition: network.c:31
static HRESULT WINAPI WshNetwork2_get_UserName(IWshNetwork2 *iface, BSTR *user_name)
Definition: network.c:125
static HRESULT WINAPI WshNetwork2_get_UserProfile(IWshNetwork2 *iface, BSTR *user_profile)
Definition: network.c:151
static HRESULT WINAPI WshNetwork2_EnumPrinterConnections(IWshNetwork2 *iface, IWshCollection **ret)
Definition: network.c:239
static HRESULT WINAPI WshNetwork2_get_Organization(IWshNetwork2 *iface, BSTR *name)
Definition: network.c:186
static ULONG WINAPI WshNetwork2_Release(IWshNetwork2 *iface)
Definition: network.c:56
static HRESULT WINAPI WshNetwork2_GetTypeInfo(IWshNetwork2 *iface, UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo)
Definition: network.c:70
static HRESULT WINAPI WshNetwork2_AddPrinterConnection(IWshNetwork2 *iface, BSTR local_name, BSTR remote_name, VARIANT *update_profile, VARIANT *user_name, VARIANT *password)
Definition: network.c:223
static HRESULT WINAPI WshNetwork2_get_Site(IWshNetwork2 *iface, BSTR *name)
Definition: network.c:193
static HRESULT WINAPI WshNetwork2_AddWindowsPrinterConnection(IWshNetwork2 *iface, BSTR printer_name, BSTR driver_name, BSTR port)
Definition: network.c:253
static HRESULT WINAPI WshNetwork2_EnumNetworkDrives(IWshNetwork2 *iface, IWshCollection **ret)
Definition: network.c:216
static ULONG WINAPI WshNetwork2_AddRef(IWshNetwork2 *iface)
Definition: network.c:50
static HRESULT WINAPI WshNetwork2_RemovePrinterConnection(IWshNetwork2 *iface, BSTR name, VARIANT *force, VARIANT *update_profile)
Definition: network.c:232

Definition at line 261 of file network.c.