Source code of Windows XP (NT5)
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() { m_hdi = NULL; m_dwIndex = 0; InterlockedIncrement(&g_CountLanConnectionEnumerators); }
~CLanConnectionManagerEnumConnection();
DECLARE_REGISTRY_RESOURCEID(IDR_LAN_CONMAN_ENUM)
BEGIN_COM_MAP(CLanConnectionManagerEnumConnection) COM_INTERFACE_ENTRY(IEnumNetConnection) END_COM_MAP()
// IEnumNetConnection
STDMETHOD(Next)(ULONG celt, INetConnection **rgelt, ULONG *pceltFetched); STDMETHOD(Skip)(ULONG celt); STDMETHOD(Reset)(); STDMETHOD(Clone)(IEnumNetConnection **ppenum);
private: //
// Private functions
//
HRESULT HrNextOrSkip(ULONG celt, INetConnection **rgelt, ULONG *pceltFetched); HRESULT HrCreateLanConnectionInstance(SP_DEVINFO_DATA &deid, INetConnection **rgelt, ULONG ulEntry); public: static HRESULT CreateInstance(NETCONMGR_ENUM_FLAGS Flags, REFIID riid, LPVOID *ppv); };
//
// Helper functions
//
BOOL FIsValidNetCfgDevice(HKEY hkey); HRESULT HrIsLanCapableAdapterFromHkey(HKEY hkey); BOOL FIsFunctioning(SP_DEVINFO_DATA * pdeid);
|