Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Interop.NtDll Class Reference

Classes

struct  CLIENT_ID
 
struct  FILE_FULL_DIR_INFORMATION
 
struct  IO_STATUS_BLOCK
 
struct  PROCESS_BASIC_INFORMATION
 
struct  RTL_OSVERSIONINFOEX
 
struct  SYSTEM_LEAP_SECOND_INFORMATION
 
struct  SYSTEM_PROCESS_INFORMATION
 
struct  SYSTEM_THREAD_INFORMATION
 

Public Types

enum  CreateDisposition : uint {
  FILE_SUPERSEDE , FILE_OPEN , FILE_CREATE , FILE_OPEN_IF ,
  FILE_OVERWRITE , FILE_OVERWRITE_IF
}
 
enum  CreateOptions : uint {
  FILE_DIRECTORY_FILE = 1u , FILE_WRITE_THROUGH = 2u , FILE_SEQUENTIAL_ONLY = 4u , FILE_NO_INTERMEDIATE_BUFFERING = 8u ,
  FILE_SYNCHRONOUS_IO_ALERT = 0x10u , FILE_SYNCHRONOUS_IO_NONALERT = 0x20u , FILE_NON_DIRECTORY_FILE = 0x40u , FILE_CREATE_TREE_CONNECTION = 0x80u ,
  FILE_COMPLETE_IF_OPLOCKED = 0x100u , FILE_NO_EA_KNOWLEDGE = 0x200u , FILE_RANDOM_ACCESS = 0x800u , FILE_DELETE_ON_CLOSE = 0x1000u ,
  FILE_OPEN_BY_FILE_ID = 0x2000u , FILE_OPEN_FOR_BACKUP_INTENT = 0x4000u , FILE_NO_COMPRESSION = 0x8000u , FILE_OPEN_REQUIRING_OPLOCK = 0x10000u ,
  FILE_DISALLOW_EXCLUSIVE = 0x20000u , FILE_SESSION_AWARE = 0x40000u , FILE_RESERVE_OPFILTER = 0x100000u , FILE_OPEN_REPARSE_POINT = 0x200000u ,
  FILE_OPEN_NO_RECALL = 0x400000u
}
 
enum  DesiredAccess : uint {
  FILE_READ_DATA = 1u , FILE_LIST_DIRECTORY = 1u , FILE_WRITE_DATA = 2u , FILE_ADD_FILE = 2u ,
  FILE_APPEND_DATA = 4u , FILE_ADD_SUBDIRECTORY = 4u , FILE_CREATE_PIPE_INSTANCE = 4u , FILE_READ_EA = 8u ,
  FILE_WRITE_EA = 0x10u , FILE_EXECUTE = 0x20u , FILE_TRAVERSE = 0x20u , FILE_DELETE_CHILD = 0x40u ,
  FILE_READ_ATTRIBUTES = 0x80u , FILE_WRITE_ATTRIBUTES = 0x100u , FILE_ALL_ACCESS = 0xF01FFu , DELETE = 0x10000u ,
  READ_CONTROL = 0x20000u , WRITE_DAC = 0x40000u , WRITE_OWNER = 0x80000u , SYNCHRONIZE = 0x100000u ,
  STANDARD_RIGHTS_READ = 0x20000u , STANDARD_RIGHTS_WRITE = 0x20000u , STANDARD_RIGHTS_EXECUTE = 0x20000u , FILE_GENERIC_READ = 0x80000000u ,
  FILE_GENERIC_WRITE = 0x40000000u , FILE_GENERIC_EXECUTE = 0x20000000u
}
 
enum  FILE_INFORMATION_CLASS : uint {
  FileDirectoryInformation = 1u , FileFullDirectoryInformation , FileBothDirectoryInformation , FileBasicInformation ,
  FileStandardInformation , FileInternalInformation , FileEaInformation , FileAccessInformation ,
  FileNameInformation , FileRenameInformation , FileLinkInformation , FileNamesInformation ,
  FileDispositionInformation , FilePositionInformation , FileFullEaInformation , FileModeInformation ,
  FileAlignmentInformation , FileAllInformation , FileAllocationInformation , FileEndOfFileInformation ,
  FileAlternateNameInformation , FileStreamInformation , FilePipeInformation , FilePipeLocalInformation ,
  FilePipeRemoteInformation , FileMailslotQueryInformation , FileMailslotSetInformation , FileCompressionInformation ,
  FileObjectIdInformation , FileCompletionInformation , FileMoveClusterInformation , FileQuotaInformation ,
  FileReparsePointInformation , FileNetworkOpenInformation , FileAttributeTagInformation , FileTrackingInformation ,
  FileIdBothDirectoryInformation , FileIdFullDirectoryInformation , FileValidDataLengthInformation , FileShortNameInformation ,
  FileIoCompletionNotificationInformation , FileIoStatusBlockRangeInformation , FileIoPriorityHintInformation , FileSfioReserveInformation ,
  FileSfioVolumeInformation , FileHardLinkInformation , FileProcessIdsUsingFileInformation , FileNormalizedNameInformation ,
  FileNetworkPhysicalNameInformation , FileIdGlobalTxDirectoryInformation , FileIsRemoteDeviceInformation , FileUnusedInformation ,
  FileNumaNodeInformation , FileStandardLinkInformation , FileRemoteProtocolInformation , FileRenameInformationBypassAccessCheck ,
  FileLinkInformationBypassAccessCheck , FileVolumeNameInformation , FileIdInformation , FileIdExtdDirectoryInformation ,
  FileReplaceCompletionInformation , FileHardLinkFullIdInformation , FileIdExtdBothDirectoryInformation , FileDispositionInformationEx ,
  FileRenameInformationEx , FileRenameInformationExBypassAccessCheck , FileDesiredStorageClassInformation , FileStatInformation
}
 

Public Member Functions

static unsafe int NtQueryDirectoryFile (IntPtr FileHandle, IntPtr Event, IntPtr ApcRoutine, IntPtr ApcContext, IO_STATUS_BLOCK *IoStatusBlock, IntPtr FileInformation, uint Length, FILE_INFORMATION_CLASS FileInformationClass, BOOLEAN ReturnSingleEntry, UNICODE_STRING *FileName, BOOLEAN RestartScan)
 

Package Functions

static unsafe uint NtQueryInformationProcess (SafeProcessHandle ProcessHandle, int ProcessInformationClass, void *ProcessInformation, uint ProcessInformationLength, out uint ReturnLength)
 
static unsafe uint NtQuerySystemInformation (int SystemInformationClass, void *SystemInformation, uint SystemInformationLength, uint *ReturnLength)
 
static unsafe int NtQueryInformationFile (SafeFileHandle FileHandle, out IO_STATUS_BLOCK IoStatusBlock, void *FileInformation, uint Length, uint FileInformationClass)
 
static unsafe uint NtQuerySystemInformation (int SystemInformationClass, void *SystemInformation, uint SystemInformationLength, uint *ReturnLength)
 

Static Package Functions

static unsafe (uint status, IntPtr handle) CreateFile(ReadOnlySpan< char > path
 
static unsafe int RtlGetVersionEx (out RTL_OSVERSIONINFOEX osvi)
 

Private Member Functions

static unsafe uint NtCreateFile (IntPtr *FileHandle, DesiredAccess DesiredAccess, OBJECT_ATTRIBUTES *ObjectAttributes, IO_STATUS_BLOCK *IoStatusBlock, long *AllocationSize, FileAttributes FileAttributes, FileShare ShareAccess, CreateDisposition CreateDisposition, CreateOptions CreateOptions, void *EaBuffer, uint EaLength)
 
static int RtlGetVersion (ref RTL_OSVERSIONINFOEX lpVersionInformation)
 

Private Attributes

static IntPtr rootDirectory
 
static IntPtr CreateDisposition createDisposition
 
static IntPtr CreateDisposition DesiredAccess desiredAccess = DesiredAccess.SYNCHRONIZE | DesiredAccess.FILE_GENERIC_READ
 
static IntPtr CreateDisposition DesiredAccess FileShare shareAccess = FileShare.ReadWrite | FileShare.Delete
 
static IntPtr CreateDisposition DesiredAccess FileShare FileAttributes fileAttributes = (FileAttributes)0
 
static IntPtr CreateDisposition DesiredAccess FileShare FileAttributes CreateOptions createOptions = CreateOptions.FILE_SYNCHRONOUS_IO_NONALERT
 
static IntPtr CreateDisposition DesiredAccess FileShare FileAttributes CreateOptions ObjectAttributes objectAttributes = ObjectAttributes.OBJ_CASE_INSENSITIVE
 
static IntPtr CreateDisposition DesiredAccess FileShare FileAttributes CreateOptions ObjectAttributes void * eaBuffer = null
 
static IntPtr CreateDisposition DesiredAccess FileShare FileAttributes CreateOptions ObjectAttributes void uint eaLength = 0u
 
static IntPtr CreateDisposition DesiredAccess FileShare FileAttributes CreateOptions ObjectAttributes void uint long * preallocationSize = null
 
static IntPtr CreateDisposition DesiredAccess FileShare FileAttributes CreateOptions ObjectAttributes void uint long SECURITY_QUALITY_OF_SERVICEsecurityQualityOfService
 

Detailed Description

Definition at line 321 of file Interop.cs.


The documentation for this class was generated from the following files: