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.

67 lines
1.4 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 2000.
  5. //
  6. // File: D E V I C E I N F O . H
  7. //
  8. // Contents: Registrar representation of a device
  9. //
  10. // Notes:
  11. //
  12. // Author: mbend 12 Sep 2000
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include "uhres.h" // main symbols
  17. #include "upnphost.h"
  18. #include "hostp.h"
  19. #include "UString.h"
  20. #include "ComUtility.h"
  21. #include "Table.h"
  22. #include "RegDef.h"
  23. #include "ServiceInfo.h"
  24. // Typedefs
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CDeviceInfo
  27. class CDeviceInfo
  28. {
  29. public:
  30. CDeviceInfo();
  31. ~CDeviceInfo();
  32. HRESULT HrGetService(
  33. const PhysicalDeviceIdentifier & pdi,
  34. const wchar_t * szUDN,
  35. const wchar_t * szServiceId,
  36. const wchar_t * szContainerId,
  37. IUPnPDeviceControlPtr & pDeviceControl,
  38. CServiceInfo ** ppServiceInfo,
  39. BOOL bRunning);
  40. void Transfer(CDeviceInfo & ref);
  41. void Clear();
  42. private:
  43. CDeviceInfo(const CDeviceInfo &);
  44. CDeviceInfo & operator=(const CDeviceInfo &);
  45. typedef CTable<Sid, CServiceInfo> ServiceTable;
  46. ServiceTable m_serviceTable;
  47. };
  48. inline void TypeTransfer(CDeviceInfo & dst, CDeviceInfo & src)
  49. {
  50. dst.Transfer(src);
  51. }
  52. inline void TypeClear(CDeviceInfo & type)
  53. {
  54. type.Clear();
  55. }