ReactOS 0.4.15-dev-7889-g76290a6
netcfgbindinginterface_iface.c File Reference
#include "precomp.h"
Include dependency graph for netcfgbindinginterface_iface.c:

Go to the source code of this file.

Classes

struct  INetCfgBindingInterfaceImpl
 
struct  IEnumNetCfgBindingInterfaceImpl
 

Functions

HRESULT WINAPI INetCfgBindingInterface_fnQueryInterface (INetCfgBindingInterface *iface, REFIID iid, LPVOID *ppvObj)
 
ULONG WINAPI INetCfgBindingInterface_fnAddRef (INetCfgBindingInterface *iface)
 
ULONG WINAPI INetCfgBindingInterface_fnRelease (INetCfgBindingInterface *iface)
 
HRESULT WINAPI INetCfgBindingInterface_fnGetName (INetCfgBindingInterface *iface, LPWSTR *ppszwInterfaceName)
 
HRESULT WINAPI INetCfgBindingInterface_fnGetUpperComponent (INetCfgBindingInterface *iface, INetCfgComponent **ppnccItem)
 
HRESULT WINAPI INetCfgBindingInterface_fnGetLowerComponent (INetCfgBindingInterface *iface, INetCfgComponent **ppnccItem)
 
HRESULT WINAPI INetCfgBindingInterface_Constructor (IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
 
HRESULT WINAPI IEnumNetCfgBindingInterface_fnQueryInterface (IEnumNetCfgBindingInterface *iface, REFIID iid, LPVOID *ppvObj)
 
ULONG WINAPI IEnumNetCfgBindingInterface_fnAddRef (IEnumNetCfgBindingInterface *iface)
 
ULONG WINAPI IEnumNetCfgBindingInterface_fnRelease (IEnumNetCfgBindingInterface *iface)
 
HRESULT WINAPI IEnumNetCfgBindingInterface_fnNext (IEnumNetCfgBindingInterface *iface, ULONG celt, INetCfgBindingInterface **rgelt, ULONG *pceltFetched)
 
HRESULT WINAPI IEnumNetCfgBindingInterface_fnSkip (IEnumNetCfgBindingInterface *iface, ULONG celt)
 
HRESULT WINAPI IEnumNetCfgBindingInterface_fnReset (IEnumNetCfgBindingInterface *iface)
 
HRESULT WINAPI IEnumNetCfgBindingInterface_fnClone (IEnumNetCfgBindingInterface *iface, IEnumNetCfgBindingInterface **ppenum)
 
HRESULT WINAPI IEnumNetCfgBindingInterface_Constructor (IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
 

Variables

static const INetCfgBindingInterfaceVtbl vt_NetCfgBindingInterface
 
static const IEnumNetCfgBindingInterfaceVtbl vt_EnumNetCfgBindingInterface
 

Function Documentation

◆ IEnumNetCfgBindingInterface_Constructor()

HRESULT WINAPI IEnumNetCfgBindingInterface_Constructor ( IUnknown pUnkOuter,
REFIID  riid,
LPVOID ppv 
)

Definition at line 274 of file netcfgbindinginterface_iface.c.

275{
277
278 if (!ppv)
279 return E_POINTER;
280
282 if (!This)
283 return E_OUTOFMEMORY;
284
285 This->ref = 1;
286 This->lpVtbl = (const IEnumNetCfgBindingInterface*)&vt_EnumNetCfgBindingInterface;
287#if 0
288 This->pCurrent = pItem;
289 This->pHead = pItem;
290 This->pNCfg = pNCfg;
291#endif
292
293 if (!SUCCEEDED (IEnumNetCfgBindingInterface_QueryInterface((INetCfgBindingInterface*)This, riid, ppv)))
294 {
296 return E_NOINTERFACE;
297 }
298
299 IEnumNetCfgBindingInterface_Release((IEnumNetCfgBindingInterface*)This);
300 return S_OK;
301}
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426
REFIID riid
Definition: atlbase.h:39
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define S_OK
Definition: intsafe.h:52
#define SUCCEEDED(hr)
Definition: intsafe.h:50
static const IEnumNetCfgBindingInterfaceVtbl vt_EnumNetCfgBindingInterface
#define IEnumNetCfgBindingInterface_QueryInterface(p, a, b)
Definition: netcfgx.h:122
#define IEnumNetCfgBindingInterface_Release(p)
Definition: netcfgx.h:124
#define E_NOINTERFACE
Definition: winerror.h:2364
#define E_POINTER
Definition: winerror.h:2365

Referenced by INetCfgBindingPath_fnEnumBindingInterfaces().

◆ IEnumNetCfgBindingInterface_fnAddRef()

ULONG WINAPI IEnumNetCfgBindingInterface_fnAddRef ( IEnumNetCfgBindingInterface *  iface)

Definition at line 159 of file netcfgbindinginterface_iface.c.

161{
163 ULONG refCount = InterlockedIncrement(&This->ref);
164
165 return refCount;
166}
#define InterlockedIncrement
Definition: armddk.h:53
uint32_t ULONG
Definition: typedefs.h:59

◆ IEnumNetCfgBindingInterface_fnClone()

HRESULT WINAPI IEnumNetCfgBindingInterface_fnClone ( IEnumNetCfgBindingInterface *  iface,
IEnumNetCfgBindingInterface **  ppenum 
)

Definition at line 254 of file netcfgbindinginterface_iface.c.

257{
258 return E_NOTIMPL;
259}
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ IEnumNetCfgBindingInterface_fnNext()

HRESULT WINAPI IEnumNetCfgBindingInterface_fnNext ( IEnumNetCfgBindingInterface *  iface,
ULONG  celt,
INetCfgBindingInterface **  rgelt,
ULONG pceltFetched 
)

Definition at line 181 of file netcfgbindinginterface_iface.c.

186{
187#if 0
189 HRESULT hr;
190
191 if (!iface || !rgelt)
192 return E_POINTER;
193
194 if (celt != 1)
195 return E_INVALIDARG;
196
197 if (!This->pCurrent)
198 return S_FALSE;
199
201 if (SUCCEEDED(hr))
202 {
203 This->pCurrent = This->pCurrent->pNext;
204 if (pceltFetched)
205 *pceltFetched = 1;
206 }
207 return hr;
208#endif
209
210 return E_NOTIMPL;
211}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define NULL
Definition: types.h:112
HRESULT WINAPI INetCfgBindingInterface_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
EXTERN_C const IID IID_INetCfgBindingInterface
Definition: netcfgx.h:103
HRESULT hr
Definition: shlfolder.c:183
#define S_FALSE
Definition: winerror.h:2357

◆ IEnumNetCfgBindingInterface_fnQueryInterface()

HRESULT WINAPI IEnumNetCfgBindingInterface_fnQueryInterface ( IEnumNetCfgBindingInterface *  iface,
REFIID  iid,
LPVOID ppvObj 
)

Definition at line 138 of file netcfgbindinginterface_iface.c.

142{
144 *ppvObj = NULL;
145
146 if (IsEqualIID (iid, &IID_IUnknown) ||
148 {
149 *ppvObj = This;
150 return S_OK;
151 }
152
153 return E_NOINTERFACE;
154}
const GUID IID_IUnknown
EXTERN_C const IID IID_IEnumNetCfgBindingInterface
Definition: netcfgx.h:131
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ IEnumNetCfgBindingInterface_fnRelease()

ULONG WINAPI IEnumNetCfgBindingInterface_fnRelease ( IEnumNetCfgBindingInterface *  iface)

Definition at line 170 of file netcfgbindinginterface_iface.c.

172{
174 ULONG refCount = InterlockedDecrement(&This->ref);
175
176 return refCount;
177}
#define InterlockedDecrement
Definition: armddk.h:52

◆ IEnumNetCfgBindingInterface_fnReset()

HRESULT WINAPI IEnumNetCfgBindingInterface_fnReset ( IEnumNetCfgBindingInterface *  iface)

Definition at line 239 of file netcfgbindinginterface_iface.c.

241{
242#if 0
244
245 This->pCurrent = This->pHead;
246 return S_OK;
247#endif
248
249 return E_NOTIMPL;
250}

◆ IEnumNetCfgBindingInterface_fnSkip()

HRESULT WINAPI IEnumNetCfgBindingInterface_fnSkip ( IEnumNetCfgBindingInterface *  iface,
ULONG  celt 
)

Definition at line 215 of file netcfgbindinginterface_iface.c.

218{
219#if 0
221
222 if (!This->pCurrent)
223 return S_FALSE;
224
225 while (celt-- > 0 && This->pCurrent)
226 This->pCurrent = This->pCurrent->pNext;
227
228 if (!celt)
229 return S_OK;
230 else
231 return S_FALSE;
232#endif
233
234 return E_NOTIMPL;
235}

◆ INetCfgBindingInterface_Constructor()

HRESULT WINAPI INetCfgBindingInterface_Constructor ( IUnknown pUnkOuter,
REFIID  riid,
LPVOID ppv 
)

Definition at line 105 of file netcfgbindinginterface_iface.c.

109{
111
112 if (!ppv)
113 return E_POINTER;
114
116 if (!This)
117 return E_OUTOFMEMORY;
118
119 This->ref = 1;
120 This->lpVtbl = (const INetCfgBindingInterface*)&vt_NetCfgBindingInterface;
121
122 if (!SUCCEEDED(INetCfgBindingInterface_QueryInterface((INetCfgBindingInterface*)This, riid, ppv)))
123 {
124 return E_NOINTERFACE;
125 }
126
127 INetCfgBindingInterface_Release((INetCfgBindingInterface*)This);
128 return S_OK;
129}
static const INetCfgBindingInterfaceVtbl vt_NetCfgBindingInterface
#define INetCfgBindingInterface_Release(p)
Definition: netcfgx.h:97
#define INetCfgBindingInterface_QueryInterface(p, a, b)
Definition: netcfgx.h:95

Referenced by IEnumNetCfgBindingInterface_fnNext().

◆ INetCfgBindingInterface_fnAddRef()

ULONG WINAPI INetCfgBindingInterface_fnAddRef ( INetCfgBindingInterface *  iface)

Definition at line 42 of file netcfgbindinginterface_iface.c.

44{
46 ULONG refCount = InterlockedIncrement(&This->ref);
47
48 return refCount;
49}

◆ INetCfgBindingInterface_fnGetLowerComponent()

HRESULT WINAPI INetCfgBindingInterface_fnGetLowerComponent ( INetCfgBindingInterface *  iface,
INetCfgComponent **  ppnccItem 
)

Definition at line 86 of file netcfgbindinginterface_iface.c.

89{
90 return E_NOTIMPL;
91}

◆ INetCfgBindingInterface_fnGetName()

HRESULT WINAPI INetCfgBindingInterface_fnGetName ( INetCfgBindingInterface *  iface,
LPWSTR ppszwInterfaceName 
)

Definition at line 68 of file netcfgbindinginterface_iface.c.

71{
72 return E_NOTIMPL;
73}

◆ INetCfgBindingInterface_fnGetUpperComponent()

HRESULT WINAPI INetCfgBindingInterface_fnGetUpperComponent ( INetCfgBindingInterface *  iface,
INetCfgComponent **  ppnccItem 
)

Definition at line 77 of file netcfgbindinginterface_iface.c.

80{
81 return E_NOTIMPL;
82}

◆ INetCfgBindingInterface_fnQueryInterface()

HRESULT WINAPI INetCfgBindingInterface_fnQueryInterface ( INetCfgBindingInterface *  iface,
REFIID  iid,
LPVOID ppvObj 
)

Definition at line 22 of file netcfgbindinginterface_iface.c.

26{
28 *ppvObj = NULL;
29
30 if (IsEqualIID (iid, &IID_IUnknown) ||
32 {
33 *ppvObj = This;
34 return S_OK;
35 }
36
37 return E_NOINTERFACE;
38}

◆ INetCfgBindingInterface_fnRelease()

ULONG WINAPI INetCfgBindingInterface_fnRelease ( INetCfgBindingInterface *  iface)

Definition at line 53 of file netcfgbindinginterface_iface.c.

55{
57 ULONG refCount = InterlockedDecrement(&This->ref);
58
59 if (!refCount)
60 {
62 }
63 return refCount;
64}
VOID WINAPI CoTaskMemFree(LPVOID ptr)
Definition: ifs.c:442

Variable Documentation

◆ vt_EnumNetCfgBindingInterface

const IEnumNetCfgBindingInterfaceVtbl vt_EnumNetCfgBindingInterface
static
Initial value:
=
{
}
HRESULT WINAPI IEnumNetCfgBindingInterface_fnClone(IEnumNetCfgBindingInterface *iface, IEnumNetCfgBindingInterface **ppenum)
HRESULT WINAPI IEnumNetCfgBindingInterface_fnReset(IEnumNetCfgBindingInterface *iface)
HRESULT WINAPI IEnumNetCfgBindingInterface_fnNext(IEnumNetCfgBindingInterface *iface, ULONG celt, INetCfgBindingInterface **rgelt, ULONG *pceltFetched)
HRESULT WINAPI IEnumNetCfgBindingInterface_fnQueryInterface(IEnumNetCfgBindingInterface *iface, REFIID iid, LPVOID *ppvObj)
ULONG WINAPI IEnumNetCfgBindingInterface_fnAddRef(IEnumNetCfgBindingInterface *iface)
ULONG WINAPI IEnumNetCfgBindingInterface_fnRelease(IEnumNetCfgBindingInterface *iface)
HRESULT WINAPI IEnumNetCfgBindingInterface_fnSkip(IEnumNetCfgBindingInterface *iface, ULONG celt)

Definition at line 261 of file netcfgbindinginterface_iface.c.

Referenced by IEnumNetCfgBindingInterface_Constructor().

◆ vt_NetCfgBindingInterface

const INetCfgBindingInterfaceVtbl vt_NetCfgBindingInterface
static
Initial value:
=
{
}
HRESULT WINAPI INetCfgBindingInterface_fnGetLowerComponent(INetCfgBindingInterface *iface, INetCfgComponent **ppnccItem)
HRESULT WINAPI INetCfgBindingInterface_fnGetUpperComponent(INetCfgBindingInterface *iface, INetCfgComponent **ppnccItem)
HRESULT WINAPI INetCfgBindingInterface_fnGetName(INetCfgBindingInterface *iface, LPWSTR *ppszwInterfaceName)
HRESULT WINAPI INetCfgBindingInterface_fnQueryInterface(INetCfgBindingInterface *iface, REFIID iid, LPVOID *ppvObj)
ULONG WINAPI INetCfgBindingInterface_fnAddRef(INetCfgBindingInterface *iface)
ULONG WINAPI INetCfgBindingInterface_fnRelease(INetCfgBindingInterface *iface)

Definition at line 93 of file netcfgbindinginterface_iface.c.

Referenced by INetCfgBindingInterface_Constructor().