ReactOS  0.4.15-dev-2956-g61e7ea5
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_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
static const IEnumNetCfgBindingInterfaceVtbl vt_EnumNetCfgBindingInterface
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
if SUCCEEDED(hr)
#define IEnumNetCfgBindingInterface_Release(p)
Definition: netcfgx.h:124
#define IEnumNetCfgBindingInterface_QueryInterface(p, a, b)
Definition: netcfgx.h:122
#define S_OK
Definition: intsafe.h:52
#define E_POINTER
Definition: winerror.h:2365
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426

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
unsigned int ULONG
Definition: retypes.h:1

◆ 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 }
HRESULT WINAPI INetCfgBindingInterface_Constructor(IUnknown *pUnkOuter, REFIID riid, LPVOID *ppv)
HRESULT hr
Definition: shlfolder.c:183
if SUCCEEDED(hr)
#define S_FALSE
Definition: winerror.h:2357
#define E_INVALIDARG
Definition: ddrawi.h:101
LONG HRESULT
Definition: typedefs.h:79
EXTERN_C const IID IID_INetCfgBindingInterface
Definition: netcfgx.h:103
#define E_NOTIMPL
Definition: ddrawi.h:99
#define NULL
Definition: types.h:112
#define E_POINTER
Definition: winerror.h:2365

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
const GUID IID_IUnknown
#define S_OK
Definition: intsafe.h:52
#define NULL
Definition: types.h:112
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95
EXTERN_C const IID IID_IEnumNetCfgBindingInterface
Definition: netcfgx.h:131

◆ 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
unsigned int ULONG
Definition: retypes.h:1

◆ 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 }
#define S_OK
Definition: intsafe.h:52
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define S_FALSE
Definition: winerror.h:2357
#define S_OK
Definition: intsafe.h:52
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
REFIID riid
Definition: precomp.h:44
REFIID LPVOID * ppv
Definition: atlbase.h:39
#define INetCfgBindingInterface_Release(p)
Definition: netcfgx.h:97
#define INetCfgBindingInterface_QueryInterface(p, a, b)
Definition: netcfgx.h:95
#define E_OUTOFMEMORY
Definition: ddrawi.h:100
if SUCCEEDED(hr)
#define S_OK
Definition: intsafe.h:52
static const INetCfgBindingInterfaceVtbl vt_NetCfgBindingInterface
#define E_POINTER
Definition: winerror.h:2365
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
Definition: ifs.c:426

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 }
#define InterlockedIncrement
Definition: armddk.h:53
unsigned int ULONG
Definition: retypes.h:1

◆ 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 }
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define E_NOTIMPL
Definition: ddrawi.h:99

◆ 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 }
#define E_NOINTERFACE
Definition: winerror.h:2364
const GUID IID_IUnknown
EXTERN_C const IID IID_INetCfgBindingInterface
Definition: netcfgx.h:103
#define S_OK
Definition: intsafe.h:52
#define NULL
Definition: types.h:112
#define IsEqualIID(riid1, riid2)
Definition: guiddef.h:95

◆ 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
#define InterlockedDecrement
Definition: armddk.h:52
unsigned int ULONG
Definition: retypes.h:1

Variable Documentation

◆ vt_EnumNetCfgBindingInterface

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

Definition at line 261 of file netcfgbindinginterface_iface.c.

Referenced by IEnumNetCfgBindingInterface_Constructor().

◆ vt_NetCfgBindingInterface

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

Definition at line 93 of file netcfgbindinginterface_iface.c.

Referenced by INetCfgBindingInterface_Constructor().