windows-nt/Source/XPSP1/NT/printscan/fax/admin/faxadmin/faxcompd.h
2020-09-26 16:20:57 +08:00

97 lines
3.9 KiB
C++

/*++
Copyright (c) 1996 Microsoft Corporation
Module Name:
faxcompd.h
Abstract:
This header prototypes my implementation of IComponentData.
Environment:
WIN32 User Mode
Author:
Darwin Ouyang (t-darouy) 30-Sept-1997
--*/
#ifndef __FAXCOMPDATA_H_
#define __FAXCOMPDATA_H_
#include "resource.h"
class CInternalRoot; // forward declaration
/////////////////////////////////////////////////////////////////////////////
// CFaxComponentData
class CFaxComponentData : public IComponentData
{
public:
// constructor and destructor
CFaxComponentData();
~CFaxComponentData();
// 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);
// non inteface members
HRESULT InsertIconsIntoImageList( LPIMAGELIST pImageList );
HRESULT InsertSingleIconIntoImageList( WORD resID, long assignedIndex, LPIMAGELIST pImageList );
BOOL QueryRpcError();
void NotifyRpcError( BOOL bRpcErrorHasHappened );
LONG QueryPropSheetCount() { return m_dwPropSheetCount; }
void IncPropSheetCount() { InterlockedIncrement( &m_dwPropSheetCount );
DebugPrint(( TEXT("IncPropSheet Count %d "), m_dwPropSheetCount )); }
void DecPropSheetCount() { InterlockedDecrement( &m_dwPropSheetCount );
DebugPrint(( TEXT("DecPropSheet Count %d "), m_dwPropSheetCount )); }
public:
LPUNKNOWN m_pUnknown; // IUnknown
LPCONSOLE m_pConsole; // IConsole
LPCONSOLENAMESPACE m_pConsoleNameSpace; // IConsoleNameSpace
LPIMAGELIST m_pImageList; // IImageList
LPCONTROLBAR m_pControlbar; // IControlbar
HANDLE m_FaxHandle; // connection handle to the fax server.
CInternalRoot * globalRoot; // pointer to the global root
private:
CRITICAL_SECTION GlobalCriticalSection;
BOOL m_bRpcErrorHasHappened; // rpc error flag
LONG m_dwPropSheetCount; // property sheet count
};
#endif