Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
3.9 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. faxcompd.h
  5. Abstract:
  6. This header prototypes my implementation of IComponentData.
  7. Environment:
  8. WIN32 User Mode
  9. Author:
  10. Darwin Ouyang (t-darouy) 30-Sept-1997
  11. --*/
  12. #ifndef __FAXCOMPDATA_H_
  13. #define __FAXCOMPDATA_H_
  14. #include "resource.h"
  15. class CInternalRoot; // forward declaration
  16. /////////////////////////////////////////////////////////////////////////////
  17. // CFaxComponentData
  18. class CFaxComponentData : public IComponentData
  19. {
  20. public:
  21. // constructor and destructor
  22. CFaxComponentData();
  23. ~CFaxComponentData();
  24. // IComponentData
  25. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Initialize(
  26. /* [in] */ LPUNKNOWN pUnknown);
  27. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CreateComponent(
  28. /* [out] */ LPCOMPONENT __RPC_FAR *ppComponent);
  29. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Notify(
  30. /* [in] */ LPDATAOBJECT lpDataObject,
  31. /* [in] */ MMC_NOTIFY_TYPE event,
  32. /* [in] */ LPARAM arg,
  33. /* [in] */ LPARAM param);
  34. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE Destroy( void );
  35. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE QueryDataObject(
  36. /* [in] */ MMC_COOKIE cookie,
  37. /* [in] */ DATA_OBJECT_TYPES type,
  38. /* [out] */ LPDATAOBJECT __RPC_FAR *ppDataObject);
  39. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE GetDisplayInfo(
  40. /* [out][in] */ SCOPEDATAITEM __RPC_FAR *pScopeDataItem);
  41. virtual /* [helpstring] */ HRESULT STDMETHODCALLTYPE CompareObjects(
  42. /* [in] */ LPDATAOBJECT lpDataObjectA,
  43. /* [in] */ LPDATAOBJECT lpDataObjectB);
  44. // non inteface members
  45. HRESULT InsertIconsIntoImageList( LPIMAGELIST pImageList );
  46. HRESULT InsertSingleIconIntoImageList( WORD resID, long assignedIndex, LPIMAGELIST pImageList );
  47. BOOL QueryRpcError();
  48. void NotifyRpcError( BOOL bRpcErrorHasHappened );
  49. LONG QueryPropSheetCount() { return m_dwPropSheetCount; }
  50. void IncPropSheetCount() { InterlockedIncrement( &m_dwPropSheetCount );
  51. DebugPrint(( TEXT("IncPropSheet Count %d "), m_dwPropSheetCount )); }
  52. void DecPropSheetCount() { InterlockedDecrement( &m_dwPropSheetCount );
  53. DebugPrint(( TEXT("DecPropSheet Count %d "), m_dwPropSheetCount )); }
  54. public:
  55. LPUNKNOWN m_pUnknown; // IUnknown
  56. LPCONSOLE m_pConsole; // IConsole
  57. LPCONSOLENAMESPACE m_pConsoleNameSpace; // IConsoleNameSpace
  58. LPIMAGELIST m_pImageList; // IImageList
  59. LPCONTROLBAR m_pControlbar; // IControlbar
  60. HANDLE m_FaxHandle; // connection handle to the fax server.
  61. CInternalRoot * globalRoot; // pointer to the global root
  62. private:
  63. CRITICAL_SECTION GlobalCriticalSection;
  64. BOOL m_bRpcErrorHasHappened; // rpc error flag
  65. LONG m_dwPropSheetCount; // property sheet count
  66. };
  67. #endif