www.pudn.com > NTFSUndelete_src.zip > UndeleteDlg.h
// UndeleteDlg.h : header file
//
#if !defined(AFX_UNDELETEDLG_H__8B418511_9F89_47D7_9F50_B4D15178914B__INCLUDED_)
#define AFX_UNDELETEDLG_H__8B418511_9F89_47D7_9F50_B4D15178914B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "NTFSDrive.h"
typedef struct
{
WORD wCylinder;
WORD wHead;
WORD wSector;
DWORD dwNumSectors;
WORD wType;
DWORD dwRelativeSector;
DWORD dwNTRelativeSector;
DWORD dwBytesPerSector;
}DRIVEPACKET;
typedef struct
{
BYTE chBootInd;
BYTE chHead;
BYTE chSector;
BYTE chCylinder;
BYTE chType;
BYTE chLastHead;
BYTE chLastSector;
BYTE chLastCylinder;
DWORD dwRelativeSector;
DWORD dwNumberSectors;
}PARTITION;
#define PART_TABLE 0
#define BOOT_RECORD 1
#define EXTENDED_PART 2
#define PART_UNKNOWN 0x00 //Unknown.
#define PART_DOS2_FAT 0x01 //12-bit FAT.
#define PART_DOS3_FAT 0x04 //16-bit FAT. Partition smaller than 32MB.
#define PART_EXTENDED 0x05 //Extended MS-DOS Partition.
#define PART_DOS4_FAT 0x06 //16-bit FAT. Partition larger than or equal to 32MB.
#define PART_DOS32 0x0B //32-bit FAT. Partition up to 2047GB.
#define PART_DOS32X 0x0C //Same as PART_DOS32(0Bh), but uses Logical Block Address Int 13h extensions.
#define PART_DOSX13 0x0E //Same as PART_DOS4_FAT(06h), but uses Logical Block Address Int 13h extensions.
#define PART_DOSX13X 0x0F //Same as PART_EXTENDED(05h), but uses Logical Block Address Int 13h extensions.
/////////////////////////////////////////////////////////////////////////////
// CUndeleteDlg dialog
class CUndeleteDlg : public CDialog
{
// Construction
public:
void AddDrive(char *szDrvTxt, DRIVEPACKET *pstDrive);
CUndeleteDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CUndeleteDlg)
enum { IDD = IDD_UNDELETE_DIALOG };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CUndeleteDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
int ScanLogicalDrives();
HICON m_hIcon;
HTREEITEM m_hTreeRoot;
CNTFSDrive m_cNTFS;
HANDLE m_hDrive;
CString m_cszFindText;
DWORD m_dwFoundItem;
HANDLE m_hScanFilesThread;
bool m_bStopScanFilesThread;
static DWORD WINAPI ScanFilesThread(LPVOID lpVoid);
// Generated message map functions
//{{AFX_MSG(CUndeleteDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnBtnScan();
afx_msg void OnDestroy();
afx_msg void OnMnuFindFirst();
afx_msg void OnMnuFindNext();
afx_msg void OnMnuSave();
afx_msg void OnRClickLstFiles(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnKeyDownLstFiles(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_UNDELETEDLG_H__8B418511_9F89_47D7_9F50_B4D15178914B__INCLUDED_)