81 lines
2 KiB
C
81 lines
2 KiB
C
|
//+---------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
// Copyright (C) Microsoft Corporation, 2000.
|
||
|
//
|
||
|
// File: P H Y S I C A L D E V I C E I N F O . H
|
||
|
//
|
||
|
// Contents: Manages an UPnP device assembly
|
||
|
//
|
||
|
// Notes:
|
||
|
//
|
||
|
// Author: mbend 12 Sep 2000
|
||
|
//
|
||
|
//----------------------------------------------------------------------------
|
||
|
|
||
|
#pragma once
|
||
|
#include "uhres.h" // main symbols
|
||
|
|
||
|
#include "upnphost.h"
|
||
|
#include "hostp.h"
|
||
|
#include "UString.h"
|
||
|
#include "ComUtility.h"
|
||
|
#include "Table.h"
|
||
|
#include "RegDef.h"
|
||
|
#include "DeviceInfo.h"
|
||
|
|
||
|
// Typedefs
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CPhysicalDeviceInfo
|
||
|
class CPhysicalDeviceInfo
|
||
|
{
|
||
|
public:
|
||
|
CPhysicalDeviceInfo();
|
||
|
~CPhysicalDeviceInfo();
|
||
|
|
||
|
HRESULT HrInitialize(
|
||
|
const wchar_t * szProgIdDeviceControlClass,
|
||
|
const wchar_t * szInitString,
|
||
|
const wchar_t * szContainerId,
|
||
|
long nUDNs,
|
||
|
wchar_t * arszUDNs[]);
|
||
|
HRESULT HrInitializeRunning(
|
||
|
const PhysicalDeviceIdentifier & pdi,
|
||
|
IUnknown * pUnkDeviceControl,
|
||
|
const wchar_t * szInitString,
|
||
|
long nUDNs,
|
||
|
wchar_t * arszUDNs[]);
|
||
|
HRESULT HrGetService(
|
||
|
const PhysicalDeviceIdentifier & pdi,
|
||
|
const wchar_t * szUDN,
|
||
|
const wchar_t * szServiceId,
|
||
|
CServiceInfo ** ppServiceInfo);
|
||
|
|
||
|
void Transfer(CPhysicalDeviceInfo & ref);
|
||
|
void Clear();
|
||
|
private:
|
||
|
CPhysicalDeviceInfo(const CPhysicalDeviceInfo &);
|
||
|
CPhysicalDeviceInfo & operator=(const CPhysicalDeviceInfo &);
|
||
|
|
||
|
typedef CTable<UDN, CDeviceInfo> DeviceTable;
|
||
|
|
||
|
DeviceTable m_deviceTable;
|
||
|
CUString m_strProgIdDeviceControl;
|
||
|
CUString m_strInitString;
|
||
|
CUString m_strContainerId;
|
||
|
IUPnPDeviceControlPtr m_pDeviceControl;
|
||
|
BOOL m_bRunning;
|
||
|
};
|
||
|
|
||
|
inline void TypeTransfer(CPhysicalDeviceInfo & dst, CPhysicalDeviceInfo & src)
|
||
|
{
|
||
|
dst.Transfer(src);
|
||
|
}
|
||
|
|
||
|
inline void TypeClear(CPhysicalDeviceInfo & type)
|
||
|
{
|
||
|
type.Clear();
|
||
|
}
|
||
|
|