📄 iopcasyncio2.cpp
字号:
/////////////////////////////////////////////////////////////////////////////
//
// OPC Data Access VC++ Client: IOPCAsyncIO2.CPP
// (Source File)
//
/////////////////////////////////////////////////////////////////////////////
//
// Author: Raphael Imhof
// Initial Date: 12/11/98
// $Workfile: IOPCAsyncIO2.cpp $
// $Revision: 1 $
// $Date: 7/27/99 5:23p $
// Target System: Microsoft Windows NT 4.0
// Environment: Visual C++ 5.0 / OPC DataAccess 2.0
// Remarks:
//
/////////////////////////////////////////////////////////////////////////////
//
// Description: implementation of the CIOPCAsyncIO22 class.
// IOPCAsyncIO2 wrapper.
//
//
/////////////////////////////////////////////////////////////////////////////
//
// History of Changes (Please remove very old comments and blank lines!)
// $Log: /IDK/OPCServer/clients/VC++/InfoServerExplorer/IOPCAsyncIO2.cpp $
//
// 1 7/27/99 5:23p Imhof
//
// 1 7/27/99 5:18p Imhof
//
// 3 1/15/99 6:43p Imhof
// Updated legal notice.
//
// 2 12/11/98 5:58p Imhof
// Made modifications for OPC 2.0.
//
// $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 "infoserverexplorer.h"
#include "IOPCAsyncIO2.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CIOPCAsyncIO2::CIOPCAsyncIO2(CComPtr<IOPCAsyncIO2> pOPCAsyncIO2)
{
m_pOPCAsyncIO2 = pOPCAsyncIO2;
}
CIOPCAsyncIO2::CIOPCAsyncIO2(CComPtr<IOPCGroupStateMgt> pOPCGroup)
{
if(FAILED(pOPCGroup->QueryInterface(IID_IOPCAsyncIO2, (void**)&m_pOPCAsyncIO2)))
{
m_pOPCAsyncIO2 = NULL;
TRACE("CIOPCAsyncIO2() \n");
}
}
CIOPCAsyncIO2::~CIOPCAsyncIO2()
{
}
HRESULT CIOPCAsyncIO2::Write( DWORD dwCount,
OPCHANDLE* phServer,
VARIANT* pItemValues,
DWORD dwTransactionID,
DWORD* pdwCancelID,
HRESULT** ppErrors )
{
if(m_pOPCAsyncIO2 == NULL)
return E_FAIL;
HRESULT hr = m_pOPCAsyncIO2->Write(dwCount, phServer, pItemValues, dwTransactionID, pdwCancelID, ppErrors);
if( FAILED( hr ) )
TRACE(_T("IOPCAsyncIO2::Write\n"));
return hr;
}
HRESULT CIOPCAsyncIO2::Read( DWORD dwCount,
OPCHANDLE* phServer,
DWORD dwTransactionID,
DWORD* pdwCancelID,
HRESULT** ppErrors)
{
if(m_pOPCAsyncIO2 == NULL)
return E_FAIL;
HRESULT hr = m_pOPCAsyncIO2->Read(dwCount, phServer, dwTransactionID, pdwCancelID, ppErrors);
if( FAILED( hr ) )
TRACE(_T("IOPCAsyncIO2::Read\n"));
return hr;
}
HRESULT CIOPCAsyncIO2::Refresh2(OPCDATASOURCE dwSource,
DWORD dwTransactionID,
DWORD* pdwCancelID)
{
if(m_pOPCAsyncIO2 == NULL)
return E_FAIL;
HRESULT hr = m_pOPCAsyncIO2->Refresh2(dwSource, dwTransactionID, pdwCancelID);
if( FAILED( hr ) )
TRACE(_T("IOPCAsyncIO2::Refresh2\n"));
return hr;
}
HRESULT CIOPCAsyncIO2::Cancel2(DWORD dwCancelID)
{
if(m_pOPCAsyncIO2 == NULL)
return E_FAIL;
HRESULT hr = m_pOPCAsyncIO2->Cancel2(dwCancelID);
if( FAILED( hr ) )
TRACE(_T("IOPCAsyncIO2::Cancel2\n"));
return hr;
}
HRESULT CIOPCAsyncIO2::SetEnable(BOOL bEnable)
{
if(m_pOPCAsyncIO2 == NULL)
return E_FAIL;
HRESULT hr = m_pOPCAsyncIO2->SetEnable(bEnable);
if( FAILED( hr ) )
TRACE(_T("IOPCAsyncIO2::SetEnable\n"));
return hr;
}
HRESULT CIOPCAsyncIO2::GetEnable(BOOL* pbEnable)
{
if(m_pOPCAsyncIO2 == NULL)
return E_FAIL;
HRESULT hr = m_pOPCAsyncIO2->GetEnable(pbEnable);
if( FAILED( hr ) )
TRACE(_T("IOPCAsyncIO2::GetEnable\n"));
return hr;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -