windows-nt/Source/XPSP1/NT/admin/activec/samples/sdksamples/simple/compdata.h

101 lines
3.1 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
//==============================================================;
//
// This source code is only intended as a supplement to existing Microsoft documentation.
//
//
//
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
//
//
//
//==============================================================;
#ifndef _SAMPCOMPDATA_H_
#define _SAMPCOMPDATA_H_
#include <mmc.h>
#include <objidl.h>
#include "DeleBase.h"
#include "StatNode.h"
#include "Comp.h"
class CComponentData : public IComponentData,
IPersistStream
{
friend class CComponent;
private:
ULONG m_cref;
LPCONSOLE m_ipConsole;
LPCONSOLENAMESPACE m_ipConsoleNameSpace;
CStaticNode *m_pStaticNode;
public:
CComponentData();
~CComponentData();
///////////////////////////////
// Interface IUnknown
///////////////////////////////
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
STDMETHODIMP_(ULONG) AddRef();
STDMETHODIMP_(ULONG) Release();
///////////////////////////////
// Interface IComponentData
///////////////////////////////
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize(
/* [in] */ LPUNKNOWN pUnknown);
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateComponent(
/* [out] */ LPCOMPONENT __RPC_FAR *ppComponent);
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Notify(
/* [in] */ LPDATAOBJECT lpDataObject,
/* [in] */ MMC_NOTIFY_TYPE event,
/* [in] */ LPARAM arg,
/* [in] */ LPARAM param);
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void);
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDataObject(
/* [in] */ MMC_COOKIE cookie,
/* [in] */ DATA_OBJECT_TYPES type,
/* [out] */ LPDATAOBJECT __RPC_FAR *ppDataObject);
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayInfo(
/* [out][in] */ SCOPEDATAITEM __RPC_FAR *pScopeDataItem);
virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CompareObjects(
/* [in] */ LPDATAOBJECT lpDataObjectA,
/* [in] */ LPDATAOBJECT lpDataObjectB);
///////////////////////////////
// Interface IPersistStream
///////////////////////////////
virtual HRESULT STDMETHODCALLTYPE GetClassID(
/* [out] */ CLSID __RPC_FAR *pClassID);
virtual HRESULT STDMETHODCALLTYPE IsDirty( void);
virtual HRESULT STDMETHODCALLTYPE Load(
/* [unique][in] */ IStream __RPC_FAR *pStm);
virtual HRESULT STDMETHODCALLTYPE Save(
/* [unique][in] */ IStream __RPC_FAR *pStm,
/* [in] */ BOOL fClearDirty);
virtual HRESULT STDMETHODCALLTYPE GetSizeMax(
/* [out] */ ULARGE_INTEGER __RPC_FAR *pcbSize);
};
#endif _SAMPCOMPDATA_H_