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

121 lines
4.5 KiB
C++

/*++
Copyright (c) 1997 Microsoft Corporation
Module Name:
iroot.h
Abstract:
Internal implementation for the root subfolder.
Environment:
WIN32 User Mode
Author:
Darwin Ouyang (t-darouy) 30-Sept-1997
--*/
#ifndef __IROOT_H_
#define __IROOT_H_
#include "inode.h"
class CInternalDevices; // forward declarator
class CInternalLogging; // forward declarator
class CInternalSecurity; // forward declarator
class CFaxGeneralSettingsPropSheet; // forward decl
class CFaxRoutePriPropSheet;
#define MSFAX_EXTENSION L"%systemroot%\\system32\\faxroute.dll"
class CInternalRoot : public CInternalNode
{
public:
CInternalRoot( CInternalNode * pParent, CFaxComponentData * pCompData );
~CInternalRoot();
// member functions
virtual const GUID * GetNodeGUID();
virtual const LPTSTR GetNodeDisplayName();
virtual const LONG_PTR GetCookie();
virtual const LPTSTR GetMachine();
virtual void SetMachine( LPTSTR theName );
virtual CInternalNode * GetThis() { return this; }
// =========================================
// Internal Event Handlers =================
virtual HRESULT ScopeOnExpand(
/* [in] */ CFaxComponentData * pCompData,
/* [in] */ CFaxDataObject * pDataObject,
/* [in] */ LPARAM arg,
/* [in] */ LPARAM param );
virtual HRESULT ResultOnShow(
CFaxComponent* pComp,
CFaxDataObject * lpDataObject,
LPARAM arg,
LPARAM param);
virtual HRESULT ResultOnSelect(
CFaxComponent* pComp,
CFaxDataObject * lpDataObject,
LPARAM arg,
LPARAM param);
// =========================================
// IExtendPropertySheet for IComponentData
virtual HRESULT STDMETHODCALLTYPE ComponentDataPropertySheetCreatePropertyPages(
/* [in] */ CFaxComponentData * pCompData,
/* [in] */ LPPROPERTYSHEETCALLBACK lpProvider,
/* [in] */ LONG_PTR handle,
/* [in] */ CFaxDataObject * lpIDataObject);
virtual HRESULT STDMETHODCALLTYPE ComponentDataPropertySheetQueryPagesFor(
/* [in] */ CFaxComponentData * pCompData,
/* [in] */ CFaxDataObject * lpDataObject);
// =========================================
// IExtendContextMenu for IComponentData
virtual HRESULT STDMETHODCALLTYPE ComponentDataContextMenuAddMenuItems(
/* [in] */ CFaxComponentData * pCompData,
/* [in] */ CFaxDataObject * piDataObject,
/* [in] */ LPCONTEXTMENUCALLBACK piCallback,
/* [out][in] */ long __RPC_FAR *pInsertionAllowed);
virtual HRESULT STDMETHODCALLTYPE ComponentDataContextMenuCommand(
/* [in] */ CFaxComponentData * pCompData,
/* [in] */ long lCommandID,
/* [in] */ CFaxDataObject * piDataObject);
// =========================================
// Helper Functions ========================
HRESULT InsertItem( CInternalNode * iCookie, LPARAM param );
private:
// =========================================
// Internal Node Pointers ==================
CInternalDevices * iDevices;
CInternalLogging * iLogging;
CFaxGeneralSettingsPropSheet *pMyPropSheet;
CFaxRoutePriPropSheet *pMyPropSheet2;
HPROPSHEETPAGE m_myPropPage;
// =========================================
// Fax Machine Name and Connection Handle ==
LPTSTR targetFaxServName;
LPTSTR localNodeName;
};
#endif