windows-nt/Source/XPSP1/NT/net/upnp/host/upnphost/registrar/devicepersistencemanager.h
2020-09-26 16:20:57 +08:00

83 lines
2.9 KiB
C++

//+---------------------------------------------------------------------------
//
// 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<CComMultiThreadModel>,
public CComCoClass<CDevicePersistenceManager, &CLSID_UPnPDevicePersistenceManager>,
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:
};