windows-nt/Source/XPSP1/NT/base/fs/utils/diskedit/attrio.hxx
2020-09-26 16:20:57 +08:00

82 lines
1.6 KiB
C++

#if !defined( _ATTR_IO_ )
#define _ATTR_IO_
#include "io.hxx"
#include "frs.hxx"
#include "attrib.hxx"
#include "attrlist.hxx"
#include "hmem.hxx"
DECLARE_CLASS( FRS_IO );
class ATTR_IO : public IO_OBJECT {
public:
NONVIRTUAL
ATTR_IO(
) { _drive = NULL; _data = NULL; };
NONVIRTUAL
~ATTR_IO(
);
VIRTUAL
BOOLEAN
Setup(
IN PMEM Mem,
IN PLOG_IO_DP_DRIVE Drive,
IN HANDLE Application,
IN HWND WindowHandle,
OUT PBOOLEAN Error
);
VIRTUAL
BOOLEAN
Read(
OUT PULONG pError
);
VIRTUAL
BOOLEAN
Write(
);
VIRTUAL
PVOID
GetBuf(
OUT PULONG Size DEFAULT NULL
);
VIRTUAL
PTCHAR
GetHeaderText(
);
private:
PLOG_IO_DP_DRIVE _drive;
NTFS_ATTRIBUTE _mftdata;
NTFS_FILE_RECORD_SEGMENT _frs;
NTFS_ATTRIBUTE _attr;
ULONG _length;
PVOID _data;
TCHAR _header_text[64];
// support for attribute lists
BOOLEAN _attr_list_io;
HMEM _hmem;
NTFS_FRS_STRUCTURE _frsstruc;
NTFS_ATTRIBUTE_LIST _attr_list;
};
INLINE
ATTR_IO::~ATTR_IO(
)
{
}
#endif // ATTR_IO