⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fileio.h

📁 sleuthit-2.09 一个磁盘的工具集
💻 H
字号:
// Windows/FileIO.h#ifndef __WINDOWS_FILEIO_H#define __WINDOWS_FILEIO_H#include "../Common/Types.h"namespace NWindows {namespace NFile {namespace NIO {struct CByHandleFileInfo{   DWORD    Attributes;   FILETIME CreationTime;   FILETIME LastAccessTime;   FILETIME LastWriteTime;   DWORD    VolumeSerialNumber;   UInt64   Size;  DWORD    NumberOfLinks;   UInt64   FileIndex; };class CFileBase{protected:  bool _fileIsOpen;  HANDLE _handle;  bool Create(LPCTSTR fileName, DWORD desiredAccess,      DWORD shareMode, DWORD creationDisposition,  DWORD flagsAndAttributes);  #ifndef _UNICODE  bool Create(LPCWSTR fileName, DWORD desiredAccess,      DWORD shareMode, DWORD creationDisposition,  DWORD flagsAndAttributes);  #endifpublic:  CFileBase(): _fileIsOpen(false){};  virtual ~CFileBase();  virtual bool Close();  bool GetPosition(UInt64 &position) const;  bool GetLength(UInt64 &length) const;  bool Seek(Int64 distanceToMove, DWORD moveMethod, UInt64 &newPosition) const;  bool Seek(UInt64 position, UInt64 &newPosition);   bool SeekToBegin();   bool SeekToEnd(UInt64 &newPosition);     bool GetFileInformation(CByHandleFileInfo &fileInfo) const;};class CInFile: public CFileBase{public:  bool Open(LPCTSTR fileName, DWORD shareMode, DWORD creationDisposition, DWORD flagsAndAttributes);  bool Open(LPCTSTR fileName);  #ifndef _UNICODE  bool Open(LPCWSTR fileName, DWORD shareMode, DWORD creationDisposition, DWORD flagsAndAttributes);  bool Open(LPCWSTR fileName);  #endif  bool ReadPart(void *data, UInt32 size, UInt32 &processedSize);  bool Read(void *data, UInt32 size, UInt32 &processedSize);};class COutFile: public CFileBase{  // DWORD m_CreationDisposition;public:  // COutFile(): m_CreationDisposition(CREATE_NEW){};  bool Open(LPCTSTR fileName, DWORD shareMode, DWORD creationDisposition, DWORD flagsAndAttributes);  bool Open(LPCTSTR fileName, DWORD creationDisposition);  bool Create(LPCTSTR fileName, bool createAlways);  #ifndef _UNICODE  bool Open(LPCWSTR fileName, DWORD shareMode, DWORD creationDisposition, DWORD flagsAndAttributes);  bool Open(LPCWSTR fileName, DWORD creationDisposition);  bool Create(LPCWSTR fileName, bool createAlways);  #endif  /*  void SetOpenCreationDisposition(DWORD creationDisposition)    { m_CreationDisposition = creationDisposition; }  void SetOpenCreationDispositionCreateAlways()    { m_CreationDisposition = CREATE_ALWAYS; }  */  bool SetTime(const FILETIME *creationTime, const FILETIME *lastAccessTime, const FILETIME *lastWriteTime);  bool SetLastWriteTime(const FILETIME *lastWriteTime);  bool WritePart(const void *data, UInt32 size, UInt32 &processedSize);  bool Write(const void *data, UInt32 size, UInt32 &processedSize);  bool SetEndOfFile();  bool SetLength(UInt64 length);};}}}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -