#ifndef PDriveNT_H

#define PDriveNT_H


#include "ntdiskspec.h"


class PNtPhysicalDrive : public IPhysicalDrive
    {
    public:
        PNtPhysicalDrive();
        virtual ~PNtPhysicalDrive();
        virtual BOOL Open( int iDrive );
		virtual void Close();
        virtual BOOL GetDriveGeometry( DISK_GEOMETRY* lpDG );
        virtual BOOL GetDriveLayout( LPBYTE lpbMemory, DWORD dwSize );
        virtual BOOL ReadAbsolute( LPBYTE lpbMemory, DWORD dwSize, INT64 Sector );
#ifdef SUPPORT_WINDOWS_XP_PARTITIONS

        // shit for Windows XP
        virtual BOOL GetDriveGeometryEx( DISK_GEOMETRY_EX* lpDG, DWORD dwSize );
        virtual BOOL GetDriveLayoutEx( LPBYTE lpbMemory, DWORD dwSize );
#endif


        HANDLE m_hDevice;
    };

#endif // PDriveNT_H





syntax highlighted by Code2HTML, v. 0.9.1