C# 클래스 VirtualFileSystem.INode

파일 보기 프로젝트 열기: SummerWish/vfs 1 사용 예제들

공개 프로퍼티들

프로퍼티 타입 설명
data _INode
index System.UInt32

공개 메소드들

메소드 설명
Create ( VFSCore vfs, UInt32 index, UInt32 flags, UInt32 owner ) : INode

创建一个新的 inode

GetBlockAtPosition ( UInt32 position, System.Boolean allocate = false ) : Block

查找指定偏移所在的块,若块不存在则返回无效块

GetBlocksToPreserve ( UInt32 nBlock ) : UInt32

返回当该 inode 总计要预留若干数据块时,还需要申请预留多少数据块

GetPosition ( ) : UInt32
GetPosition ( VFSCore vfs, UInt32 index ) : UInt32
INode ( VFSCore vfs, _INode data, UInt32 index = UInt32.MaxValue ) : System
IsDirectory ( ) : System.Boolean

该 inode 是否是一个目录

Load ( VFSCore vfs, UInt32 index ) : INode

从存储介质中获取 inode

PrepareBlockAtPosition ( UInt32 position ) : Block

查找指定偏移所在的块,若块不存在则创建

Read ( ) : byte[]

读取所有数据

Read ( UInt32 position, byte arr, UInt32 count ) : void

读取数据

Resize ( UInt32 newSize ) : void

修改并释放数据占用空间,删除第 newSize 字节开始直到原文件大小的数据块

Save ( ) : void

将 inode 数据写入存储介质

Size ( ) : UInt32

返回 inode 数据区大小

Write ( UInt32 position, byte arr ) : void

写入数据

Write ( byte arr ) : void

写入数据作为 inode 数据,释放未使用的数据块

메소드 상세

Create() 공개 정적인 메소드

创建一个新的 inode
public static Create ( VFSCore vfs, UInt32 index, UInt32 flags, UInt32 owner ) : INode
vfs VFSCore
index System.UInt32
flags System.UInt32
owner System.UInt32
리턴 INode

GetBlockAtPosition() 공개 메소드

查找指定偏移所在的块,若块不存在则返回无效块
public GetBlockAtPosition ( UInt32 position, System.Boolean allocate = false ) : Block
position System.UInt32
allocate System.Boolean
리턴 Block

GetBlocksToPreserve() 공개 메소드

返回当该 inode 总计要预留若干数据块时,还需要申请预留多少数据块
public GetBlocksToPreserve ( UInt32 nBlock ) : UInt32
nBlock System.UInt32
리턴 System.UInt32

GetPosition() 공개 메소드

public GetPosition ( ) : UInt32
리턴 System.UInt32

GetPosition() 공개 정적인 메소드

public static GetPosition ( VFSCore vfs, UInt32 index ) : UInt32
vfs VFSCore
index System.UInt32
리턴 System.UInt32

INode() 공개 메소드

public INode ( VFSCore vfs, _INode data, UInt32 index = UInt32.MaxValue ) : System
vfs VFSCore
data _INode
index System.UInt32
리턴 System

IsDirectory() 공개 메소드

该 inode 是否是一个目录
public IsDirectory ( ) : System.Boolean
리턴 System.Boolean

Load() 공개 정적인 메소드

从存储介质中获取 inode
public static Load ( VFSCore vfs, UInt32 index ) : INode
vfs VFSCore
index System.UInt32
리턴 INode

PrepareBlockAtPosition() 공개 메소드

查找指定偏移所在的块,若块不存在则创建
public PrepareBlockAtPosition ( UInt32 position ) : Block
position System.UInt32
리턴 Block

Read() 공개 메소드

读取所有数据
public Read ( ) : byte[]
리턴 byte[]

Read() 공개 메소드

读取数据
public Read ( UInt32 position, byte arr, UInt32 count ) : void
position System.UInt32
arr byte
count System.UInt32
리턴 void

Resize() 공개 메소드

修改并释放数据占用空间,删除第 newSize 字节开始直到原文件大小的数据块
public Resize ( UInt32 newSize ) : void
newSize System.UInt32
리턴 void

Save() 공개 메소드

将 inode 数据写入存储介质
public Save ( ) : void
리턴 void

Size() 공개 메소드

返回 inode 数据区大小
public Size ( ) : UInt32
리턴 System.UInt32

Write() 공개 메소드

写入数据
public Write ( UInt32 position, byte arr ) : void
position System.UInt32
arr byte
리턴 void

Write() 공개 메소드

写入数据作为 inode 数据,释放未使用的数据块
public Write ( byte arr ) : void
arr byte
리턴 void

프로퍼티 상세

data 공개적으로 프로퍼티

可持久化数据
public _INode,VirtualFileSystem data
리턴 _INode

index 공개적으로 프로퍼티

该 inode 编号
public UInt32,System index
리턴 System.UInt32