📄 winnt.int
字号:
User: SID_AND_ATTRIBUTES;
end;
{$EXTERNALSYM _TOKEN_USER}
TOKEN_USER = _TOKEN_USER;
{$EXTERNALSYM TOKEN_USER}
TTokenUser = TOKEN_USER;
PTokenUser = PTOKEN_USER;
// line 3858
//
// Define access rights to files and directories
//
//
// The FILE_READ_DATA and FILE_WRITE_DATA constants are also defined in
// devioctl.h as FILE_READ_ACCESS and FILE_WRITE_ACCESS. The values for these
// constants *MUST* always be in sync.
// The values are redefined in devioctl.h because they must be available to
// both DOS and NT.
//
const
FILE_READ_DATA = ($0001); // file & pipe
{$EXTERNALSYM FILE_READ_DATA}
FILE_LIST_DIRECTORY = ($0001); // directory
{$EXTERNALSYM FILE_LIST_DIRECTORY}
FILE_WRITE_DATA = ($0002); // file & pipe
{$EXTERNALSYM FILE_WRITE_DATA}
FILE_ADD_FILE = ($0002); // directory
{$EXTERNALSYM FILE_ADD_FILE}
FILE_APPEND_DATA = ($0004); // file
{$EXTERNALSYM FILE_APPEND_DATA}
FILE_ADD_SUBDIRECTORY = ($0004); // directory
{$EXTERNALSYM FILE_ADD_SUBDIRECTORY}
FILE_CREATE_PIPE_INSTANCE = ($0004); // named pipe
{$EXTERNALSYM FILE_CREATE_PIPE_INSTANCE}
FILE_READ_EA = ($0008); // file & directory
{$EXTERNALSYM FILE_READ_EA}
FILE_WRITE_EA = ($0010); // file & directory
{$EXTERNALSYM FILE_WRITE_EA}
FILE_EXECUTE = ($0020); // file
{$EXTERNALSYM FILE_EXECUTE}
FILE_TRAVERSE = ($0020); // directory
{$EXTERNALSYM FILE_TRAVERSE}
FILE_DELETE_CHILD = ($0040); // directory
{$EXTERNALSYM FILE_DELETE_CHILD}
FILE_READ_ATTRIBUTES = ($0080); // all
{$EXTERNALSYM FILE_READ_ATTRIBUTES}
FILE_WRITE_ATTRIBUTES = ($0100); // all
{$EXTERNALSYM FILE_WRITE_ATTRIBUTES}
FILE_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or $1FF);
{$EXTERNALSYM FILE_ALL_ACCESS}
FILE_GENERIC_READ = (STANDARD_RIGHTS_READ or FILE_READ_DATA or
FILE_READ_ATTRIBUTES or FILE_READ_EA or SYNCHRONIZE);
{$EXTERNALSYM FILE_GENERIC_READ}
FILE_GENERIC_WRITE = (STANDARD_RIGHTS_WRITE or FILE_WRITE_DATA or
FILE_WRITE_ATTRIBUTES or FILE_WRITE_EA or FILE_APPEND_DATA or SYNCHRONIZE);
{$EXTERNALSYM FILE_GENERIC_WRITE}
FILE_GENERIC_EXECUTE = (STANDARD_RIGHTS_EXECUTE or FILE_READ_ATTRIBUTES or
FILE_EXECUTE or SYNCHRONIZE);
{$EXTERNALSYM FILE_GENERIC_EXECUTE}
FILE_SHARE_READ = $00000001;
{$EXTERNALSYM FILE_SHARE_READ}
FILE_SHARE_WRITE = $00000002;
{$EXTERNALSYM FILE_SHARE_WRITE}
FILE_SHARE_DELETE = $00000004;
{$EXTERNALSYM FILE_SHARE_DELETE}
FILE_ATTRIBUTE_READONLY = $00000001;
{$EXTERNALSYM FILE_ATTRIBUTE_READONLY}
FILE_ATTRIBUTE_HIDDEN = $00000002;
{$EXTERNALSYM FILE_ATTRIBUTE_HIDDEN}
FILE_ATTRIBUTE_SYSTEM = $00000004;
{$EXTERNALSYM FILE_ATTRIBUTE_SYSTEM}
FILE_ATTRIBUTE_DIRECTORY = $00000010;
{$EXTERNALSYM FILE_ATTRIBUTE_DIRECTORY}
FILE_ATTRIBUTE_ARCHIVE = $00000020;
{$EXTERNALSYM FILE_ATTRIBUTE_ARCHIVE}
FILE_ATTRIBUTE_DEVICE = $00000040;
{$EXTERNALSYM FILE_ATTRIBUTE_DEVICE}
FILE_ATTRIBUTE_NORMAL = $00000080;
{$EXTERNALSYM FILE_ATTRIBUTE_NORMAL}
FILE_ATTRIBUTE_TEMPORARY = $00000100;
{$EXTERNALSYM FILE_ATTRIBUTE_TEMPORARY}
FILE_ATTRIBUTE_SPARSE_FILE = $00000200;
{$EXTERNALSYM FILE_ATTRIBUTE_SPARSE_FILE}
FILE_ATTRIBUTE_REPARSE_POINT = $00000400;
{$EXTERNALSYM FILE_ATTRIBUTE_REPARSE_POINT}
FILE_ATTRIBUTE_COMPRESSED = $00000800;
{$EXTERNALSYM FILE_ATTRIBUTE_COMPRESSED}
FILE_ATTRIBUTE_OFFLINE = $00001000;
{$EXTERNALSYM FILE_ATTRIBUTE_OFFLINE}
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = $00002000;
{$EXTERNALSYM FILE_ATTRIBUTE_NOT_CONTENT_INDEXED}
FILE_ATTRIBUTE_ENCRYPTED = $00004000;
{$EXTERNALSYM FILE_ATTRIBUTE_ENCRYPTED}
FILE_NOTIFY_CHANGE_FILE_NAME = $00000001;
{$EXTERNALSYM FILE_NOTIFY_CHANGE_FILE_NAME}
FILE_NOTIFY_CHANGE_DIR_NAME = $00000002;
{$EXTERNALSYM FILE_NOTIFY_CHANGE_DIR_NAME}
FILE_NOTIFY_CHANGE_ATTRIBUTES = $00000004;
{$EXTERNALSYM FILE_NOTIFY_CHANGE_ATTRIBUTES}
FILE_NOTIFY_CHANGE_SIZE = $00000008;
{$EXTERNALSYM FILE_NOTIFY_CHANGE_SIZE}
FILE_NOTIFY_CHANGE_LAST_WRITE = $00000010;
{$EXTERNALSYM FILE_NOTIFY_CHANGE_LAST_WRITE}
FILE_NOTIFY_CHANGE_LAST_ACCESS = $00000020;
{$EXTERNALSYM FILE_NOTIFY_CHANGE_LAST_ACCESS}
FILE_NOTIFY_CHANGE_CREATION = $00000040;
{$EXTERNALSYM FILE_NOTIFY_CHANGE_CREATION}
FILE_NOTIFY_CHANGE_SECURITY = $00000100;
{$EXTERNALSYM FILE_NOTIFY_CHANGE_SECURITY}
FILE_ACTION_ADDED = $00000001;
{$EXTERNALSYM FILE_ACTION_ADDED}
FILE_ACTION_REMOVED = $00000002;
{$EXTERNALSYM FILE_ACTION_REMOVED}
FILE_ACTION_MODIFIED = $00000003;
{$EXTERNALSYM FILE_ACTION_MODIFIED}
FILE_ACTION_RENAMED_OLD_NAME = $00000004;
{$EXTERNALSYM FILE_ACTION_RENAMED_OLD_NAME}
FILE_ACTION_RENAMED_NEW_NAME = $00000005;
{$EXTERNALSYM FILE_ACTION_RENAMED_NEW_NAME}
MAILSLOT_NO_MESSAGE = DWORD(-1);
{$EXTERNALSYM MAILSLOT_NO_MESSAGE}
MAILSLOT_WAIT_FOREVER = DWORD(-1);
{$EXTERNALSYM MAILSLOT_WAIT_FOREVER}
FILE_CASE_SENSITIVE_SEARCH = $00000001;
{$EXTERNALSYM FILE_CASE_SENSITIVE_SEARCH}
FILE_CASE_PRESERVED_NAMES = $00000002;
{$EXTERNALSYM FILE_CASE_PRESERVED_NAMES}
FILE_UNICODE_ON_DISK = $00000004;
{$EXTERNALSYM FILE_UNICODE_ON_DISK}
FILE_PERSISTENT_ACLS = $00000008;
{$EXTERNALSYM FILE_PERSISTENT_ACLS}
FILE_FILE_COMPRESSION = $00000010;
{$EXTERNALSYM FILE_FILE_COMPRESSION}
FILE_VOLUME_QUOTAS = $00000020;
{$EXTERNALSYM FILE_VOLUME_QUOTAS}
FILE_SUPPORTS_SPARSE_FILES = $00000040;
{$EXTERNALSYM FILE_SUPPORTS_SPARSE_FILES}
FILE_SUPPORTS_REPARSE_POINTS = $00000080;
{$EXTERNALSYM FILE_SUPPORTS_REPARSE_POINTS}
FILE_SUPPORTS_REMOTE_STORAGE = $00000100;
{$EXTERNALSYM FILE_SUPPORTS_REMOTE_STORAGE}
FILE_VOLUME_IS_COMPRESSED = $00008000;
{$EXTERNALSYM FILE_VOLUME_IS_COMPRESSED}
FILE_SUPPORTS_OBJECT_IDS = $00010000;
{$EXTERNALSYM FILE_SUPPORTS_OBJECT_IDS}
FILE_SUPPORTS_ENCRYPTION = $00020000;
{$EXTERNALSYM FILE_SUPPORTS_ENCRYPTION}
FILE_NAMED_STREAMS = $00040000;
{$EXTERNALSYM FILE_NAMED_STREAMS}
FILE_READ_ONLY_VOLUME = $00080000;
{$EXTERNALSYM FILE_READ_ONLY_VOLUME}
// line 4052
//
// The reparse GUID structure is used by all 3rd party layered drivers to
// store data in a reparse point. For non-Microsoft tags, The GUID field
// cannot be GUID_NULL.
// The constraints on reparse tags are defined below.
// Microsoft tags can also be used with this format of the reparse point buffer.
//
type
TGenericReparseBuffer = record
DataBuffer: array [0..0] of BYTE;
end;
PREPARSE_GUID_DATA_BUFFER = ^REPARSE_GUID_DATA_BUFFER;
{$EXTERNALSYM PREPARSE_GUID_DATA_BUFFER}
_REPARSE_GUID_DATA_BUFFER = record
ReparseTag: DWORD;
ReparseDataLength: WORD;
Reserved: WORD;
ReparseGuid: TGUID;
GenericReparseBuffer: TGenericReparseBuffer;
end;
{$EXTERNALSYM _REPARSE_GUID_DATA_BUFFER}
REPARSE_GUID_DATA_BUFFER = _REPARSE_GUID_DATA_BUFFER;
{$EXTERNALSYM REPARSE_GUID_DATA_BUFFER}
TReparseGuidDataBuffer = REPARSE_GUID_DATA_BUFFER;
PReparseGuidDataBuffer = PREPARSE_GUID_DATA_BUFFER;
const
REPARSE_GUID_DATA_BUFFER_HEADER_SIZE = 24;
{$EXTERNALSYM REPARSE_GUID_DATA_BUFFER_HEADER_SIZE}
//
// Maximum allowed size of the reparse data.
//
const
MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024;
{$EXTERNALSYM MAXIMUM_REPARSE_DATA_BUFFER_SIZE}
//
// Predefined reparse tags.
// These tags need to avoid conflicting with IO_REMOUNT defined in ntos\inc\io.h
//
IO_REPARSE_TAG_RESERVED_ZERO = (0);
{$EXTERNALSYM IO_REPARSE_TAG_RESERVED_ZERO}
IO_REPARSE_TAG_RESERVED_ONE = (1);
{$EXTERNALSYM IO_REPARSE_TAG_RESERVED_ONE}
//
// The value of the following constant needs to satisfy the following conditions:
// (1) Be at least as large as the largest of the reserved tags.
// (2) Be strictly smaller than all the tags in use.
//
IO_REPARSE_TAG_RESERVED_RANGE = IO_REPARSE_TAG_RESERVED_ONE;
{$EXTERNALSYM IO_REPARSE_TAG_RESERVED_RANGE}
//
// The reparse tags are a DWORD. The 32 bits are laid out as follows:
//
// 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
// 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
// +-+-+-+-+-----------------------+-------------------------------+
// |M|R|N|R| Reserved bits | Reparse Tag Value |
// +-+-+-+-+-----------------------+-------------------------------+
//
// M is the Microsoft bit. When set to 1, it denotes a tag owned by Microsoft.
// All ISVs must use a tag with a 0 in this position.
// Note: If a Microsoft tag is used by non-Microsoft software, the
// behavior is not defined.
//
// R is reserved. Must be zero for non-Microsoft tags.
//
// N is name surrogate. When set to 1, the file represents another named
// entity in the system.
//
// The M and N bits are OR-able.
// The following macros check for the M and N bit values:
//
//
// Macro to determine whether a reparse point tag corresponds to a tag
// owned by Microsoft.
//
function IsReparseTagMicrosoft(Tag: ULONG): Boolean;
{$EXTERNALSYM IsReparseTagMicrosoft}
//
// Macro to determine whether a reparse point tag corresponds to a file
// that is to be displayed with the slow icon overlay.
//
function IsReparseTagHighLatency(Tag: ULONG): Boolean;
{$EXTERNALSYM IsReparseTagHighLatency}
//
// Macro to determine whether a reparse point tag is a name surrogate
//
function IsReparseTagNameSurrogate(Tag: ULONG): Boolean;
{$EXTERNALSYM IsReparseTagNameSurrogate}
const
IO_REPARSE_TAG_MOUNT_POINT = DWORD($A0000003);
{$EXTERNALSYM IO_REPARSE_TAG_MOUNT_POINT}
IO_REPARSE_TAG_HSM = DWORD($C0000004);
{$EXTERNALSYM IO_REPARSE_TAG_HSM}
IO_REPARSE_TAG_SIS = DWORD($80000007);
{$EXTERNALSYM IO_REPARSE_TAG_SIS}
IO_REPARSE_TAG_DFS = DWORD($8000000A);
{$EXTERNALSYM IO_REPARSE_TAG_DFS}
IO_REPARSE_TAG_FILTER_MANAGER = DWORD($8000000B);
{$EXTERNALSYM IO_REPARSE_TAG_FILTER_MANAGER}
IO_COMPLETION_MODIFY_STATE = $0002;
{$EXTERNALSYM IO_COMPLETION_MODIFY_STATE}
IO_COMPLETION_ALL_ACCESS = DWORD(STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or $3);
{$EXTERNALSYM IO_COMPLETION_ALL_ACCESS}
DUPLICATE_CLOSE_SOURCE = $00000001;
{$EXTERNALSYM DUPLICATE_CLOSE_SOURCE}
DUPLICATE_SAME_ACCESS = $00000002;
{$EXTERNALSYM DUPLICATE_SAME_ACCESS}
// line 4763
//
// File header format.
//
type
PIMAGE_FILE_HEADER = ^IMAGE_FILE_HEADER;
{$EXTERNALSYM PIMAGE_FILE_HEADER}
_IMAGE_FILE_HEADER = record
Machine: WORD;
NumberOfSections: WORD;
TimeDateStamp: DWORD;
PointerToSymbolTable: DWORD;
NumberOfSymbols: DWORD;
SizeOfOptionalHeader: WORD;
Characteristics: WORD;
end;
{$EXTERNALSYM _IMAGE_FILE_HEADER}
IMAGE_FILE_HEADER = _IMAGE_FILE_HEADER;
{$EXTERNALSYM IMAGE_FILE_HEADER}
TImageFileHeader = IMAGE_FILE_HEADER;
PImageFileHeader = PIMAGE_FILE_HEADER;
const
IMAGE_SIZEOF_FILE_HEADER = 20;
{$EXTERNALSYM IMAGE_SIZEOF_FILE_HEADER}
IMAGE_FILE_RELOCS_STRIPPED = $0001; // Relocation info stripped from file.
{$EXTERNALSYM IMAGE_FILE_RELOCS_STRIPPED}
IMAGE_FILE_EXECUTABLE_IMAGE = $0002; // File is executable (i.e. no unresolved externel references).
{$EXTERNALSYM IMAGE_FILE_EXECUTABLE_IMAGE}
IMAGE_FILE_LINE_NUMS_STRIPPED = $0004; // Line nunbers stripped from file.
{$EXTERNALSYM IMAGE_FILE_LINE_NUMS_STRIPPED}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -