Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#pragma once
#include "nmbase.h"
#include "nmres.h"
extern LONG g_CountLanConnectionEnumerators;
class ATL_NO_VTABLE CLanConnectionManagerEnumConnection : public CComObjectRootEx <CComMultiThreadModel>, public CComCoClass <CLanConnectionManagerEnumConnection, &CLSID_LanConnectionManagerEnumConnection>, public IEnumNetConnection { private: HDEVINFO m_hdi; DWORD m_dwIndex;
public: CLanConnectionManagerEnumConnection() throw() { m_hdi = NULL; m_dwIndex = 0; InterlockedIncrement(&g_CountLanConnectionEnumerators); }
~CLanConnectionManagerEnumConnection() throw();
DECLARE_REGISTRY_RESOURCEID(IDR_LAN_CONMAN_ENUM)
BEGIN_COM_MAP(CLanConnectionManagerEnumConnection) COM_INTERFACE_ENTRY(IEnumNetConnection) END_COM_MAP()
// IEnumNetConnection
STDMETHOD(Next)(IN ULONG celt, OUT INetConnection **rgelt, OUT ULONG *pceltFetched); STDMETHOD(Skip)(IN ULONG celt); STDMETHOD(Reset)(); STDMETHOD(Clone)(OUT IEnumNetConnection **ppenum);
private: //
// Private functions
//
HRESULT HrNextOrSkip(IN ULONG celt, OUT INetConnection **rgelt, OUT ULONG *pceltFetched); HRESULT HrCreateLanConnectionInstance(IN SP_DEVINFO_DATA &deid, OUT INetConnection **rgelt, IN ULONG ulEntry); public: static HRESULT CreateInstance(IN NETCONMGR_ENUM_FLAGS Flags, OUT REFIID riid, OUT TAKEOWNERSHIP LPVOID *ppv); };
//
// Helper functions
//
BOOL FIsValidNetCfgDevice(IN HKEY hkey) throw(); HRESULT HrIsLanCapableAdapterFromHkey(IN HKEY hkey) throw(); BOOL FIsFunctioning(IN const SP_DEVINFO_DATA * pdeid) throw();
|