//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 2000. // // 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 // // Contents: Persistence for UPnP device host registrar settings to registry // // Notes: // // Author: mbend 6 Sep 2000 // //---------------------------------------------------------------------------- #pragma once #include "uhres.h" // main symbols #include "hostp.h" #include "UString.h" // Typedefs ///////////////////////////////////////////////////////////////////////////// // TestObject class ATL_NO_VTABLE CDevicePersistenceManager : public CComObjectRootEx, public CComCoClass, public IUPnPDevicePersistenceManager { public: CDevicePersistenceManager(); ~CDevicePersistenceManager(); DECLARE_REGISTRY_RESOURCEID(IDR_DEVICE_PERSISTENCE_MANAGER) DECLARE_NOT_AGGREGATABLE(CDevicePersistenceManager) BEGIN_COM_MAP(CDevicePersistenceManager) COM_INTERFACE_ENTRY(IUPnPDevicePersistenceManager) END_COM_MAP() public: // IUPnPDevicePersistenceManager methods STDMETHOD(SavePhyisicalDevice)( /*[in]*/ REFGUID guidPhysicalDeviceIdentifier, /*[in, string]*/ const wchar_t * szProgIdDeviceControlClass, /*[in, string]*/ const wchar_t * szInitString, /*[in, string]*/ const wchar_t * szContainerId, /*[in, string]*/ const wchar_t * szResourcePath, /*[in]*/ long nLifeTime); STDMETHOD(LookupPhysicalDevice)( /*[in]*/ REFGUID guidPhysicalDeviceIdentifier, /*[out, string]*/ wchar_t ** pszProgIdDeviceControlClass, /*[out, string]*/ wchar_t ** pszInitString, /*[out, string]*/ wchar_t ** pszContainerId, /*[out, string]*/ wchar_t ** pszResourcePath, /*[out]*/ long * pnLifeTime); STDMETHOD(RemovePhysicalDevice)( /*[in]*/ REFGUID guidPhysicalDeviceIdentifier); STDMETHOD(GetPhysicalDevices)( /*[out]*/ long * pnDevices, /*[out, size_is(,*pnDevices)]*/ GUID ** parguidPhysicalDeviceIdentifiers); STDMETHOD(SaveDeviceProvider)( /*[in, string]*/ const wchar_t * szProviderName, /*[in, string]*/ const wchar_t * szProgIdProviderClass, /*[in, string]*/ const wchar_t * szInitString, /*[in, string]*/ const wchar_t * szContainerId); STDMETHOD(LookupDeviceProvider)( /*[in, string]*/ const wchar_t * szProviderName, /*[out, string]*/ wchar_t ** pszProgIdProviderClass, /*[out, string]*/ wchar_t ** pszInitString, /*[out, string]*/ wchar_t ** pszContainerId); STDMETHOD(RemoveDeviceProvider)( /*[in, string]*/ const wchar_t * szProviderName); STDMETHOD(GetDeviceProviders)( /*[out]*/ long * pnProviders, /*[out, string, size_is(,*pnProviders,)]*/ wchar_t *** parszProviderNames); private: };