mirror of https://github.com/lianthony/NT4.0
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
2.9 KiB
137 lines
2.9 KiB
|
|
typedef struct FCB_File_
|
|
{
|
|
struct FCB_File_ * FCB_FileNextInChain;
|
|
struct FCB_File_ * FCB_FileBackInChain;
|
|
|
|
BYTE ProcessExtrinsicKey;
|
|
BYTE ProcessIntrinsicKey;
|
|
|
|
BYTE FileExtrinsicKey;
|
|
BYTE FileIntrinsicKey;
|
|
|
|
TEXT * FileNamePointer;
|
|
HAND FileHandle;
|
|
QUAD FileSize;
|
|
|
|
QUAD FileOffset;
|
|
WORD FileOffPoint;
|
|
QUAD FileOldPointer;
|
|
QUAD FileNewPointer;
|
|
QUAD FileEndPointer;
|
|
|
|
DWORD FileAttributes;
|
|
DWORD FileDesiredAccess;
|
|
DWORD FileShareMode;
|
|
DWORD FileCreateFlags;
|
|
DWORD FileOtherFlags;
|
|
|
|
QUAD OperationNumber;
|
|
|
|
QUAD FileSpanRead;
|
|
QUAD FileSpanWritten;
|
|
QUAD SpanToBeCopied;
|
|
|
|
BYTE * ReadBufferPointer;
|
|
BYTE * WriteBufferPointer;
|
|
|
|
DWORD BytesToBeRead;
|
|
DWORD BytesToBeWritten;
|
|
DWORD BytesRead;
|
|
DWORD BytesWritten;
|
|
|
|
WORD RecordSize;
|
|
|
|
DWORD ReturnCode;
|
|
|
|
BYTE FileStatus;
|
|
BYTE FileType;
|
|
|
|
BYTE CurrentOperation;
|
|
BYTE PreviousOperation;
|
|
|
|
BYTE PrototypeExtrinsicKey;
|
|
BYTE PrototypeIntrinsicKey;
|
|
|
|
BYTE AttributesChosen;
|
|
BYTE AttributesDefined;
|
|
|
|
BYTE OpenFlagsChosen;
|
|
BYTE AccessModeChosen;
|
|
BYTE ShareModeChosen;
|
|
|
|
BYTE LocalityFlagsChosen;
|
|
BYTE LocalityFlagsDefined;
|
|
|
|
BYTE OtherFlagsChosen;
|
|
BYTE OtherFlagsDefined;
|
|
}
|
|
FCB_File;
|
|
|
|
|
|
typedef struct RCB_Record_
|
|
{
|
|
BYTE * RecordPointer;
|
|
QUAD RecordOffsetInFile;
|
|
WORD RecordSize;
|
|
|
|
BYTE ProcessRecordBelongsTo;
|
|
BYTE FileRecordBelongsTo;
|
|
|
|
BYTE RecordFlags;
|
|
}
|
|
RCB_Record;
|
|
|
|
|
|
/*
|
|
#define AttributeFlags 0x0080
|
|
|
|
#define FlagFileArchived 0x0040
|
|
#define FlagFileHidden 0x0020
|
|
#define FlagFileNormal 0x0010
|
|
#define FlagFileReadOnly 0x0008
|
|
#define FlagFileSystem 0x0004
|
|
|
|
|
|
#define OpenModeFlags 0x0080
|
|
|
|
#define FlagFileCreate 0x0040
|
|
#define FlagFileOpen 0x0020
|
|
#define FlagFileOpenCreate 0x0010
|
|
#define FlagFileTruncate 0x0008
|
|
#define FlagFileTruncateCreate 0x0004
|
|
|
|
|
|
#define AccessModeFlags 0x0080
|
|
|
|
#define FlagAccessReadOnly 0x0040
|
|
#define FlagAccessReadWrite 0x0020
|
|
#define FlagAccessWriteOnly 0x0010
|
|
|
|
|
|
#define ShareModeFlags 0x0080
|
|
|
|
#define FlagShareDenyNone 0x0040
|
|
#define FlagShareDenyRead 0x0020
|
|
#define FlagShareDenyReadWrite 0x0010
|
|
#define FlagShareDenyWrite 0x0008
|
|
|
|
|
|
#define OtherModeFlags 0x8000
|
|
|
|
#define FlagFileCache 0x4000
|
|
#define FlagFileDASD 0x2000
|
|
#define FlagFileFailOnError 0x1000
|
|
#define FlagFileInheritance 0x0800
|
|
#define FlagFileLocality 0x0400
|
|
#define FlagFileRandom 0x0200
|
|
#define FlagFileRandomSequential 0x0100
|
|
#define FlagFileSequential 0x0080
|
|
#define FlagFileWriteThrough 0x0040
|
|
*/
|
|
|
|
#define FileClosed 0x80
|
|
#define FileDeleted 0x40
|
|
#define FileOpen 0x20
|
|
#define FileOpenEver 0x10
|
|
#define OrdinaryWrite 0x08
|