mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 09:25:10 +00:00
[NETCFGX]
Implement INetCfgPnpReconfigCallback stub. svn path=/trunk/; revision=70379
This commit is contained in:
parent
01f08ca699
commit
93d31d0934
1 changed files with 72 additions and 0 deletions
|
@ -4,6 +4,7 @@ typedef struct
|
|||
{
|
||||
const INetCfg * lpVtbl;
|
||||
const INetCfgLock * lpVtblLock;
|
||||
const INetCfgPnpReconfigCallback *lpVtblPnpReconfigCallback;
|
||||
LONG ref;
|
||||
BOOL bInitialized;
|
||||
HANDLE hMutex;
|
||||
|
@ -18,6 +19,10 @@ static __inline LPINetCfgImpl impl_from_INetCfgLock(INetCfgLock *iface)
|
|||
return (INetCfgImpl*)((char *)iface - FIELD_OFFSET(INetCfgImpl, lpVtblLock));
|
||||
}
|
||||
|
||||
static __inline LPINetCfgImpl impl_from_INetCfgPnpReconfigCallback(INetCfgPnpReconfigCallback *iface)
|
||||
{
|
||||
return (INetCfgImpl*)((char *)iface - FIELD_OFFSET(INetCfgImpl, lpVtblPnpReconfigCallback));
|
||||
}
|
||||
|
||||
|
||||
HRESULT
|
||||
|
@ -160,6 +165,63 @@ static const INetCfgLockVtbl vt_NetCfgLock =
|
|||
INetCfgLock_fnIsWriteLocked
|
||||
};
|
||||
|
||||
/***************************************************************
|
||||
* INetCfgPnpReconfigCallback
|
||||
*/
|
||||
|
||||
HRESULT
|
||||
WINAPI
|
||||
INetCfgPnpReconfigCallback_fnQueryInterface(
|
||||
INetCfgPnpReconfigCallback * iface,
|
||||
REFIID iid,
|
||||
LPVOID * ppvObj)
|
||||
{
|
||||
INetCfgImpl * This = impl_from_INetCfgPnpReconfigCallback(iface);
|
||||
return INetCfg_QueryInterface((INetCfg*)This, iid, ppvObj);
|
||||
}
|
||||
|
||||
ULONG
|
||||
WINAPI
|
||||
INetCfgPnpReconfigCallback_fnAddRef(
|
||||
INetCfgPnpReconfigCallback * iface)
|
||||
{
|
||||
INetCfgImpl * This = impl_from_INetCfgPnpReconfigCallback(iface);
|
||||
|
||||
return INetCfg_AddRef((INetCfg*)This);
|
||||
}
|
||||
|
||||
ULONG
|
||||
WINAPI
|
||||
INetCfgPnpReconfigCallback_fnRelease(
|
||||
INetCfgPnpReconfigCallback * iface)
|
||||
{
|
||||
INetCfgImpl * This = impl_from_INetCfgPnpReconfigCallback(iface);
|
||||
return INetCfg_Release((INetCfg*)This);
|
||||
}
|
||||
|
||||
HRESULT
|
||||
WINAPI
|
||||
INetCfgPnpReconfigCallback_fnSendPnpReconfig(
|
||||
INetCfgPnpReconfigCallback * iface,
|
||||
NCPNP_RECONFIG_LAYER Layer,
|
||||
LPCWSTR pszwUpper,
|
||||
LPCWSTR pszwLower,
|
||||
PVOID pvData,
|
||||
DWORD dwSizeOfData)
|
||||
{
|
||||
/* FIXME */
|
||||
return E_NOTIMPL;
|
||||
}
|
||||
|
||||
static const INetCfgPnpReconfigCallbackVtbl vt_NetCfgPnpReconfigCallback =
|
||||
{
|
||||
INetCfgPnpReconfigCallback_fnQueryInterface,
|
||||
INetCfgPnpReconfigCallback_fnAddRef,
|
||||
INetCfgPnpReconfigCallback_fnRelease,
|
||||
INetCfgPnpReconfigCallback_fnSendPnpReconfig
|
||||
};
|
||||
|
||||
|
||||
/***************************************************************
|
||||
* INetCfg
|
||||
*/
|
||||
|
@ -466,6 +528,15 @@ INetCfg_fnQueryInterface(
|
|||
INetCfgLock_AddRef(iface);
|
||||
return S_OK;
|
||||
}
|
||||
else if (IsEqualIID (iid, &IID_INetCfgPnpReconfigCallback))
|
||||
{
|
||||
if (This->bInitialized)
|
||||
return NETCFG_E_ALREADY_INITIALIZED;
|
||||
|
||||
*ppvObj = (LPVOID)&This->lpVtblPnpReconfigCallback;
|
||||
INetCfgPnpReconfigCallback_AddRef(iface);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
return E_NOINTERFACE;
|
||||
}
|
||||
|
@ -721,6 +792,7 @@ HRESULT WINAPI INetCfg_Constructor (IUnknown * pUnkOuter, REFIID riid, LPVOID *
|
|||
This->ref = 1;
|
||||
This->lpVtbl = (const INetCfg*)&vt_NetCfg;
|
||||
This->lpVtblLock = (const INetCfgLock*)&vt_NetCfgLock;
|
||||
This->lpVtblPnpReconfigCallback = (const INetCfgPnpReconfigCallback*)&vt_NetCfgPnpReconfigCallback;
|
||||
This->hMutex = NULL;
|
||||
This->bInitialized = FALSE;
|
||||
This->pNet = NULL;
|
||||
|
|
Loading…
Reference in a new issue