Leaked source code of windows server 2003
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.
 
 
 
 
 
 

178 lines
3.9 KiB

/*++
(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<CPrDrive, &CLSID_PrDrive>,
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<IDataObject> 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<IFsaResource> 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_