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.

83 lines
2.7 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 2001.
  5. //
  6. // File: N E T C F G A P I . H
  7. //
  8. // Contents: Functions Prototypes
  9. //
  10. // Notes:
  11. //
  12. // Author: Alok Sinha 15-May-01
  13. //
  14. //----------------------------------------------------------------------------
  15. #ifndef _NETCFGAPI_H_INCLUDED
  16. #define _NETCFGAPI_H_INCLUDED
  17. #include <stdio.h>
  18. #include <stdlib.h>
  19. #include <windows.h>
  20. #include <wchar.h>
  21. #include <netcfgx.h>
  22. #include <netcfgn.h>
  23. #include <setupapi.h>
  24. #include <devguid.h>
  25. #include <objbase.h>
  26. #define LOCK_TIME_OUT 5000
  27. HRESULT HrGetINetCfg (IN BOOL fGetWriteLock,
  28. IN LPCWSTR lpszAppName,
  29. OUT INetCfg** ppnc,
  30. OUT LPWSTR *lpszLockedBy);
  31. HRESULT HrReleaseINetCfg (INetCfg* pnc,
  32. BOOL fHasWriteLock);
  33. HRESULT HrInstallNetComponent (IN INetCfg *pnc,
  34. IN LPCWSTR szComponentId,
  35. IN const GUID *pguildClass,
  36. IN LPCWSTR lpszInfFullPath);
  37. HRESULT HrInstallComponent(IN INetCfg* pnc,
  38. IN LPCWSTR szComponentId,
  39. IN const GUID* pguidClass);
  40. HRESULT HrUninstallNetComponent(IN INetCfg* pnc,
  41. IN LPCWSTR szComponentId);
  42. HRESULT HrGetComponentEnum (INetCfg* pnc,
  43. IN const GUID* pguidClass,
  44. IEnumNetCfgComponent **ppencc);
  45. HRESULT HrGetFirstComponent (IEnumNetCfgComponent* pencc,
  46. INetCfgComponent **ppncc);
  47. HRESULT HrGetNextComponent (IEnumNetCfgComponent* pencc,
  48. INetCfgComponent **ppncc);
  49. HRESULT HrGetBindingPathEnum (INetCfgComponent *pncc,
  50. DWORD dwBindingType,
  51. IEnumNetCfgBindingPath **ppencbp);
  52. HRESULT HrGetFirstBindingPath (IEnumNetCfgBindingPath *pencbp,
  53. INetCfgBindingPath **ppncbp);
  54. HRESULT HrGetNextBindingPath (IEnumNetCfgBindingPath *pencbp,
  55. INetCfgBindingPath **ppncbp);
  56. HRESULT HrGetBindingInterfaceEnum (INetCfgBindingPath *pncbp,
  57. IEnumNetCfgBindingInterface **ppencbi);
  58. HRESULT HrGetFirstBindingInterface (IEnumNetCfgBindingInterface *pencbi,
  59. INetCfgBindingInterface **ppncbi);
  60. HRESULT HrGetNextBindingInterface (IEnumNetCfgBindingInterface *pencbi,
  61. INetCfgBindingInterface **ppncbi);
  62. VOID ReleaseRef (IUnknown* punk);
  63. #endif