/*++ (c) 1998 Seagate Software, Inc. All rights reserved. Module Name: PrDrive.h Abstract: Base file for HSM shell extensions on drives Author: Art Bragg [abragg] 04-Aug-1997 Revision History: --*/ #ifndef __PRDRIVE_H_ #define __PRDRIVE_H_ #define NO_STATE 0 #define REMOTE 1 #define NO_FSA 2 #define NOT_MANAGED 3 #define MANAGED 4 #define MULTI_SELECT 5 #define NOT_NTFS 6 #define NOT_ADMIN 7 ///////////////////////////////////////////////////////////////////////////// // CPrDrive class CPrDrive : public CComCoClass, public IShellPropSheetExt, public IShellExtInit, public CComObjectRoot { public: DECLARE_REGISTRY_RESOURCEID( IDR_PRDRIVE ) DECLARE_NOT_AGGREGATABLE( CPrDrive ) CPrDrive() { }; BEGIN_COM_MAP(CPrDrive) COM_INTERFACE_ENTRY(IShellPropSheetExt) COM_INTERFACE_ENTRY(IShellExtInit) END_COM_MAP() protected: CComPtr m_pDataObj; public: // IShellExtInit STDMETHOD( Initialize ) ( LPCITEMIDLIST pidlFolder, IDataObject * lpdobj, HKEY hkeyProgID ); // IShellPropSheetExt STDMETHOD( AddPages ) ( LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam ); STDMETHOD( ReplacePage ) ( UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplacePage, LPARAM lParam ); }; ///////////////////////////////////////////////////////////////////////////// // CPrDrivePg dialog class CPrDrivePg : public CPropertyPage { // Construction public: CPrDrivePg(); ~CPrDrivePg(); // Dialog Data //{{AFX_DATA(CPrDrivePg) enum { IDD = IDD_PRDRIVE }; CEdit m_editSize; CEdit m_editLevel; CEdit m_editTime; CSpinButtonCtrl m_spinTime; CSpinButtonCtrl m_spinSize; CSpinButtonCtrl m_spinLevel; UINT m_accessTime; UINT m_hsmLevel; DWORD m_fileSize; //}}AFX_DATA // Overrides // ClassWizard generate virtual function overrides //{{AFX_VIRTUAL(CPrDrivePg) public: virtual BOOL OnApply(); protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL // Implementation protected: static UINT CALLBACK PropPageCallback( HWND hWnd, UINT uMessage, LPPROPSHEETPAGE ppsp ); // Generated message map functions //{{AFX_MSG(CPrDrivePg) virtual BOOL OnInitDialog(); afx_msg void OnChangeEditAccess(); afx_msg void OnChangeEditLevel(); afx_msg void OnChangeEditSize(); afx_msg void OnContextMenu(CWnd* pWnd, CPoint point); afx_msg BOOL OnHelpInfo(HELPINFO* pHelpInfo); //}}AFX_MSG DECLARE_MESSAGE_MAP() public: LPFNPSPCALLBACK m_pMfcCallback; // Original MFC callback from psp int m_nState; CComPtr m_pFsaResource; protected: CString m_pszHelpFilePath; }; ///////////////////////////////////////////////////////////////////////////// // CPrDriveXPg dialog class CPrDriveXPg : public CPropertyPage { // Construction public: CPrDriveXPg(); ~CPrDriveXPg(); // Dialog Data //{{AFX_DATA(CPrDriveXPg) enum { IDD = IDD_PRDRIVEX }; CString m_szError; //}}AFX_DATA // Overrides // ClassWizard generate virtual function overrides //{{AFX_VIRTUAL(CPrDriveXPg) public: protected: //}}AFX_VIRTUAL // Implementation protected: static UINT CALLBACK PropPageCallback( HWND hWnd, UINT uMessage, LPPROPSHEETPAGE ppsp ); // Generated message map functions //{{AFX_MSG(CPrDriveXPg) virtual BOOL OnInitDialog(); //}}AFX_MSG DECLARE_MESSAGE_MAP() public: LPFNPSPCALLBACK m_pMfcCallback; // Original MFC callback from psp int m_nState; }; #endif //__PRDRIVE_H_