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.

120 lines
4.5 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. iroot.h
  5. Abstract:
  6. Internal implementation for the root subfolder.
  7. Environment:
  8. WIN32 User Mode
  9. Author:
  10. Darwin Ouyang (t-darouy) 30-Sept-1997
  11. --*/
  12. #ifndef __IROOT_H_
  13. #define __IROOT_H_
  14. #include "inode.h"
  15. class CInternalDevices; // forward declarator
  16. class CInternalLogging; // forward declarator
  17. class CInternalSecurity; // forward declarator
  18. class CFaxGeneralSettingsPropSheet; // forward decl
  19. class CFaxRoutePriPropSheet;
  20. #define MSFAX_EXTENSION L"%systemroot%\\system32\\faxroute.dll"
  21. class CInternalRoot : public CInternalNode
  22. {
  23. public:
  24. CInternalRoot( CInternalNode * pParent, CFaxComponentData * pCompData );
  25. ~CInternalRoot();
  26. // member functions
  27. virtual const GUID * GetNodeGUID();
  28. virtual const LPTSTR GetNodeDisplayName();
  29. virtual const LONG_PTR GetCookie();
  30. virtual const LPTSTR GetMachine();
  31. virtual void SetMachine( LPTSTR theName );
  32. virtual CInternalNode * GetThis() { return this; }
  33. // =========================================
  34. // Internal Event Handlers =================
  35. virtual HRESULT ScopeOnExpand(
  36. /* [in] */ CFaxComponentData * pCompData,
  37. /* [in] */ CFaxDataObject * pDataObject,
  38. /* [in] */ LPARAM arg,
  39. /* [in] */ LPARAM param );
  40. virtual HRESULT ResultOnShow(
  41. CFaxComponent* pComp,
  42. CFaxDataObject * lpDataObject,
  43. LPARAM arg,
  44. LPARAM param);
  45. virtual HRESULT ResultOnSelect(
  46. CFaxComponent* pComp,
  47. CFaxDataObject * lpDataObject,
  48. LPARAM arg,
  49. LPARAM param);
  50. // =========================================
  51. // IExtendPropertySheet for IComponentData
  52. virtual HRESULT STDMETHODCALLTYPE ComponentDataPropertySheetCreatePropertyPages(
  53. /* [in] */ CFaxComponentData * pCompData,
  54. /* [in] */ LPPROPERTYSHEETCALLBACK lpProvider,
  55. /* [in] */ LONG_PTR handle,
  56. /* [in] */ CFaxDataObject * lpIDataObject);
  57. virtual HRESULT STDMETHODCALLTYPE ComponentDataPropertySheetQueryPagesFor(
  58. /* [in] */ CFaxComponentData * pCompData,
  59. /* [in] */ CFaxDataObject * lpDataObject);
  60. // =========================================
  61. // IExtendContextMenu for IComponentData
  62. virtual HRESULT STDMETHODCALLTYPE ComponentDataContextMenuAddMenuItems(
  63. /* [in] */ CFaxComponentData * pCompData,
  64. /* [in] */ CFaxDataObject * piDataObject,
  65. /* [in] */ LPCONTEXTMENUCALLBACK piCallback,
  66. /* [out][in] */ long __RPC_FAR *pInsertionAllowed);
  67. virtual HRESULT STDMETHODCALLTYPE ComponentDataContextMenuCommand(
  68. /* [in] */ CFaxComponentData * pCompData,
  69. /* [in] */ long lCommandID,
  70. /* [in] */ CFaxDataObject * piDataObject);
  71. // =========================================
  72. // Helper Functions ========================
  73. HRESULT InsertItem( CInternalNode * iCookie, LPARAM param );
  74. private:
  75. // =========================================
  76. // Internal Node Pointers ==================
  77. CInternalDevices * iDevices;
  78. CInternalLogging * iLogging;
  79. CFaxGeneralSettingsPropSheet *pMyPropSheet;
  80. CFaxRoutePriPropSheet *pMyPropSheet2;
  81. HPROPSHEETPAGE m_myPropPage;
  82. // =========================================
  83. // Fax Machine Name and Connection Handle ==
  84. LPTSTR targetFaxServName;
  85. LPTSTR localNodeName;
  86. };
  87. #endif