iadvicesink.h

来自「此为Insight opc client InfoServerExplorer源」· C头文件 代码 · 共 103 行

H
103
字号
/////////////////////////////////////////////////////////////////////////////
//
//  OPC DataAccess VC++ Client:	IAdviceSink.h
//								(Header File)
//
/////////////////////////////////////////////////////////////////////////////
//
//          Author: Raphael Imhof
//    Initial Date: 11/04/98
//       $Workfile: IAdviceSink.h $
//       $Revision: 1 $
//           $Date: 7/27/99 5:22p $
//   Target System: Microsoft Windows NT 4.0
//     Environment: Visual C++ 5.0 / OPC DataAccess 1.0
//         Remarks: 
//
/////////////////////////////////////////////////////////////////////////////
//
//     Description: interface of the CIAdviseSink class.
//					IAdviceSink wrapper.
//					
//
/////////////////////////////////////////////////////////////////////////////
//
//  History of Changes     (Please remove very old comments and blank lines!)
//            $Log: /IDK/OPCServer/clients/VC++/InfoServerExplorer/IAdviceSink.h $
// 
// 1     7/27/99 5:22p Imhof
// 
// 1     7/27/99 5:18p Imhof
// 
// 4     1/15/99 6:43p Imhof
// Updated legal notice.
// 
// 3     12/11/98 5:58p Imhof
// Made modifications for OPC 2.0.
// 
// 2     11/10/98 2:20p Imhof
// Added file header's.
// 
// 
//  $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.
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_IADVISESINK_H__F60A0AD4_2CA9_11D2_AD8B_00104B2C9D06__INCLUDED_)
#define AFX_IADVISESINK_H__F60A0AD4_2CA9_11D2_AD8B_00104B2C9D06__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#include <opcda.h>

class CIAdviseSink : public IAdviseSink 
{
public:
	CIAdviseSink();
	virtual ~CIAdviseSink();

	STDMETHODIMP_(ULONG) AddRef();
	STDMETHODIMP_(ULONG) Release();
	STDMETHODIMP         QueryInterface( REFIID iid, LPVOID* ppInterface);

	STDMETHODIMP_(void) OnDataChange(LPFORMATETC pFE, LPSTGMEDIUM pSTM);

	//need to implement
	STDMETHODIMP_(void) OnViewChange(DWORD dwA,LONG lindex);
	STDMETHODIMP_(void) OnRename(IMoniker* m);
	STDMETHODIMP_(void) OnSave(void);
	STDMETHODIMP_(void) OnClose(void);

protected:
	BOOL HandleWriteComplete(LPSTGMEDIUM pSTM);
	BOOL HandleDataTimeChange(LPSTGMEDIUM pSTM);
	BOOL HandleDataChange(LPSTGMEDIUM pSTM);

private:	
	ULONG					mRefCount;

	UINT					m_FormatData;
	UINT					m_FormatDataTime;
	UINT					m_FormatWrite;

	CComPtr<IAdviseSink>	m_pAdviseSink;
};

#endif // !defined(AFX_IADVISESINK_H__F60A0AD4_2CA9_11D2_AD8B_00104B2C9D06__INCLUDED_)

⌨️ 快捷键说明

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