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.

82 lines
2.9 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 2000.
  5. //
  6. // File: D E V I C E P E R S I S T E N C E M A N A G E R . H
  7. //
  8. // Contents: Persistence for UPnP device host registrar settings to registry
  9. //
  10. // Notes:
  11. //
  12. // Author: mbend 6 Sep 2000
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include "uhres.h" // main symbols
  17. #include "hostp.h"
  18. #include "UString.h"
  19. // Typedefs
  20. /////////////////////////////////////////////////////////////////////////////
  21. // TestObject
  22. class ATL_NO_VTABLE CDevicePersistenceManager :
  23. public CComObjectRootEx<CComMultiThreadModel>,
  24. public CComCoClass<CDevicePersistenceManager, &CLSID_UPnPDevicePersistenceManager>,
  25. public IUPnPDevicePersistenceManager
  26. {
  27. public:
  28. CDevicePersistenceManager();
  29. ~CDevicePersistenceManager();
  30. DECLARE_REGISTRY_RESOURCEID(IDR_DEVICE_PERSISTENCE_MANAGER)
  31. DECLARE_NOT_AGGREGATABLE(CDevicePersistenceManager)
  32. BEGIN_COM_MAP(CDevicePersistenceManager)
  33. COM_INTERFACE_ENTRY(IUPnPDevicePersistenceManager)
  34. END_COM_MAP()
  35. public:
  36. // IUPnPDevicePersistenceManager methods
  37. STDMETHOD(SavePhyisicalDevice)(
  38. /*[in]*/ REFGUID guidPhysicalDeviceIdentifier,
  39. /*[in, string]*/ const wchar_t * szProgIdDeviceControlClass,
  40. /*[in, string]*/ const wchar_t * szInitString,
  41. /*[in, string]*/ const wchar_t * szContainerId,
  42. /*[in, string]*/ const wchar_t * szResourcePath,
  43. /*[in]*/ long nLifeTime);
  44. STDMETHOD(LookupPhysicalDevice)(
  45. /*[in]*/ REFGUID guidPhysicalDeviceIdentifier,
  46. /*[out, string]*/ wchar_t ** pszProgIdDeviceControlClass,
  47. /*[out, string]*/ wchar_t ** pszInitString,
  48. /*[out, string]*/ wchar_t ** pszContainerId,
  49. /*[out, string]*/ wchar_t ** pszResourcePath,
  50. /*[out]*/ long * pnLifeTime);
  51. STDMETHOD(RemovePhysicalDevice)(
  52. /*[in]*/ REFGUID guidPhysicalDeviceIdentifier);
  53. STDMETHOD(GetPhysicalDevices)(
  54. /*[out]*/ long * pnDevices,
  55. /*[out, size_is(,*pnDevices)]*/
  56. GUID ** parguidPhysicalDeviceIdentifiers);
  57. STDMETHOD(SaveDeviceProvider)(
  58. /*[in, string]*/ const wchar_t * szProviderName,
  59. /*[in, string]*/ const wchar_t * szProgIdProviderClass,
  60. /*[in, string]*/ const wchar_t * szInitString,
  61. /*[in, string]*/ const wchar_t * szContainerId);
  62. STDMETHOD(LookupDeviceProvider)(
  63. /*[in, string]*/ const wchar_t * szProviderName,
  64. /*[out, string]*/ wchar_t ** pszProgIdProviderClass,
  65. /*[out, string]*/ wchar_t ** pszInitString,
  66. /*[out, string]*/ wchar_t ** pszContainerId);
  67. STDMETHOD(RemoveDeviceProvider)(
  68. /*[in, string]*/ const wchar_t * szProviderName);
  69. STDMETHOD(GetDeviceProviders)(
  70. /*[out]*/ long * pnProviders,
  71. /*[out, string, size_is(,*pnProviders,)]*/
  72. wchar_t *** parszProviderNames);
  73. private:
  74. };