⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iopcserver.cpp

📁 此文件为VC++开发环境下的OPC client trend 源代码
💻 CPP
字号:
/////////////////////////////////////////////////////////////////////////////
//
//  OPC Trend VC++ Client:	IOPCServer.CPP
//							(Source File)
//
/////////////////////////////////////////////////////////////////////////////
//
//          Author: Raphael Imhof
//    Initial Date: 11/04/98
//       $Workfile: IOPCServer.cpp $
//       $Revision: 1 $
//           $Date: 7/27/99 5:24p $
//   Target System: Microsoft Windows NT 4.0
//     Environment: Visual C++ 5.0 / OPC DataAccess 1.0 / 2.0
//         Remarks: 
//
/////////////////////////////////////////////////////////////////////////////
//
//     Description: implementation of the CIOPCServer class.
//					IOPCServer wrapper.
//					
//
/////////////////////////////////////////////////////////////////////////////
//
//  History of Changes     (Please remove very old comments and blank lines!)
//            $Log: /IDK/OPCServer/clients/VC++/Trend/IOPCServer.cpp $
// 
// 1     7/27/99 5:24p Imhof
// 
// 1     7/27/99 5:19p Imhof
// 
// 4     1/15/99 7:04p Imhof
// Updated legal notice.
// 
// 3     12/15/98 10:30a Imhof
// Modifications for OPC 2.0
// 
// 2     11/06/98 5:53p Imhof
// Added header, comment and made some small code changes.
// 
// 
//  $Nokeywords:$ (To avoid useless search while checking in.)
/////////////////////////////////////////////////////////////////////////////
//  Copyright (C) 1998, Siemens Building Technologies, Inc. Landis Division
//
// SIEMENS BUILDING TECHNOLOGIES, INC. IS PROVIDING THE FOLLOWING
// EXAMPLES OF CODE AS SAMPLE ONLY.
//
// SIEMENS BUILDING TECHNOLOGIES, INC.  MAKES NO REPRESENTATIONS
// OR WARRANTIES OF ANY KIND  WITH RESPECT TO THE VALIDTY OF THE 
// CODES   OR   DESIRED   RESULTS   AND   DISCLAIMS   ALL   SUCH 
// REPRESENTATIONS   AND   WARRANTIES,  INCLUDING  FOR  EXAMPLE, 
// WARRANTIES  OF  MERCHANTABILITY  AND FITNESS FOR A PARTICULAR 
// PURPOSE.    SIEMENS  BUILIDNG  TECHNOLOGIES,  INC.  DOES  NOT 
// REPRESENT  OR  WARRANT  THAT  THE  FOLLOWING CODE SAMPLES ARE 
// ACCURATE, VALID, COMPLETE OR CURRENT.
//
/////////////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "IOPCServer.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CIOPCServer::CIOPCServer(CComPtr<IOPCServer> pOPCServer)
{
	m_pOPCServer = pOPCServer;
}

CIOPCServer::CIOPCServer(CComPtr<IUnknown> pOPCUnkn)
{
	if(FAILED(pOPCUnkn->QueryInterface(IID_IOPCServer, (void**)&m_pOPCServer)))
	{
		m_pOPCServer = NULL;
		TRACE("CIOPCServer() \n");
	}
}

CIOPCServer::~CIOPCServer()
{

}

HRESULT CIOPCServer::RemoveGroup(	OPCHANDLE   hServerGroup,
									BOOL		bForce)
{
	if(m_pOPCServer == NULL)
		return E_FAIL;

	HRESULT res = m_pOPCServer->RemoveGroup(hServerGroup, bForce);
	if(FAILED(res))
	{
		TRACE(_T("IOPCServer::RemoveGroup\n"));
	}
     
	return res; 
}

HRESULT CIOPCServer::AddGroup(	LPCWSTR     szName,
								BOOL        bActive,
								DWORD       dwRequestedUpdateRate,
								OPCHANDLE   hClientGroup,
								LONG      * pTimeBias,
								FLOAT     * pPercentDeadband,
								DWORD       dwLCID,
								OPCHANDLE * phServerGroup,
								DWORD     * pRevisedUpdateRate,
								REFIID      riid,
								LPUNKNOWN * ppUnk)
{
	if(m_pOPCServer == NULL)
		return E_FAIL;

	HRESULT res = m_pOPCServer->AddGroup(szName, bActive, dwRequestedUpdateRate,
                                hClientGroup, pTimeBias, pPercentDeadband,
                                dwLCID, phServerGroup, pRevisedUpdateRate,
                                riid, ppUnk );
	if(FAILED(res))
	{
		TRACE(_T("IOPCServer::AddGroup\n"));
	}
     
	return res; 
}

HRESULT CIOPCServer::GetStatus(OPCSERVERSTATUS** ppServerStatus)
{ 
	if(m_pOPCServer == NULL)
		return E_FAIL;

	HRESULT res = m_pOPCServer->GetStatus(ppServerStatus);
	if(FAILED(res))
	{
		TRACE(_T("IOPCServer::GetStatus\n"));
	}

	return res;
}

HRESULT CIOPCServer::GetErrorString(HRESULT dwError, LCID dwLocale, LPWSTR *ppString)
{ 
	if(m_pOPCServer == NULL)
		return E_FAIL;

	HRESULT res = m_pOPCServer->GetErrorString(dwError, dwLocale, ppString);
	if(FAILED(res))
	{
		TRACE(_T("IOPCServer::GetErrorString\n"));
	}

	return res;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -