File64.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // File64.h: interface for the CFile64 class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_FILE64_H__26F9292D_8289_4D28_93D5_34484F7E6EFF__INCLUDED_)
  5. #define AFX_FILE64_H__26F9292D_8289_4D28_93D5_34484F7E6EFF__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. struct CFileStatus64
  10. {
  11. CTime m_ctime; // creation date/time of file
  12. CTime m_mtime; // last modification date/time of file
  13. CTime m_atime; // last access date/time of file
  14. ULONGLONG m_size; // logical size of file in bytes
  15. BYTE m_attribute; // logical OR of CFile::Attribute enum values
  16. BYTE _m_padding; // pad the structure to a WORD
  17. TCHAR m_szFullName[_MAX_PATH]; // absolute path name
  18. #ifdef _DEBUG
  19. void Dump(CDumpContext& dc) const;
  20. #endif
  21. };
  22. class CFile64 : public CFile
  23. {
  24. public:
  25. CFile64();
  26. virtual ~CFile64();
  27. // Attributes
  28. ULONGLONG GetPosition();
  29. // Overridables
  30. virtual ULONGLONG Seek(LONGLONG lOff, UINT nFrom);
  31. virtual void SetLength(ULONGLONG dwNewLen);
  32. ULONGLONG GetLength() ;
  33. virtual void LockRange(ULONGLONG dwPos, ULONGLONG dwCount);
  34. virtual void UnlockRange(ULONGLONG dwPos, ULONGLONG dwCount);
  35. static BOOL GetStatus(LPCTSTR lpszFileName, CFileStatus64& rStatus);
  36. };
  37. #endif // !defined(AFX_FILE64_H__26F9292D_8289_4D28_93D5_34484F7E6EFF__INCLUDED_)