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.

83 lines
2.7 KiB

  1. //----------------------------------------------------------------------------
  2. //
  3. // Copyright (c) 1997-1999 Microsoft Corporation
  4. // All rights reserved.
  5. //
  6. // Module Name:
  7. //
  8. // netreg.h
  9. //
  10. // Abstract:
  11. //
  12. // Include file for netreg.cpp
  13. //
  14. //----------------------------------------------------------------------------
  15. #ifndef _NETREG_H_
  16. #define _NETREG_H_
  17. #include <winbase.h>
  18. #include <objbase.h>
  19. #include <netcfgx.h>
  20. #include "NetCfgx_I.c"
  21. #include <initguid.h>
  22. #include <devguid.h>
  23. #include "ntsecapi.h"
  24. EXTERN_C const CLSID CLSID_CNetCfg = {0x5B035261,0x40F9,0x11D1,{0xAA,0xEC,0x00,0x80,0x5F,0xC1,0x27,0x0E}};
  25. static HRESULT ChkInterfacePointer( IUnknown* pInterface,
  26. REFIID IID_IInterface );
  27. static HRESULT CreateAndInitNetCfg( INetCfg** ppNetCfg );
  28. EXTERN_C VOID DeleteList( IN OUT NETWORK_ADAPTER_NODE *pNetworkAdapterList );
  29. static HRESULT GetClass( const GUID* pGuid,
  30. INetCfg* pNetCfg,
  31. INetCfgClass** ppNetCfgClass );
  32. static NTSTATUS GetDomainMembershipInfo(BOOL* bDomainMember, TCHAR *szName);
  33. static VOID GetDomainOrWorkgroup( VOID );
  34. static HRESULT GetNetworkAdapterSettings( INetCfg *pNetCfg );
  35. static HRESULT SetupAdapter( NETWORK_ADAPTER_NODE **ppCurrentNode,
  36. INetCfgComponent *pNetCfgComp );
  37. static VOID ReadAdapterSpecificTcpipSettings( IN HKEY hTcpipInterfaceKey,
  38. IN OUT NETWORK_ADAPTER_NODE *pNetAdapter );
  39. static BOOL GetNextIp( IN OUT TCHAR **pszString );
  40. static HRESULT GetClientsInstalled( INetCfg *pNetCfg );
  41. static HRESULT GetProtocolsInstalled( INetCfg *pNetCfg );
  42. static HRESULT GetServicesInstalled( INetCfg *pNetCfg );
  43. static HRESULT InitializeComInterface( const GUID *pGuid,
  44. INetCfg *pNetCfg,
  45. INetCfgClass *pNetCfgClass,
  46. IEnumNetCfgComponent *pEnum,
  47. INetCfgComponent *arrayComp[128],
  48. ULONG* pCount );
  49. static HRESULT InitializeInterfaces( INetCfg** ppNetCfg );
  50. static VOID ReadAppletalkSettingsFromRegistry( IN HKEY *hKey );
  51. static VOID ReadIpxSettingsFromRegistry( IN HKEY *hKey );
  52. static VOID ReadMsClientSettingsFromRegistry( IN HKEY *hKey );
  53. static VOID ReadNetwareSettingsFromRegistry( IN HKEY *hKey );
  54. static VOID ReadTcpipSettingsFromRegistry( IN HKEY *hKey );
  55. static void ReleaseInterfaces( INetCfg* pNetCfg );
  56. static VOID UninitializeComInterface( INetCfgClass *pNetCfgClass,
  57. IEnumNetCfgComponent *pEnum );
  58. #endif