mirror of
https://github.com/mirror/processhacker
synced 2026-06-08 16:03:24 +00:00
b02427417c
git-svn-id: svn://svn.code.sf.net/p/processhacker/code@5614 21ef857c-d57f-4fe0-8362-d861dc6d29cd
2292 lines
61 KiB
C#
2292 lines
61 KiB
C#
/*
|
|
* Process Hacker -
|
|
* native API enumerations
|
|
*
|
|
* Copyright (C) 2009 Flavio Erlich
|
|
* Copyright (C) 2008-2009 wj32
|
|
*
|
|
* This file is part of Process Hacker.
|
|
*
|
|
* Process Hacker is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* Process Hacker is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with Process Hacker. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
/* This file contains enumeration declarations for the Native API.
|
|
* Enumerations shared between the Native API and Win32 are placed
|
|
* in this file.
|
|
*/
|
|
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace ProcessHacker.Native.Api
|
|
{
|
|
[Flags]
|
|
public enum AceFlags : byte
|
|
{
|
|
ObjectInherit = 0x1,
|
|
ContainerInherit = 0x2,
|
|
NoPropagateInherit = 0x4,
|
|
InheritOnly = 0x8,
|
|
Inherited = 0x10,
|
|
Valid = 0x1f,
|
|
|
|
// For SystemAudit and SystemAlarm ACEs.
|
|
SuccessfulAccess = 0x40,
|
|
FailedAccess = 0x80
|
|
}
|
|
|
|
public enum AceType : byte
|
|
{
|
|
//Mininum = 0x0,
|
|
AccessAllowed = 0x0,
|
|
AccessDenied = 0x1,
|
|
SystemAudit = 0x2,
|
|
SystemAlarm = 0x3,
|
|
//MaximumV2 = 0x3,
|
|
|
|
AccessAllowedCompound = 0x4,
|
|
//MaximumV3 = 0x4,
|
|
|
|
//MinimumObject = 0x5,
|
|
AccessAllowedObject = 0x5,
|
|
AccessDeniedObject = 0x6,
|
|
SystemAuditObject = 0x7,
|
|
SystemAlarmObject = 0x8,
|
|
//MaximumObject = 0x8,
|
|
//MaximumV4 = 0x8,
|
|
//Maximum = 0x8,
|
|
|
|
AccessAllowedCallback = 0x9,
|
|
AccessDeniedCallback = 0xa,
|
|
AccessAllowedCallbackObject = 0xb,
|
|
AccessDeniedCallbackObject = 0xc,
|
|
SystemAuditCallback = 0xd,
|
|
SystemAlarmCallback = 0xe,
|
|
SystemAuditCallbackObject = 0xf,
|
|
SystemAlarmCallbackObject = 0x10,
|
|
//MaximumV5 = 0x10
|
|
}
|
|
|
|
public enum AclInformationClass : int
|
|
{
|
|
AclRevisionInformation = 1,
|
|
AclSizeInformation
|
|
}
|
|
|
|
public enum AlternativeArchitectureType : int
|
|
{
|
|
StandardDesign,
|
|
Nec98x86,
|
|
EndAlternatives
|
|
}
|
|
|
|
public enum BaseSrvApiNumber : int
|
|
{
|
|
BasepCreateProcess = Win32.BaseSrvFirstApiNumber,
|
|
BasepCreateThread,
|
|
BasepGetTempFile,
|
|
BasepExitProcess,
|
|
BasepDebugProcess,
|
|
BasepCheckVDM,
|
|
BasepUpdateVDMEntry,
|
|
BasepGetNextVDMCommand,
|
|
BasepExitVDM,
|
|
BasepIsFirstVDM,
|
|
BasepGetVDMExitCode,
|
|
BasepSetReenterCount,
|
|
BasepSetProcessShutdownParam,
|
|
BasepGetProcessShutdownParam,
|
|
BasepNlsSetUserInfo,
|
|
BasepNlsSetMultipleUserInfo,
|
|
BasepNlsCreateSortSection,
|
|
BasepNlsPreserveSection,
|
|
BasepSetVDMCurDirs,
|
|
BasepGetVDMCurDirs,
|
|
BasepBatNotification,
|
|
BasepRegisterWowExec,
|
|
BasepSoundSentryNotification,
|
|
BasepRefreshIniFileMapping,
|
|
BasepDefineDosDevice,
|
|
BasepMaxApiNumber
|
|
}
|
|
|
|
public enum CompoundAceType : ushort
|
|
{
|
|
Impersonation = 1
|
|
}
|
|
|
|
/// <summary>
|
|
/// Generic context-related flags.
|
|
/// </summary>
|
|
[Flags]
|
|
public enum ContextFlagsGeneric : uint
|
|
{
|
|
// Context architecture
|
|
I386 = 0x00010000,
|
|
I486 = 0x00010000,
|
|
Amd64 = 0x00100000,
|
|
|
|
// Context flags
|
|
Control = 0x00000001,
|
|
Integer = 0x00000002,
|
|
Segments = 0x00000004,
|
|
FloatingPoint = 0x00000008,
|
|
DebugRegisters = 0x00000010,
|
|
ExtendedRegisters = 0x00000020,
|
|
}
|
|
|
|
/// <summary>
|
|
/// x86 context.
|
|
/// </summary>
|
|
[Flags]
|
|
public enum ContextFlags : uint
|
|
{
|
|
I386 = ContextFlagsGeneric.I386,
|
|
I486 = ContextFlagsGeneric.I486,
|
|
|
|
Control = I386 | ContextFlagsGeneric.Control,
|
|
Integer = I386 | ContextFlagsGeneric.Integer,
|
|
Segments = I386 | ContextFlagsGeneric.Segments,
|
|
FloatingPoint = I386 | ContextFlagsGeneric.FloatingPoint,
|
|
DebugRegisters = I386 | ContextFlagsGeneric.DebugRegisters,
|
|
ExtendedRegisters = I386 | ContextFlagsGeneric.ExtendedRegisters,
|
|
|
|
Full = Control | Integer | Segments,
|
|
All = Control | Integer | Segments | FloatingPoint | DebugRegisters | ExtendedRegisters
|
|
}
|
|
|
|
/// <summary>
|
|
/// AMD64 context.
|
|
/// </summary>
|
|
[Flags]
|
|
public enum ContextFlagsAmd64 : uint
|
|
{
|
|
Amd64 = ContextFlagsGeneric.Amd64,
|
|
|
|
Control = Amd64 | ContextFlagsGeneric.Control,
|
|
Integer = Amd64 | ContextFlagsGeneric.Integer,
|
|
Segments = Amd64 | ContextFlagsGeneric.Segments,
|
|
FloatingPoint = Amd64 | ContextFlagsGeneric.FloatingPoint,
|
|
DebugRegisters = Amd64 | ContextFlagsGeneric.DebugRegisters,
|
|
|
|
Full = Control | Integer | FloatingPoint,
|
|
All = Control | Integer | Segments | FloatingPoint | DebugRegisters,
|
|
|
|
ExceptionActive = 0x08000000,
|
|
ServiceActive = 0x10000000,
|
|
ExceptionRequest = 0x40000000,
|
|
ExceptionReporting = 0x80000000
|
|
}
|
|
|
|
[Flags]
|
|
public enum CrmProtocolOptions : int
|
|
{
|
|
ExplicitMarshalOnly = 0x1,
|
|
DynamicMarshalInfo = 0x2,
|
|
MaximumOption = 0x3
|
|
}
|
|
|
|
[Flags]
|
|
public enum DebugObjectFlags : uint
|
|
{
|
|
KillOnClose = 0x1
|
|
}
|
|
|
|
[Flags]
|
|
public enum DebugObjectInformationClass : int
|
|
{
|
|
DebugObjectFlags,
|
|
MaxDebugObjectInfoClass
|
|
}
|
|
|
|
public enum DeviceControlAccess : int
|
|
{
|
|
Any = 0,
|
|
Special = Any,
|
|
Read = 1,
|
|
Write = 2
|
|
}
|
|
|
|
public enum DeviceControlMethod : int
|
|
{
|
|
Buffered = 0,
|
|
InDirect = 1,
|
|
OutDirect = 2,
|
|
Neither = 3
|
|
}
|
|
|
|
public enum DeviceType : int
|
|
{
|
|
Beep = 0x1,
|
|
CdRom = 0x2,
|
|
CdRomFileSystem = 0x3,
|
|
Controller = 0x4,
|
|
DataLink = 0x5,
|
|
Dfs = 0x6,
|
|
Disk = 0x7,
|
|
DiskFileSystem = 0x8,
|
|
FileSystem = 0x9,
|
|
InportPort = 0xa,
|
|
Keyboard = 0xb,
|
|
Mailslot = 0xc,
|
|
MidiIn = 0xd,
|
|
MidiOut = 0xe,
|
|
Mouse = 0xf,
|
|
MultiUncProvider = 0x10,
|
|
NamedPipe = 0x11,
|
|
Network = 0x12,
|
|
NetworkBrowser = 0x13,
|
|
NetworkFileSystem = 0x14,
|
|
Null = 0x15,
|
|
ParallelPort = 0x16,
|
|
PhysicalNetCard = 0x17,
|
|
Printer = 0x18,
|
|
Scanner = 0x19,
|
|
SerialMousePort = 0x1a,
|
|
SerialPort = 0x1b,
|
|
Screen = 0x1c,
|
|
Sound = 0x1d,
|
|
Streams = 0x1e,
|
|
Tape = 0x1f,
|
|
TapeFileSystem = 0x20,
|
|
Transport = 0x21,
|
|
Unknown = 0x22,
|
|
Video = 0x23,
|
|
VirtualDisk = 0x24,
|
|
WaveIn = 0x25,
|
|
WaveOut = 0x26,
|
|
EightZeroFourTwoPort = 0x27,
|
|
NetworkRedirector = 0x28,
|
|
Battery = 0x29,
|
|
BusExtender = 0x2a,
|
|
Modem = 0x2b,
|
|
Vdm = 0x2c,
|
|
MassStorage = 0x2d,
|
|
Smb = 0x2e,
|
|
Ks = 0x2f,
|
|
Changer = 0x30,
|
|
SmartCard = 0x31,
|
|
Acpi = 0x32,
|
|
Dvd = 0x33,
|
|
FullscreenVideo = 0x34,
|
|
DfsFileSystem = 0x35,
|
|
DfsVolume = 0x36,
|
|
Serenum = 0x37,
|
|
TermSrv = 0x38,
|
|
KSec = 0x39,
|
|
Fips = 0x3a,
|
|
Infiniband = 0x3b,
|
|
|
|
MountMgr = 'm',
|
|
MountMgrDevice = 'M'
|
|
}
|
|
|
|
[Flags]
|
|
public enum DbgState : int
|
|
{
|
|
DbgIdle,
|
|
DbgReplyPending,
|
|
DbgCreateThreadStateChange,
|
|
DbgCreateProcessStateChange,
|
|
DbgExitThreadStateChange,
|
|
DbgExitProcessStateChange,
|
|
DbgExceptionStateChange,
|
|
DbgBreakpointStateChange,
|
|
DbgSingleStepStateChange,
|
|
DbgLoadDllStateChange,
|
|
DbgUnloadDllStateChange
|
|
}
|
|
|
|
[Flags]
|
|
public enum DuplicateOptions : int
|
|
{
|
|
CloseSource = 0x1,
|
|
SameAccess = 0x2,
|
|
SameAttributes = 0x4
|
|
}
|
|
|
|
public enum EnlistmentInformationClass : int
|
|
{
|
|
EnlistmentBasicInformation,
|
|
EnlistmentRecoveryInformation,
|
|
EnlistmentFullInformation
|
|
}
|
|
|
|
[Flags]
|
|
public enum EnlistmentOptions : int
|
|
{
|
|
Superior = 0x1,
|
|
MaximumOption = 0x1
|
|
}
|
|
|
|
public enum EventInformationClass : int
|
|
{
|
|
EventBasicInformation
|
|
}
|
|
|
|
public enum EventType : int
|
|
{
|
|
NotificationEvent,
|
|
SynchronizationEvent
|
|
}
|
|
|
|
public enum FileAlignment : int
|
|
{
|
|
Byte = 0x0,
|
|
Word = 0x1,
|
|
Long = 0x3,
|
|
Quad = 0x7,
|
|
Octa = 0xf,
|
|
ThirtyTwoByte = 0x1f,
|
|
SixtyFourByte = 0x3f,
|
|
OneHundredAndTwentyEightByte = 0x7f,
|
|
TwoHundredAndFiftySixByte = 0xff,
|
|
FiveHundredAndTwelveByte = 0x1ff
|
|
}
|
|
|
|
[Flags]
|
|
public enum FileAttributes : uint
|
|
{
|
|
ReadOnly = 0x1,
|
|
Hidden = 0x2,
|
|
System = 0x4,
|
|
|
|
Directory = 0x10,
|
|
Archive = 0x20,
|
|
Device = 0x40,
|
|
Normal = 0x80,
|
|
|
|
Temporary = 0x100,
|
|
SparseFile = 0x200,
|
|
ReparsePoint = 0x400,
|
|
Compressed = 0x800,
|
|
|
|
Offline = 0x1000,
|
|
NotContextIndexed = 0x2000,
|
|
Encrypted = 0x4000
|
|
}
|
|
|
|
[Flags]
|
|
public enum FileCreateOptions : uint
|
|
{
|
|
DirectoryFile = 0x1,
|
|
WriteThrough = 0x2,
|
|
SequentialOnly = 0x4,
|
|
NoIntermediateBuffering = 0x8,
|
|
|
|
SynchronousIoAlert = 0x10,
|
|
SynchronousIoNonAlert = 0x20,
|
|
NonDirectoryFile = 0x40,
|
|
CreateTreeConnection = 0x80,
|
|
|
|
CompleteIfOpLocked = 0x100,
|
|
NoEaKnowledge = 0x200,
|
|
OpenForRecovery = 0x400,
|
|
RandomAccess = 0x800,
|
|
|
|
DeleteOnClose = 0x1000,
|
|
OpenByFileId = 0x2000,
|
|
OpenForBackupIntent = 0x4000,
|
|
NoCompression = 0x8000,
|
|
|
|
ReserveOpFilter = 0x100000,
|
|
OpenReparsePoint = 0x200000,
|
|
OpenNoRecall = 0x400000,
|
|
OpenForFreeSpaceQuery = 0x800000,
|
|
|
|
CopyStructuredStorage = 0x41,
|
|
StructuredStorage = 0x441,
|
|
|
|
ValidOptionFlags = 0xffffff,
|
|
ValidPipeOptionFlags = 0x32,
|
|
ValidMailslotOptionFlags = 0x32,
|
|
ValidSetFlags = 0x36
|
|
}
|
|
|
|
public enum FileCreationDisposition : int
|
|
{
|
|
Supersede = 0x0,
|
|
Open = 0x1,
|
|
Create = 0x2,
|
|
OpenIf = 0x3,
|
|
Overwrite = 0x4,
|
|
OverwriteIf = 0x5
|
|
}
|
|
|
|
public enum FileInformationClass : int
|
|
{
|
|
FileDirectoryInformation = 1, // dir
|
|
FileFullDirectoryInformation, // dir
|
|
FileBothDirectoryInformation, // dir
|
|
FileBasicInformation,
|
|
FileStandardInformation,
|
|
FileInternalInformation,
|
|
FileEaInformation,
|
|
FileAccessInformation,
|
|
FileNameInformation,
|
|
FileRenameInformation, // 10
|
|
FileLinkInformation,
|
|
FileNamesInformation, // dir
|
|
FileDispositionInformation,
|
|
FilePositionInformation,
|
|
FileFullEaInformation,
|
|
FileModeInformation,
|
|
FileAlignmentInformation,
|
|
FileAllInformation,
|
|
FileAllocationInformation,
|
|
FileEndOfFileInformation, // 20
|
|
FileAlternateNameInformation,
|
|
FileStreamInformation,
|
|
FilePipeInformation,
|
|
FilePipeLocalInformation,
|
|
FilePipeRemoteInformation,
|
|
FileMailslotQueryInformation,
|
|
FileMailslotSetInformation,
|
|
FileCompressionInformation,
|
|
FileObjectIdInformation, // dir
|
|
FileCompletionInformation, // 30
|
|
FileMoveClusterInformation,
|
|
FileQuotaInformation,
|
|
FileReparsePointInformation,
|
|
FileNetworkOpenInformation,
|
|
FileAttributeTagInformation,
|
|
FileTrackingInformation,
|
|
FileIdBothDirectoryInformation, // dir
|
|
FileIdFullDirectoryInformation, // dir
|
|
FileValidDataLengthInformation,
|
|
FileShortNameInformation, // 40
|
|
FileIoCompletionNotificationInformation,
|
|
FileIoStatusBlockRangeInformation,
|
|
FileIoPriorityHintInformation,
|
|
FileSfioReserveInformation,
|
|
FileSfioVolumeInformation,
|
|
FileHardLinkInformation,
|
|
FileProcessIdsUsingFileInformation,
|
|
FileNormalizedNameInformation,
|
|
FileNetworkPhysicalNameInformation,
|
|
FileIdGlobalTxDirectoryInformation, // 50
|
|
FileMaximumInformation
|
|
}
|
|
|
|
public enum FileIoStatus : int
|
|
{
|
|
Superseded = 0,
|
|
Opened = 1,
|
|
Created = 2,
|
|
Overwritten = 3,
|
|
Exists = 4,
|
|
DoesNotExist = 5
|
|
}
|
|
|
|
public enum FileNotifyAction : int
|
|
{
|
|
Added = 0x1,
|
|
Removed = 0x2,
|
|
Modified = 0x3,
|
|
RenamedOldName = 0x4,
|
|
RenamedNewName = 0x5,
|
|
AddedStream = 0x6,
|
|
RemovedStream = 0x7,
|
|
ModifiedStream = 0x8,
|
|
RemovedByDelete = 0x9,
|
|
IdNotTunnelled = 0xa,
|
|
TunnelledIdCollision = 0xb
|
|
}
|
|
|
|
[Flags]
|
|
public enum FileNotifyFlags : int
|
|
{
|
|
FileName = 0x1,
|
|
DirName = 0x2,
|
|
Name = 0x3,
|
|
Attributes = 0x4,
|
|
Size = 0x8,
|
|
LastWrite = 0x10,
|
|
LastAccess = 0x20,
|
|
Creation = 0x40,
|
|
Ea = 0x80,
|
|
Security = 0x100,
|
|
StreamName = 0x200,
|
|
StreamSize = 0x400,
|
|
StreamWrite = 0x800,
|
|
Valid = 0xfff
|
|
}
|
|
|
|
[Flags]
|
|
public enum FileObjectFlags : int
|
|
{
|
|
FileOpen = 0x00000001,
|
|
SynchronousIo = 0x00000002,
|
|
AlertableIo = 0x00000004,
|
|
NoIntermediateBuffering = 0x00000008,
|
|
WriteThrough = 0x00000010,
|
|
SequentialOnly = 0x00000020,
|
|
CacheSupported = 0x00000040,
|
|
NamedPipe = 0x00000080,
|
|
StreamFile = 0x00000100,
|
|
MailSlot = 0x00000200,
|
|
GenerateAuditOnClose = 0x00000400,
|
|
QueueIrpToThread = GenerateAuditOnClose,
|
|
DirectDeviceOpen = 0x00000800,
|
|
FileModified = 0x00001000,
|
|
FileSizeChanged = 0x00002000,
|
|
CleanupComplete = 0x00004000,
|
|
TemporaryFile = 0x00008000,
|
|
DeleteOnClose = 0x00010000,
|
|
OpenedCaseSensitivity = 0x00020000,
|
|
HandleCreated = 0x00040000,
|
|
FileFastIoRead = 0x00080000,
|
|
RandomAccess = 0x00100000,
|
|
FileOpenCancelled = 0x00200000,
|
|
VolumeOpen = 0x00400000,
|
|
RemoteOrigin = 0x01000000,
|
|
SkipCompletionPort = 0x02000000,
|
|
SkipSetEvent = 0x04000000,
|
|
SkipSetFastIo = 0x08000000
|
|
}
|
|
|
|
[Flags]
|
|
public enum FileShareMode : uint
|
|
{
|
|
Exclusive = 0x0,
|
|
Read = 0x1,
|
|
Write = 0x2,
|
|
Delete = 0x4,
|
|
|
|
ReadWrite = Read | Write,
|
|
ReadWriteDelete = Read | Write | Delete
|
|
}
|
|
|
|
public enum FsInformationClass : int
|
|
{
|
|
FileFsVolumeInformation = 1,
|
|
FileFsLabelInformation,
|
|
FileFsSizeInformation,
|
|
FileFsDeviceInformation,
|
|
FileFsAttributeInformation,
|
|
FileFsControlInformation,
|
|
FileFsFullSizeInformation,
|
|
FileFsObjectIdInformation,
|
|
FileFsDriverPathInformation,
|
|
FileFsVolumeFlagsInformation, // 10
|
|
FileFsMaximumInformation
|
|
}
|
|
|
|
[Flags]
|
|
public enum HandleFlags : byte
|
|
{
|
|
ProtectFromClose = 0x1,
|
|
Inherit = 0x2,
|
|
AuditObjectClose = 0x4
|
|
}
|
|
|
|
public enum HandleTraceType : int
|
|
{
|
|
Open = 1,
|
|
Close = 2,
|
|
BadRef = 3
|
|
}
|
|
|
|
[Flags]
|
|
public enum HashStringAlgorithm : int
|
|
{
|
|
Default = 0,
|
|
X65599 = 1,
|
|
Invalid = -1
|
|
}
|
|
|
|
[Flags]
|
|
public enum HeapFlags : uint
|
|
{
|
|
NoSerialize = 0x00000001,
|
|
Growable = 0x00000002,
|
|
GenerateExceptions = 0x00000004,
|
|
ZeroMemory = 0x00000008,
|
|
ReallocInPlaceOnly = 0x00000010,
|
|
TailCheckingEnabled = 0x00000020,
|
|
FreeCheckingEnabled = 0x00000040,
|
|
DisableCoalesceOnFree = 0x00000080,
|
|
|
|
CreateAlign16 = 0x00010000,
|
|
CreateEnableTracing = 0x00020000,
|
|
CreateEnableExecute = 0x00040000,
|
|
|
|
SettableUserValue = 0x00000100,
|
|
SettableUserFlag1 = 0x00000200,
|
|
SettableUserFlag2 = 0x00000400,
|
|
SettableUserFlag3 = 0x00000800,
|
|
SettableUserFlags = 0x00000e00,
|
|
|
|
Class0 = 0x00000000, // Process heap
|
|
Class1 = 0x00001000, // Private heap
|
|
Class2 = 0x00002000, // Kernel heap
|
|
Class3 = 0x00003000, // GDI heap
|
|
Class4 = 0x00004000, // User heap
|
|
Class5 = 0x00005000, // Console heap
|
|
Class6 = 0x00006000, // User desktop heap
|
|
Class7 = 0x00007000, // CSRSS shared heap
|
|
Class8 = 0x00008000, // CSR port heap
|
|
ClassMask = 0x0000f000
|
|
}
|
|
|
|
public enum ImageBaseRelocationType : short
|
|
{
|
|
/// <summary>
|
|
/// The base relocation is skipped. This type can be used to pad a block.
|
|
/// </summary>
|
|
Absolute = 0,
|
|
|
|
/// <summary>
|
|
/// The base relocation adds the high 16 bits of the difference to the 16-bit
|
|
/// field at offset. The 16-bit field represents the high value of a 32-bit word.
|
|
/// </summary>
|
|
High = 1,
|
|
|
|
/// <summary>
|
|
/// The base relocation adds the low 16 bits of the difference to the 16-bit
|
|
/// field at offset. The 16-bit field represents the low half of a 32-bit word.
|
|
/// </summary>
|
|
Low = 2,
|
|
|
|
/// <summary>
|
|
/// The base relocation applies all 32 bits of the difference to the 32-bit
|
|
/// field at offset.
|
|
/// </summary>
|
|
HighLow = 3,
|
|
|
|
/// <summary>
|
|
/// The base relocation adds the high 16 bits of the difference to the 16-bit
|
|
/// field at offset. The 16-bit field represents the high value of a 32-bit word.
|
|
/// The low 16 bits of the 32-bit value are stored in the 16-bit word that follows
|
|
/// this base relocation. This means that this base relocation occupies two slots.
|
|
/// </summary>
|
|
HighAdj = 4,
|
|
|
|
/// <summary>
|
|
/// The base relocation applies to a MIPS jump instruction.
|
|
/// </summary>
|
|
MipsJmpAddr = 5,
|
|
|
|
/// <summary>
|
|
/// The base relocation applies to a MIPS16 jump instruction.
|
|
/// </summary>
|
|
MipsJmpAddr16 = 9,
|
|
Ia64Imm64 = 9,
|
|
|
|
/// <summary>
|
|
/// The base relocation applies the difference to the 64-bit field at offset.
|
|
/// </summary>
|
|
Dir16 = 10
|
|
}
|
|
|
|
[Flags]
|
|
public enum ImageCharacteristics : ushort
|
|
{
|
|
/// <summary>
|
|
/// Image only, Windows CE, and Windows NT® and later. This indicates that the file does
|
|
/// not contain base relocations and must therefore be loaded at its preferred base address.
|
|
/// If the base address is not available, the loader reports an error. The default behavior
|
|
/// of the linker is to strip base relocations from executable (EXE) files.
|
|
/// </summary>
|
|
RelocsStripped = 0x0001,
|
|
|
|
/// <summary>
|
|
/// Image only. This indicates that the image file is valid and can be run. If this flag
|
|
/// is not set, it indicates a linker error.
|
|
/// </summary>
|
|
ExecutableImage = 0x0002,
|
|
|
|
/// <summary>
|
|
/// COFF line numbers have been removed. This flag is deprecated and should be zero.
|
|
/// </summary>
|
|
LineNumsStripped = 0x0004,
|
|
|
|
/// <summary>
|
|
/// COFF symbol table entries for local symbols have been removed. This flag is deprecated
|
|
/// and should be zero.
|
|
/// </summary>
|
|
LocalSymsStripped = 0x0008,
|
|
|
|
/// <summary>
|
|
/// Obsolete. Aggressively trim working set. This flag is deprecated for Windows 2000 and later
|
|
/// and must be zero.
|
|
/// </summary>
|
|
AggressiveWsTrim = 0x0010,
|
|
|
|
/// <summary>
|
|
/// Application can handle > 2 GB addresses.
|
|
/// </summary>
|
|
LargeAddressAware = 0x0020,
|
|
|
|
/// <summary>
|
|
/// This flag is reserved for future use.
|
|
/// </summary>
|
|
Reserved = 0x0040,
|
|
|
|
/// <summary>
|
|
/// Little endian: the least significant bit (LSB) precedes the most significant bit (MSB) in
|
|
/// memory. This flag is deprecated and should be zero.
|
|
/// </summary>
|
|
BytesReversedLo = 0x0080,
|
|
|
|
/// <summary>
|
|
/// Machine is based on a 32-bit-word architecture.
|
|
/// </summary>
|
|
ThirtyTwoBitMachine = 0x0100,
|
|
|
|
/// <summary>
|
|
/// Debugging information is removed from the image file.
|
|
/// </summary>
|
|
DebugStripped = 0x0200,
|
|
|
|
/// <summary>
|
|
/// If the image is on removable media, fully load it and copy it to the swap file.
|
|
/// </summary>
|
|
RemovableRunFromSwap = 0x0400,
|
|
|
|
/// <summary>
|
|
/// If the image is on network media, fully load it and copy it to the swap file.
|
|
/// </summary>
|
|
NetRunFromSwap = 0x0800,
|
|
|
|
/// <summary>
|
|
/// The image file is a system file, not a user program.
|
|
/// </summary>
|
|
System = 0x1000,
|
|
|
|
/// <summary>
|
|
/// The image file is a dynamic-link library (DLL). Such files are considered
|
|
/// executable files for almost all purposes, although they cannot be directly run.
|
|
/// </summary>
|
|
DLL = 0x2000,
|
|
|
|
/// <summary>
|
|
/// The file should be run only on a uniprocessor machine.
|
|
/// </summary>
|
|
UPSystemOnly = 0x4000,
|
|
|
|
/// <summary>
|
|
/// Big endian: the MSB precedes the LSB in memory. This flag is deprecated and should be zero.
|
|
/// </summary>
|
|
BytesReversedHi = 0x8000
|
|
}
|
|
|
|
[Flags]
|
|
public enum ImageDllCharacteristics : ushort
|
|
{
|
|
DynamicBase = 0x0040,
|
|
ForceIntegrity = 0x0080,
|
|
NxCompat = 0x0100,
|
|
NoIsolation = 0x0200,
|
|
NoSeh = 0x0400,
|
|
NoBind = 0x0800,
|
|
WdmDriver = 0x2000,
|
|
TerminalServerAware = 0x8000
|
|
}
|
|
|
|
public enum ImageI386RelocationType : short
|
|
{
|
|
Absolute = 0x0,
|
|
Dir16 = 0x1,
|
|
Rel16 = 0x2,
|
|
Dir32 = 0x6,
|
|
Dir32Nb = 0x7,
|
|
Seg12 = 0x9,
|
|
Section = 0xa,
|
|
SecRel = 0xb,
|
|
Token = 0xc,
|
|
SecRel7 = 0xd,
|
|
Rel32 = 0x14
|
|
}
|
|
|
|
[Flags]
|
|
public enum ImageSectionFlags : uint
|
|
{
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
Reserved1 = 0x00000000,
|
|
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
Reserved2 = 0x00000001,
|
|
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
Reserved3 = 0x00000002,
|
|
|
|
/// <summary>
|
|
/// Reserved, must be zero.
|
|
/// </summary>
|
|
Reserved4 = 0x00000004,
|
|
|
|
/// <summary>
|
|
/// The section should not be padded to the next boundary.
|
|
/// This flag is obsolete and is replaced by IMAGE_SCN_ALIGN_1BYTES.
|
|
/// This is valid only for object files.
|
|
/// </summary>
|
|
NoPad = 0x00000008,
|
|
|
|
/// <summary>
|
|
/// The section contains executable code.
|
|
/// </summary>
|
|
Code = 0x00000020,
|
|
|
|
/// <summary>
|
|
/// The section contains initialized data.
|
|
/// </summary>
|
|
InitializedData = 0x00000040,
|
|
|
|
/// <summary>
|
|
/// The section contains uninitialized data.
|
|
/// </summary>
|
|
UninitializedData = 0x00000080,
|
|
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
Other = 0x00000100,
|
|
|
|
/// <summary>
|
|
/// The section contains comments or other information. The
|
|
/// .drectve section has this type. This is valid for object
|
|
/// files only.
|
|
/// </summary>
|
|
Info = 0x00000200,
|
|
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
Reserved5 = 0x00000400,
|
|
|
|
/// <summary>
|
|
/// The section will not become part of the image. This is valid
|
|
/// only for object files.
|
|
/// </summary>
|
|
Remove = 0x00000800,
|
|
|
|
/// <summary>
|
|
/// The section contains COMDAT data.
|
|
/// </summary>
|
|
COMDAT = 0x00001000,
|
|
|
|
/// <summary>
|
|
/// The section contains data referenced through the global pointer (GP).
|
|
/// </summary>
|
|
GPRel = 0x00008000,
|
|
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
MemoryPurgeable = 0x00010000,
|
|
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
Memory16Bit = 0x00020000,
|
|
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
MemoryLocked = 0x00040000,
|
|
|
|
/// <summary>
|
|
/// Reserved for future use.
|
|
/// </summary>
|
|
MemoryPeload = 0x00080000,
|
|
|
|
Align1Bytes = 0x00100000,
|
|
Align2Bytes = 0x00200000,
|
|
Align4Bytes = 0x00300000,
|
|
Align8Bytes = 0x00400000,
|
|
Align16Bytes = 0x00500000,
|
|
Align32Bytes = 0x00600000,
|
|
Align64Bytes = 0x00700000,
|
|
Align128Bytes = 0x00800000,
|
|
Align256Bytes = 0x00900000,
|
|
Align512Bytes = 0x00a00000,
|
|
Align1024Bytes = 0x00b00000,
|
|
Align2048Bytes = 0x00c00000,
|
|
Align4096Bytes = 0x00d00000,
|
|
Align8192Bytes = 0x00e00000,
|
|
|
|
/// <summary>
|
|
/// The section contains extended relocations.
|
|
/// </summary>
|
|
NRelocOvfl = 0x01000000,
|
|
|
|
/// <summary>
|
|
/// The section can be discarded as needed.
|
|
/// </summary>
|
|
MemoryDiscardable = 0x02000000,
|
|
|
|
/// <summary>
|
|
/// The section cannot be cached.
|
|
/// </summary>
|
|
MemoryNotCached = 0x04000000,
|
|
|
|
/// <summary>
|
|
/// The section is not pageable.
|
|
/// </summary>
|
|
MemoryNotPaged = 0x08000000,
|
|
|
|
/// <summary>
|
|
/// The section can be shared in memory.
|
|
/// </summary>
|
|
MemoryShared = 0x10000000,
|
|
|
|
/// <summary>
|
|
/// The section can be executed as code.
|
|
/// </summary>
|
|
MemoryExecute = 0x20000000,
|
|
|
|
/// <summary>
|
|
/// The section can be read.
|
|
/// </summary>
|
|
MemoryRead = 0x40000000,
|
|
|
|
/// <summary>
|
|
/// The section can be written to.
|
|
/// </summary>
|
|
MemoryWrite = 0x80000000
|
|
}
|
|
|
|
public enum ImageSubsystem : short
|
|
{
|
|
Unknown = 0,
|
|
Native = 1,
|
|
WindowsGui = 2,
|
|
WindowsCui = 3,
|
|
OS2Cui = 5,
|
|
PosixCui = 7,
|
|
NativeWindows = 8,
|
|
WindowsCeGui = 9,
|
|
EfiApplication = 10,
|
|
EfiBootServiceDriver = 11,
|
|
EfiRuntimeDriver = 12,
|
|
EfiRom = 13,
|
|
Xbox = 14,
|
|
WindowsBootApplication = 16
|
|
}
|
|
|
|
public enum IoCompletionInformationClass : int
|
|
{
|
|
IoCompletionBasicInformation
|
|
}
|
|
|
|
public enum IoReparseTag : uint
|
|
{
|
|
ReservedZero = 0x0,
|
|
ReservedOne = 0x1,
|
|
|
|
MountPoint = 0xa0000003,
|
|
Hsm = 0xc0000004,
|
|
DriveExtender = 0x80000005,
|
|
Hsm2 = 0x80000006,
|
|
Sis = 0x80000007,
|
|
Wim = 0x80000008,
|
|
Csv = 0x80000009,
|
|
Dfs = 0x8000000a,
|
|
FilterManager = 0x8000000b,
|
|
SymLink = 0xa000000c,
|
|
IisCache = 0xa0000010,
|
|
Dfsr = 0x80000012
|
|
}
|
|
|
|
[Flags]
|
|
public enum JobObjectBasicUiRestrictions : uint
|
|
{
|
|
Handles = 0x1,
|
|
ReadClipboard = 0x2,
|
|
WriteClipboard = 0x4,
|
|
SystemParameters = 0x8,
|
|
DisplaySettings = 0x10,
|
|
GlobalAtoms = 0x20,
|
|
Desktop = 0x40,
|
|
ExitWindows = 0x80
|
|
}
|
|
|
|
public enum JobObjectInformationClass : int
|
|
{
|
|
JobObjectBasicAccountingInformation = 1,
|
|
JobObjectBasicLimitInformation,
|
|
JobObjectBasicProcessIdList,
|
|
JobObjectBasicUIRestrictions,
|
|
JobObjectSecurityLimitInformation,
|
|
JobObjectEndOfJobTimeInformation,
|
|
JobObjectAssociateCompletionPortInformation,
|
|
JobObjectBasicAndIoAccountingInformation,
|
|
JobObjectExtendedLimitInformation,
|
|
JobObjectJobSetInformation
|
|
}
|
|
|
|
[Flags]
|
|
public enum JobObjectLimitFlags : uint
|
|
{
|
|
WorkingSet = 0x1,
|
|
ProcessTime = 0x2,
|
|
JobTime = 0x4,
|
|
ActiveProcess = 0x8,
|
|
Affinity = 0x10,
|
|
PriorityClass = 0x20,
|
|
PreserveJobTime = 0x40,
|
|
SchedulingClass = 0x80,
|
|
ProcessMemory = 0x100,
|
|
JobMemory = 0x200,
|
|
DieOnUnhandledException = 0x400,
|
|
BreakawayOk = 0x800,
|
|
SilentBreakawayOk = 0x1000,
|
|
KillOnJobClose = 0x2000,
|
|
}
|
|
|
|
[Flags]
|
|
public enum KeyCreationDisposition : int
|
|
{
|
|
CreatedNewKey = 0x1,
|
|
OpenedExistingKey = 0x2
|
|
}
|
|
|
|
public enum KeyInformationClass : int
|
|
{
|
|
KeyBasicInformation,
|
|
KeyNodeInformation,
|
|
KeyFullInformation,
|
|
KeyNameInformation,
|
|
KeyCachedInformation,
|
|
KeyFlagsInformation,
|
|
MaxKeyInfoClass
|
|
}
|
|
|
|
public enum KeySetInformationClass : int
|
|
{
|
|
KeyWriteTimeInformation,
|
|
KeyUserFlagsInformation,
|
|
MaxKeySetInfoClass
|
|
}
|
|
|
|
public enum KProcessorMode : byte
|
|
{
|
|
KernelMode = 0,
|
|
UserMode = 1
|
|
}
|
|
|
|
public enum KProfileSource : int
|
|
{
|
|
ProfileTime,
|
|
ProfileAlignmentFixup,
|
|
ProfileTotalIssues,
|
|
ProfilePipelineDry,
|
|
ProfileLoadInstructions,
|
|
ProfilePipelineFrozen,
|
|
ProfileBranchInstructions,
|
|
ProfileTotalNonissues,
|
|
ProfileDcacheMisses,
|
|
ProfileIcacheMisses,
|
|
ProfileCacheMisses,
|
|
ProfileBranchMispredictions,
|
|
ProfileStoreInstructions,
|
|
ProfileFpInstructions,
|
|
ProfileIntegerInstructions,
|
|
Profile2Issue,
|
|
Profile3Issue,
|
|
Profile4Issue,
|
|
ProfileSpecialInstructions,
|
|
ProfileTotalCycles,
|
|
ProfileIcacheIssues,
|
|
ProfileDcacheAccesses,
|
|
ProfileMemoryBarrierCycles,
|
|
ProfileLoadLinkedIssues,
|
|
ProfileMaximum
|
|
}
|
|
|
|
public enum KtmObjectType : int
|
|
{
|
|
Transaction,
|
|
TransactionManager,
|
|
ResourceManager,
|
|
Enlistment,
|
|
Invalid
|
|
}
|
|
|
|
public enum KWaitReason : int
|
|
{
|
|
Executive = 0,
|
|
FreePage = 1,
|
|
PageIn = 2,
|
|
PoolAllocation = 3,
|
|
DelayExecution = 4,
|
|
Suspended = 5,
|
|
UserRequest = 6,
|
|
WrExecutive = 7,
|
|
WrFreePage = 8,
|
|
WrPageIn = 9,
|
|
WrPoolAllocation = 10,
|
|
WrDelayExecution = 11,
|
|
WrSuspended = 12,
|
|
WrUserRequest = 13,
|
|
WrEventPair = 14,
|
|
WrQueue = 15,
|
|
WrLpcReceive = 16,
|
|
WrLpcReply = 17,
|
|
WrVirtualMemory = 18,
|
|
WrPageOut = 19,
|
|
WrRendezvous = 20,
|
|
Spare2 = 21,
|
|
Spare3 = 22,
|
|
Spare4 = 23,
|
|
Spare5 = 24,
|
|
WrCalloutStack = 25,
|
|
WrKernel = 26,
|
|
WrResource = 27,
|
|
WrPushLock = 28,
|
|
WrMutex = 29,
|
|
WrQuantumEnd = 30,
|
|
WrDispatchInt = 31,
|
|
WrPreempted = 32,
|
|
WrYieldExecution = 33,
|
|
WrFastMutex = 34,
|
|
WrGuardedMutex = 35,
|
|
WrRundown = 36,
|
|
MaximumWaitReason = 37
|
|
}
|
|
|
|
[Flags]
|
|
public enum LdrpDataTableEntryFlags : uint
|
|
{
|
|
StaticLink = 0x00000002,
|
|
ImageDll = 0x00000004,
|
|
Flag0x8 = 0x00000008,
|
|
Flag0x10 = 0x00000010,
|
|
LoadInProgress = 0x00001000,
|
|
UnloadInProgress = 0x00002000,
|
|
EntryProcessed = 0x00004000,
|
|
EntryInserted = 0x00008000,
|
|
CurrentLoad = 0x00010000,
|
|
FailedBuiltInLoad = 0x00020000,
|
|
DontCallForThreads = 0x00040000,
|
|
ProcessAttachCalled = 0x00080000,
|
|
DebugSymbolsLoaded = 0x00100000,
|
|
ImageNotAtBase = 0x00200000,
|
|
CorImage = 0x00400000,
|
|
CorOwnsUnmap = 0x00800000,
|
|
SystemMapped = 0x01000000,
|
|
ImageVerifying = 0x02000000,
|
|
DriverDependentDll = 0x04000000,
|
|
EntryNative = 0x08000000,
|
|
Redirected = 0x10000000,
|
|
NonPagedDebugInfo = 0x20000000,
|
|
MmLoaded = 0x40000000,
|
|
CompatDatabaseProcessed = 0x80000000
|
|
}
|
|
|
|
/// <summary>
|
|
/// Specifies an executable's target CPU type.
|
|
/// </summary>
|
|
public enum MachineType : ushort
|
|
{
|
|
/// <summary>
|
|
/// Assumed to be applicable to any machine type.
|
|
/// </summary>
|
|
Unknown = 0x0,
|
|
|
|
/// <summary>
|
|
/// Matsushita AM33.
|
|
/// </summary>
|
|
Am33 = 0x1d3,
|
|
|
|
/// <summary>
|
|
/// x64.
|
|
/// </summary>
|
|
Amd64 = 0x8664,
|
|
|
|
/// <summary>
|
|
/// ARM little-endian.
|
|
/// </summary>
|
|
Arm = 0x1c0,
|
|
|
|
/// <summary>
|
|
/// EFI byte code.
|
|
/// </summary>
|
|
Ebc = 0xebc,
|
|
|
|
/// <summary>
|
|
/// Intel 386 or later processors and compatible processors.
|
|
/// </summary>
|
|
I386 = 0x14c,
|
|
|
|
/// <summary>
|
|
/// Intel Itanium processor family.
|
|
/// </summary>
|
|
Ia64 = 0x200,
|
|
|
|
/// <summary>
|
|
/// Mitsubishi M32R little endian.
|
|
/// </summary>
|
|
M32R = 0x9041,
|
|
|
|
/// <summary>
|
|
/// MIPS16.
|
|
/// </summary>
|
|
Mips16 = 0x266,
|
|
|
|
/// <summary>
|
|
/// MIPS with FPU.
|
|
/// </summary>
|
|
MipsFpu = 0x366,
|
|
|
|
/// <summary>
|
|
/// MIPS16 with FPU.
|
|
/// </summary>
|
|
MipsFpu16 = 0x466,
|
|
|
|
/// <summary>
|
|
/// PowerPC little-endian.
|
|
/// </summary>
|
|
PowerPc = 0x1f0,
|
|
|
|
/// <summary>
|
|
/// PowerPC with floating point support.
|
|
/// </summary>
|
|
PowerPcFp = 0x1f1,
|
|
|
|
/// <summary>
|
|
/// MIPS little-endian.
|
|
/// </summary>
|
|
R4000 = 0x166,
|
|
|
|
/// <summary>
|
|
/// Hitachi SH3.
|
|
/// </summary>
|
|
Sh3 = 0x1a2,
|
|
|
|
/// <summary>
|
|
/// Hitachi SH3 DSP.
|
|
/// </summary>
|
|
Sh3Dsp = 0x1a3,
|
|
|
|
/// <summary>
|
|
/// Hitachi SH4.
|
|
/// </summary>
|
|
Sh4 = 0x1a6,
|
|
|
|
/// <summary>
|
|
/// Hitachi SH5.
|
|
/// </summary>
|
|
Sh5 = 0x1a8,
|
|
|
|
/// <summary>
|
|
/// Thumb.
|
|
/// </summary>
|
|
Thumb = 0x1c2,
|
|
|
|
/// <summary>
|
|
/// MIPS little-endian WCE v2.
|
|
/// </summary>
|
|
WceMipsv2 = 0x169
|
|
}
|
|
|
|
public enum MediaType : int
|
|
{
|
|
Unknown,
|
|
F5_1Pt2_512,
|
|
F3_1Pt44_512,
|
|
F3_2Pt88_512,
|
|
F3_20Pt8_512,
|
|
F3_720_512,
|
|
F5_360_512,
|
|
F5_320_512,
|
|
F5_320_1024,
|
|
F5_180_512,
|
|
F5_160_512,
|
|
RemovableMedia,
|
|
FixedMedia,
|
|
F3_120M_512,
|
|
F3_640_512,
|
|
F5_640_512,
|
|
F5_720_512,
|
|
F3_1Pt2_512,
|
|
F3_1Pt23_1024,
|
|
F5_1Pt23_1024,
|
|
F3_128Mb_512,
|
|
F3_230Mb_512,
|
|
F8_256_128,
|
|
F3_200Mb_512,
|
|
F3_240M_512,
|
|
F3_32M_512,
|
|
|
|
DDS_4mm = 0x20,
|
|
MiniQic,
|
|
Travan,
|
|
QIC,
|
|
MP_8mm,
|
|
AME_8mm,
|
|
AIT1_8mm,
|
|
DLT,
|
|
NCTP,
|
|
IBM_3480,
|
|
IBM_3490E,
|
|
IBM_Magstar_3590,
|
|
IBM_Magstar_MP,
|
|
STK_DATA_D3,
|
|
SONY_DTF,
|
|
DV_6mm,
|
|
DMI,
|
|
SONY_D2,
|
|
CLEANER_CARTRIDGE,
|
|
CD_ROM,
|
|
CD_R,
|
|
CD_RW,
|
|
DVD_ROM,
|
|
DVD_R,
|
|
DVD_RW,
|
|
MO_3_RW,
|
|
MO_5_WO,
|
|
MO_5_RW,
|
|
MO_5_LIMDOW,
|
|
PC_5_WO,
|
|
PC_5_RW,
|
|
PD_5_RW,
|
|
ABL_5_WO,
|
|
PINNACLE_APEX_5_RW,
|
|
SONY_12_WO,
|
|
PHILIPS_12_WO,
|
|
HITACHI_12_WO,
|
|
CYGNET_12_WO,
|
|
KODAK_14_WO,
|
|
MO_NFR_525,
|
|
NIKON_12_RW,
|
|
IOMEGA_ZIP,
|
|
IOMEGA_JAZ,
|
|
SYQUEST_EZ135,
|
|
SYQUEST_EZFLYER,
|
|
SYQUEST_SYJET,
|
|
AVATAR_F2,
|
|
MP2_8mm,
|
|
DST_S,
|
|
DST_M,
|
|
DST_L,
|
|
VXATape_1,
|
|
VXATape_2,
|
|
STK_9840,
|
|
LTO_Ultrium,
|
|
LTO_Accelis,
|
|
DVD_RAM,
|
|
AIT_8mm,
|
|
ADR_1,
|
|
ADR_2,
|
|
STK_9940,
|
|
SAIT,
|
|
VXATape
|
|
}
|
|
|
|
[Flags]
|
|
public enum MemExecuteOptions : int
|
|
{
|
|
ExecuteDisable = 0x1,
|
|
ExecuteEnable = 0x2,
|
|
DisableThunkEmulation = 0x4,
|
|
Permanent = 0x8
|
|
}
|
|
|
|
[Flags]
|
|
public enum MemoryFlags : uint
|
|
{
|
|
Commit = 0x1000,
|
|
Reserve = 0x2000,
|
|
Decommit = 0x4000,
|
|
Release = 0x8000,
|
|
Free = 0x10000,
|
|
Private = 0x20000,
|
|
Mapped = 0x40000,
|
|
Reset = 0x80000,
|
|
TopDown = 0x100000,
|
|
WriteWatch = 0x200000,
|
|
Physical = 0x400000,
|
|
LargePages = 0x20000000,
|
|
DosLimit = 0x40000000,
|
|
FourMbPages = 0x80000000
|
|
}
|
|
|
|
public enum MemoryInformationClass : int
|
|
{
|
|
MemoryBasicInformation,
|
|
MemoryWorkingSetInformation,
|
|
MemoryMappedFilenameInformation,
|
|
MemoryRegionInformation,
|
|
MemoryWorkingSetExInformation
|
|
}
|
|
|
|
public enum MemoryMapType : int
|
|
{
|
|
Process = 1,
|
|
System = 2
|
|
}
|
|
|
|
[Flags]
|
|
public enum MemoryProtection : uint
|
|
{
|
|
AccessDenied = 0x0,
|
|
Execute = 0x10,
|
|
ExecuteRead = 0x20,
|
|
ExecuteReadWrite = 0x40,
|
|
ExecuteWriteCopy = 0x80,
|
|
Guard = 0x100,
|
|
NoCache = 0x200,
|
|
WriteCombine = 0x400,
|
|
NoAccess = 0x01,
|
|
ReadOnly = 0x02,
|
|
ReadWrite = 0x04,
|
|
WriteCopy = 0x08
|
|
}
|
|
|
|
[Flags]
|
|
public enum MessageResourceFlags : ushort
|
|
{
|
|
Unicode = 0x1
|
|
}
|
|
|
|
public enum MutantInformationClass : int
|
|
{
|
|
MutantBasicInformation,
|
|
MutantOwnerInformation
|
|
}
|
|
|
|
[Flags]
|
|
public enum NotificationMask : uint
|
|
{
|
|
Mask = 0x3fffffff,
|
|
PrePrepare = 0x00000001,
|
|
Prepare = 0x00000002,
|
|
Commit = 0x00000004,
|
|
Rollback = 0x00000008,
|
|
PrePrepareComplete = 0x00000010,
|
|
PrepareComplete = 0x00000020,
|
|
CommitComplete = 0x00000040,
|
|
RollbackComplete = 0x00000080,
|
|
Recover = 0x00000100,
|
|
SinglePhaseComplete = 0x00000200,
|
|
DelegateCommit = 0x00000400,
|
|
RecoverQuery = 0x00000800,
|
|
EnlistPrePrepare = 0x00001000,
|
|
LastRecover = 0x00002000,
|
|
Indoubt = 0x00004000,
|
|
PropagatePull = 0x00008000,
|
|
PropagatePush = 0x00010000,
|
|
Marshal = 0x00020000,
|
|
EnlistMask = 0x00040000,
|
|
RmDisconnected = 0x01000000,
|
|
TmOnline = 0x02000000,
|
|
CommitRequest = 0x04000000,
|
|
Promote = 0x08000000,
|
|
PromoteNew = 0x10000000,
|
|
RequestOutcome = 0x20000000,
|
|
|
|
// For filter manager use only. DO NOT SPECIFY.
|
|
CommitFinalize = 0x40000000
|
|
}
|
|
|
|
[Flags]
|
|
public enum ObjectAceFlags : uint
|
|
{
|
|
ObjectTypePresent = 0x1,
|
|
InheritedObjectTypePresent = 0x2
|
|
}
|
|
|
|
[Flags]
|
|
public enum ObjectFlags : uint
|
|
{
|
|
Inherit = 0x2,
|
|
Permanent = 0x10,
|
|
Exclusive = 0x20,
|
|
CaseInsensitive = 0x40,
|
|
OpenIf = 0x80,
|
|
OpenLink = 0x100,
|
|
KernelHandle = 0x200,
|
|
ForceAccessCheck = 0x400,
|
|
ValidAttributes = 0x7f2
|
|
}
|
|
|
|
public enum ObjectInformationClass : int
|
|
{
|
|
ObjectBasicInformation = 0,
|
|
ObjectNameInformation = 1,
|
|
ObjectTypeInformation = 2,
|
|
ObjectTypesInformation = 3,
|
|
ObjectHandleFlagInformation = 4,
|
|
ObjectSessionInformation = 5
|
|
}
|
|
|
|
public enum PartitionType : byte
|
|
{
|
|
Unused = 0x0,
|
|
Fat12 = 0x1,
|
|
Xenix1 = 0x2,
|
|
Xenix2 = 0x3,
|
|
Fat16 = 0x4,
|
|
Extended = 0x5,
|
|
Huge = 0x6,
|
|
Ifs = 0x7,
|
|
Os2BootMgr = 0xa,
|
|
Fat32 = 0xb,
|
|
Fat32XInt13 = 0xc,
|
|
XInt13 = 0xe,
|
|
XInt13Extended = 0xf,
|
|
Prep = 0x41,
|
|
Ldm = 0x42,
|
|
Unix = 0x63,
|
|
|
|
Ntft = 0x80
|
|
}
|
|
|
|
public enum PipeEnd : int
|
|
{
|
|
Client = 0,
|
|
Server = 1
|
|
}
|
|
|
|
public enum PipeCompletionMode : int
|
|
{
|
|
Queue = 0,
|
|
Complete = 1
|
|
}
|
|
|
|
public enum PipeConfiguration : int
|
|
{
|
|
Inbound = 0,
|
|
Outbound = 1,
|
|
FullDuplex = 2
|
|
}
|
|
|
|
public enum PipeState : int
|
|
{
|
|
Disconnected = 1,
|
|
Listening = 2,
|
|
Connected = 3,
|
|
Closing = 4
|
|
}
|
|
|
|
public enum PipeType : int
|
|
{
|
|
ByteStream = 0,
|
|
Message = 1
|
|
}
|
|
|
|
public enum PortMessageType : short
|
|
{
|
|
Request = 1,
|
|
Reply = 2,
|
|
Datagram = 3,
|
|
LostReply = 4,
|
|
PortClosed = 5,
|
|
ClientDied = 6,
|
|
Exception = 7,
|
|
DebugEvent = 8,
|
|
ErrorEvent = 9,
|
|
ConnectionRequest = 10
|
|
}
|
|
|
|
[Flags]
|
|
public enum PrivilegeSetFlags : int
|
|
{
|
|
AnyNecessary = 0,
|
|
AllNecessary = 0x1
|
|
}
|
|
|
|
public enum ProcessInformationClass : int
|
|
{
|
|
ProcessBasicInformation, // 0
|
|
ProcessQuotaLimits,
|
|
ProcessIoCounters,
|
|
ProcessVmCounters,
|
|
ProcessTimes,
|
|
ProcessBasePriority,
|
|
ProcessRaisePriority,
|
|
ProcessDebugPort,
|
|
ProcessExceptionPort,
|
|
ProcessAccessToken,
|
|
ProcessLdtInformation, // 10
|
|
ProcessLdtSize,
|
|
ProcessDefaultHardErrorMode,
|
|
ProcessIoPortHandlers,
|
|
ProcessPooledUsageAndLimits,
|
|
ProcessWorkingSetWatch,
|
|
ProcessUserModeIOPL,
|
|
ProcessEnableAlignmentFaultFixup,
|
|
ProcessPriorityClass,
|
|
ProcessWx86Information,
|
|
ProcessHandleCount, // 20
|
|
ProcessAffinityMask,
|
|
ProcessPriorityBoost,
|
|
ProcessDeviceMap,
|
|
ProcessSessionInformation,
|
|
ProcessForegroundInformation,
|
|
ProcessWow64Information,
|
|
ProcessImageFileName,
|
|
ProcessLUIDDeviceMapsEnabled,
|
|
ProcessBreakOnTermination,
|
|
ProcessDebugObjectHandle, // 30
|
|
ProcessDebugFlags,
|
|
ProcessHandleTracing,
|
|
ProcessIoPriority,
|
|
ProcessExecuteFlags,
|
|
ProcessResourceManagement,
|
|
ProcessCookie,
|
|
ProcessImageInformation,
|
|
ProcessCycleTime,
|
|
ProcessPagePriority,
|
|
ProcessInstrumentationCallback, // 40
|
|
ProcessThreadStackAllocation,
|
|
ProcessWorkingSetWatchEx,
|
|
ProcessImageFileNameWin32,
|
|
ProcessImageFileMapping,
|
|
ProcessAffinityUpdateMode,
|
|
ProcessMemoryAllocationMode,
|
|
ProcessGroupInformation,
|
|
ProcessTokenVirtualizationEnabled,
|
|
ProcessConsoleHostProcess,
|
|
ProcessWindowInformation, // 50
|
|
MaxProcessInfoClass
|
|
}
|
|
|
|
public enum ProcessPriorityClass
|
|
{
|
|
Unknown = 0,
|
|
Idle = 1,
|
|
Normal = 2,
|
|
High = 3,
|
|
RealTime = 4,
|
|
BelowNormal = 5,
|
|
AboveNormal = 6
|
|
}
|
|
|
|
[Flags]
|
|
public enum RegHiveFormat : int
|
|
{
|
|
Standard = 0x1,
|
|
Latest = 0x2,
|
|
NoCompression = 0x4
|
|
}
|
|
|
|
[Flags]
|
|
public enum RegNotifyFilter : int
|
|
{
|
|
Name = 0x1,
|
|
Attributes = 0x2,
|
|
LastSet = 0x4,
|
|
Security = 0x8,
|
|
Legal = Name | Attributes | LastSet | Security
|
|
}
|
|
|
|
[Flags]
|
|
public enum RegOptions : int
|
|
{
|
|
Reserved = 0x0,
|
|
NonVolatile = 0x0,
|
|
Volatile = 0x1,
|
|
CreateLink = 0x2,
|
|
BackupRestore = 0x4,
|
|
OpenLink = 0x8,
|
|
Legal = Reserved | NonVolatile | Volatile | CreateLink | BackupRestore | OpenLink
|
|
}
|
|
|
|
[Flags]
|
|
public enum RegRestoreFlags : int
|
|
{
|
|
WholeHiveVolatile = 0x1,
|
|
RefreshHive = 0x2,
|
|
NoLazyFlush = 0x4,
|
|
ForceRestore = 0x8
|
|
}
|
|
|
|
[Flags]
|
|
public enum RegUnloadFlags : int
|
|
{
|
|
ForceUnload = 0x1
|
|
}
|
|
|
|
public enum ResourceManagerInformationClass : int
|
|
{
|
|
ResourceManagerBasicInformation,
|
|
ResourceManagerCompletionInformation,
|
|
ResourceManagerFullInformation
|
|
}
|
|
|
|
[Flags]
|
|
public enum ResourceManagerOptions : int
|
|
{
|
|
Volatile = 0x1,
|
|
Communication = 0x2,
|
|
MaximumOption = 0x3
|
|
}
|
|
|
|
[Flags]
|
|
public enum RtlAcquirePrivilegeFlags : int
|
|
{
|
|
Revert = 0x1,
|
|
Process = 0x2
|
|
}
|
|
|
|
[Flags]
|
|
public enum RtlDuplicateUnicodeStringFlags : int
|
|
{
|
|
NullTerminate = 0x1,
|
|
AllocateNullString = 0x2
|
|
}
|
|
|
|
public enum RtlLockType : ushort
|
|
{
|
|
CriticalSection = 0,
|
|
Resource = 1
|
|
}
|
|
|
|
[Flags]
|
|
public enum RtlQueryProcessDebugFlags : uint
|
|
{
|
|
Modules = 0x00000001,
|
|
BackTraces = 0x00000002,
|
|
HeapSummary = 0x00000004,
|
|
HeapTags = 0x00000008,
|
|
HeapEntries = 0x00000010,
|
|
Locks = 0x00000020,
|
|
Modules32 = 0x00000040,
|
|
|
|
NonInvasive = 0x80000000
|
|
}
|
|
|
|
[Flags]
|
|
public enum RtlUserProcessFlags : uint
|
|
{
|
|
ParamsNormalized = 0x00000001,
|
|
ProfileUser = 0x00000002,
|
|
ProfileKernel = 0x00000004,
|
|
ProfileServer = 0x00000008,
|
|
Reserve1Mb = 0x00000020,
|
|
Reserve16Mb = 0x00000040,
|
|
CaseSensitive = 0x00000080,
|
|
DisableHeapDecommit = 0x00000100,
|
|
DllRedirectionLocal = 0x00001000,
|
|
AppManifestPresent = 0x00002000,
|
|
ImageKeyMissing = 0x00004000,
|
|
OptInProcess = 0x00020000
|
|
}
|
|
|
|
[Flags]
|
|
public enum SectionAttributes : uint
|
|
{
|
|
Based = 0x200000,
|
|
NoChange = 0x400000,
|
|
File = 0x800000,
|
|
Image = 0x1000000,
|
|
Reserve = 0x4000000,
|
|
Commit = 0x8000000,
|
|
NoCache = 0x10000000,
|
|
Global = 0x20000000,
|
|
LargePages = 0x80000000
|
|
}
|
|
|
|
[Flags]
|
|
public enum SectionInformationClass : int
|
|
{
|
|
SectionBasicInformation,
|
|
SectionImageInformation
|
|
}
|
|
|
|
public enum SectionInherit : int
|
|
{
|
|
ViewShare = 1,
|
|
ViewUnmap = 2
|
|
}
|
|
|
|
[Flags]
|
|
public enum SecurityDescriptorControlFlags : ushort
|
|
{
|
|
OwnerDefaulted = 0x0001,
|
|
GroupDefaulted = 0x0002,
|
|
DaclPresent = 0x0004,
|
|
DaclDefaulted = 0x0008,
|
|
SaclPresent = 0x0010,
|
|
SaclDefaulted = 0x0020,
|
|
DaclUntrusted = 0x0040,
|
|
ServerSecurity = 0x0080,
|
|
DaclAutoInheritReq = 0x0100,
|
|
SaclAutoInheritReq = 0x0200,
|
|
DaclAutoInherited = 0x0400,
|
|
SaclAutoInherited = 0x0800,
|
|
DaclProtected = 0x1000,
|
|
SaclProtected = 0x2000,
|
|
RmControlValid = 0x4000,
|
|
SelfRelative = 0x8000
|
|
}
|
|
|
|
public enum SecurityImpersonationLevel : int
|
|
{
|
|
SecurityAnonymous,
|
|
SecurityIdentification,
|
|
SecurityImpersonation,
|
|
SecurityDelegation
|
|
}
|
|
|
|
[Flags]
|
|
public enum SecurityInformation : uint
|
|
{
|
|
Owner = 0x00000001,
|
|
Group = 0x00000002,
|
|
Dacl = 0x00000004,
|
|
Sacl = 0x00000008,
|
|
Label = 0x00000010,
|
|
|
|
ProtectedDacl = 0x80000000,
|
|
ProtectedSacl = 0x40000000,
|
|
UnprotectedDacl = 0x20000000,
|
|
UnprotectedSacl = 0x10000000
|
|
}
|
|
|
|
public enum SemaphoreInformationClass : int
|
|
{
|
|
SemaphoreBasicInformation
|
|
}
|
|
|
|
[Flags]
|
|
public enum SidAttributes : uint
|
|
{
|
|
Mandatory = 0x00000001,
|
|
EnabledByDefault = 0x00000002,
|
|
Enabled = 0x00000004,
|
|
Owner = 0x00000008,
|
|
UseForDenyOnly = 0x00000010,
|
|
Integrity = 0x00000020,
|
|
IntegrityEnabled = 0x00000040,
|
|
LogonId = 0xc0000000,
|
|
Resource = 0x20000000
|
|
}
|
|
|
|
public enum SidNameUse : int
|
|
{
|
|
User = 1,
|
|
Group,
|
|
Domain,
|
|
Alias,
|
|
WellKnownGroup,
|
|
DeletedAccount,
|
|
Invalid,
|
|
Unknown,
|
|
Computer,
|
|
Label
|
|
}
|
|
|
|
[Flags]
|
|
public enum SiRequested : uint
|
|
{
|
|
OwnerSecurityInformation = 0x1,
|
|
GroupSecurityInformation = 0x2,
|
|
DaclSecurityInformation = 0x4,
|
|
SaclSecurityInformation = 0x8,
|
|
LabelSecurityInformation = 0x10
|
|
}
|
|
|
|
[Flags]
|
|
public enum SuiteType : uint
|
|
{
|
|
SmallBusiness = 0x00000001,
|
|
Enterprise = 0x00000002,
|
|
BackOffice = 0x00000004,
|
|
Communications = 0x00000008,
|
|
Terminal = 0x00000010,
|
|
SmallBusinessRestricted = 0x00000020,
|
|
EmbeddedNt = 0x00000040,
|
|
DataCenter = 0x00000080,
|
|
SingleUserTs = 0x00000100,
|
|
Personal = 0x00000200,
|
|
Blade = 0x00000400,
|
|
EmbeddedRestricted = 0x00000800,
|
|
SecurityAppliance = 0x00001000,
|
|
StorageServer = 0x00002000,
|
|
ComputeServer = 0x00004000,
|
|
|
|
WorkstationNt = 0x40000000,
|
|
ServerNt = 0x80000000
|
|
}
|
|
|
|
public enum SystemInformationClass : int
|
|
{
|
|
SystemBasicInformation,
|
|
SystemProcessorInformation,
|
|
SystemPerformanceInformation,
|
|
SystemTimeOfDayInformation,
|
|
SystemPathInformation,
|
|
SystemProcessInformation,
|
|
SystemCallCountInformation,
|
|
SystemDeviceInformation,
|
|
SystemProcessorPerformanceInformation,
|
|
SystemFlagsInformation,
|
|
SystemCallTimeInformation, // 10
|
|
SystemModuleInformation,
|
|
SystemLocksInformation,
|
|
SystemStackTraceInformation,
|
|
SystemPagedPoolInformation,
|
|
SystemNonPagedPoolInformation,
|
|
SystemHandleInformation,
|
|
SystemObjectInformation,
|
|
SystemPageFileInformation,
|
|
SystemVdmInstemulInformation,
|
|
SystemVdmBopInformation, // 20
|
|
SystemFileCacheInformation,
|
|
SystemPoolTagInformation,
|
|
SystemInterruptInformation,
|
|
SystemDpcBehaviorInformation,
|
|
SystemFullMemoryInformation,
|
|
SystemLoadGdiDriverInformation,
|
|
SystemUnloadGdiDriverInformation,
|
|
SystemTimeAdjustmentInformation,
|
|
SystemSummaryMemoryInformation,
|
|
SystemMirrorMemoryInformation, // 30
|
|
SystemPerformanceTraceInformation,
|
|
SystemCrashDumpInformation,
|
|
SystemExceptionInformation,
|
|
SystemCrashDumpStateInformation,
|
|
SystemKernelDebuggerInformation,
|
|
SystemContextSwitchInformation,
|
|
SystemRegistryQuotaInformation,
|
|
SystemExtendServiceTableInformation, // used to be SystemLoadAndCallImage
|
|
SystemPrioritySeparation,
|
|
SystemVerifierAddDriverInformation, // 40
|
|
SystemVerifierRemoveDriverInformation,
|
|
SystemProcessorIdleInformation,
|
|
SystemLegacyDriverInformation,
|
|
SystemCurrentTimeZoneInformation,
|
|
SystemLookasideInformation,
|
|
SystemTimeSlipNotification,
|
|
SystemSessionCreate,
|
|
SystemSessionDetach,
|
|
SystemSessionInformation,
|
|
SystemRangeStartInformation, // 50
|
|
SystemVerifierInformation,
|
|
SystemVerifierThunkExtend,
|
|
SystemSessionProcessInformation,
|
|
SystemLoadGdiDriverInSystemSpace,
|
|
SystemNumaProcessorMap,
|
|
SystemPrefetcherInformation,
|
|
SystemExtendedProcessInformation,
|
|
SystemRecommendedSharedDataAlignment,
|
|
SystemComPlusPackage,
|
|
SystemNumaAvailableMemory, // 60
|
|
SystemProcessorPowerInformation,
|
|
SystemEmulationBasicInformation,
|
|
SystemEmulationProcessorInformation,
|
|
SystemExtendedHandleInformation,
|
|
SystemLostDelayedWriteInformation,
|
|
SystemBigPoolInformation,
|
|
SystemSessionPoolTagInformation,
|
|
SystemSessionMappedViewInformation,
|
|
SystemHotpatchInformation,
|
|
SystemObjectSecurityMode, // 70
|
|
SystemWatchdogTimerHandler, // doesn't seem to be implemented
|
|
SystemWatchdogTimerInformation,
|
|
SystemLogicalProcessorInformation,
|
|
SystemWow64SharedInformation,
|
|
SystemRegisterFirmwareTableInformationHandler,
|
|
SystemFirmwareTableInformation,
|
|
SystemModuleInformationEx,
|
|
SystemVerifierTriageInformation,
|
|
SystemSuperfetchInformation,
|
|
SystemMemoryListInformation, // 80
|
|
SystemFileCacheInformationEx,
|
|
SystemNotImplemented19,
|
|
SystemProcessorDebugInformation,
|
|
SystemVerifierInformation2,
|
|
SystemNotImplemented20,
|
|
SystemRefTraceInformation,
|
|
SystemSpecialPoolTag, // MmSpecialPoolTag, then MmSpecialPoolCatchOverruns != 0
|
|
SystemProcessImageName,
|
|
SystemNotImplemented21,
|
|
SystemBootEnvironmentInformation, // 90
|
|
SystemEnlightenmentInformation,
|
|
SystemVerifierInformationEx,
|
|
SystemNotImplemented22,
|
|
SystemNotImplemented23,
|
|
SystemCovInformation,
|
|
SystemNotImplemented24,
|
|
SystemNotImplemented25,
|
|
SystemPartitionInformation,
|
|
SystemSystemDiskInformation, // this and SystemPartitionInformation both call IoQuerySystemDeviceName
|
|
SystemPerformanceDistributionInformation, // 100
|
|
SystemNumaProximityNodeInformation,
|
|
SystemTimeZoneInformation2,
|
|
SystemCodeIntegrityInformation,
|
|
SystemNotImplemented26,
|
|
SystemUnknownInformation, // No symbols for this case, very strange...
|
|
SystemVaInformation // 106, calls MmQuerySystemVaInformation
|
|
}
|
|
|
|
public enum ThreadInformationClass : uint
|
|
{
|
|
ThreadBasicInformation,
|
|
ThreadTimes,
|
|
ThreadPriority,
|
|
ThreadBasePriority,
|
|
ThreadAffinityMask,
|
|
ThreadImpersonationToken,
|
|
ThreadDescriptorTableEntry,
|
|
ThreadEnableAlignmentFaultFixup,
|
|
ThreadEventPair,
|
|
ThreadQuerySetWin32StartAddress,
|
|
ThreadZeroTlsCell, // 10
|
|
ThreadPerformanceCount,
|
|
ThreadAmILastThread,
|
|
ThreadIdealProcessor,
|
|
ThreadPriorityBoost,
|
|
ThreadSetTlsArrayAddress,
|
|
ThreadIsIoPending,
|
|
ThreadHideFromDebugger,
|
|
ThreadBreakOnTermination,
|
|
ThreadSwitchLegacyState,
|
|
ThreadIsTerminated, // 20
|
|
ThreadLastSystemCall,
|
|
ThreadIoPriority,
|
|
ThreadCycleTime,
|
|
ThreadPagePriority,
|
|
ThreadActualBasePriority,
|
|
ThreadTebInformation,
|
|
ThreadCSwitchMon,
|
|
ThreadCSwitchPmu,
|
|
ThreadWow64Context,
|
|
ThreadGroupInformation, // 30
|
|
ThreadUmsInformation,
|
|
ThreadCounterProfiling,
|
|
ThreadIdealProcessorEx,
|
|
MaxThreadInfoClass
|
|
}
|
|
|
|
public enum TimerInformationClass : int
|
|
{
|
|
TimerBasicInformation
|
|
}
|
|
|
|
public enum TimerType : int
|
|
{
|
|
NotificationTimer,
|
|
SynchronizationTimer
|
|
}
|
|
|
|
public enum TmInformationClass : int
|
|
{
|
|
TransactionManagerBasicInformation,
|
|
TransactionManagerLogInformation,
|
|
TransactionManagerLogPathInformation,
|
|
TransactionManagerOnlineProbeInformation,
|
|
TransactionManagerRecoveryInformation
|
|
}
|
|
|
|
[Flags]
|
|
public enum TmOptions : int
|
|
{
|
|
Volatile = 0x1,
|
|
CommitDefault = 0x0,
|
|
CommitSystemVolume = 0x2,
|
|
CommitSystemHives = 0x4,
|
|
CommitLowest = 0x8,
|
|
CorruptForRecovery = 0x10,
|
|
CorruptForProgress = 0x20,
|
|
MaximumOption = 0x3f
|
|
}
|
|
|
|
public enum TokenElevationType : int
|
|
{
|
|
Default = 1,
|
|
Full,
|
|
Limited
|
|
}
|
|
|
|
public enum TokenInformationClass
|
|
{
|
|
TokenUser = 1,
|
|
TokenGroups,
|
|
TokenPrivileges,
|
|
TokenOwner,
|
|
TokenPrimaryGroup,
|
|
TokenDefaultDacl,
|
|
TokenSource,
|
|
TokenType,
|
|
TokenImpersonationLevel,
|
|
TokenStatistics, // 10
|
|
TokenRestrictedSids,
|
|
TokenSessionId,
|
|
TokenGroupsAndPrivileges,
|
|
TokenSessionReference,
|
|
TokenSandBoxInert,
|
|
TokenAuditPolicy,
|
|
TokenOrigin,
|
|
TokenElevationType,
|
|
TokenLinkedToken,
|
|
TokenElevation, // 20
|
|
TokenHasRestrictions,
|
|
TokenAccessInformation,
|
|
TokenVirtualizationAllowed,
|
|
TokenVirtualizationEnabled,
|
|
TokenIntegrityLevel,
|
|
TokenUIAccess,
|
|
TokenMandatoryPolicy,
|
|
TokenLogonSid,
|
|
MaxTokenInfoClass // MaxTokenInfoClass should always be the last enum
|
|
}
|
|
|
|
public enum TokenType : int
|
|
{
|
|
Primary = 1,
|
|
Impersonation
|
|
}
|
|
|
|
public enum TransactionInformationClass : int
|
|
{
|
|
TransactionBasicInformation,
|
|
TransactionPropertiesInformation,
|
|
TransactionEnlistmentInformation,
|
|
TransactionFullInformation
|
|
}
|
|
|
|
[Flags]
|
|
public enum TransactionOptions : int
|
|
{
|
|
DoNotPromote = 0x1,
|
|
MaximumOption = 0x1
|
|
}
|
|
|
|
public enum TransactionOutcome : int
|
|
{
|
|
Undetermined = 1,
|
|
Committed,
|
|
Aborted
|
|
}
|
|
|
|
public enum TransactionState : int
|
|
{
|
|
Normal = 1,
|
|
Indoubt,
|
|
CommittedNotify
|
|
}
|
|
|
|
public enum WaitType : int
|
|
{
|
|
WaitAll,
|
|
WaitAny
|
|
}
|
|
|
|
public enum WellKnownSidType : int
|
|
{
|
|
WinNullSid = 0,
|
|
WinWorldSid = 1,
|
|
WinLocalSid = 2,
|
|
WinCreatorOwnerSid = 3,
|
|
WinCreatorGroupSid = 4,
|
|
WinCreatorOwnerServerSid = 5,
|
|
WinCreatorGroupServerSid = 6,
|
|
WinNtAuthoritySid = 7,
|
|
WinDialupSid = 8,
|
|
WinNetworkSid = 9,
|
|
WinBatchSid = 10,
|
|
WinInteractiveSid = 11,
|
|
WinServiceSid = 12,
|
|
WinAnonymousSid = 13,
|
|
WinProxySid = 14,
|
|
WinEnterpriseControllersSid = 15,
|
|
WinSelfSid = 16,
|
|
WinAuthenticatedUserSid = 17,
|
|
WinRestrictedCodeSid = 18,
|
|
WinTerminalServerSid = 19,
|
|
WinRemoteLogonIdSid = 20,
|
|
WinLogonIdsSid = 21,
|
|
WinLocalSystemSid = 22,
|
|
WinLocalServiceSid = 23,
|
|
WinNetworkServiceSid = 24,
|
|
WinBuiltinDomainSid = 25,
|
|
WinBuiltinAdministratorsSid = 26,
|
|
WinBuiltinUsersSid = 27,
|
|
WinBuiltinGuestsSid = 28,
|
|
WinBuiltinPowerUsersSid = 29,
|
|
WinBuiltinAccountOperatorsSid = 30,
|
|
WinBuiltinSystemOperatorsSid = 31,
|
|
WinBuiltinPrintOperatorsSid = 32,
|
|
WinBuiltinBackupOperatorsSid = 33,
|
|
WinBuiltinReplicatorSid = 34,
|
|
WinBuiltinPreWindows2000CompatibleAccessSid = 35,
|
|
WinBuiltinRemoteDesktopUsersSid = 36,
|
|
WinBuiltinNetworkConfigurationOperatorsSid = 37,
|
|
WinAccountAdministratorSid = 38,
|
|
WinAccountGuestSid = 39,
|
|
WinAccountKrbtgtSid = 40,
|
|
WinAccountDomainAdminsSid = 41,
|
|
WinAccountDomainUsersSid = 42,
|
|
WinAccountDomainGuestsSid = 43,
|
|
WinAccountComputersSid = 44,
|
|
WinAccountControllersSid = 45,
|
|
WinAccountCertAdminsSid = 46,
|
|
WinAccountSchemaAdminsSid = 47,
|
|
WinAccountEnterpriseAdminsSid = 48,
|
|
WinAccountPolicyAdminsSid = 49,
|
|
WinAccountRasAndIasServersSid = 50,
|
|
WinNTLMAuthenticationSid = 51,
|
|
WinDigestAuthenticationSid = 52,
|
|
WinSChannelAuthenticationSid = 53,
|
|
WinThisOrganizationSid = 54,
|
|
WinOtherOrganizationSid = 55,
|
|
WinBuiltinIncomingForestTrustBuildersSid = 56,
|
|
WinBuiltinPerfMonitoringUsersSid = 57,
|
|
WinBuiltinPerfLoggingUsersSid = 58,
|
|
WinBuiltinAuthorizationAccessSid = 59,
|
|
WinBuiltinTerminalServerLicenseServersSid = 60,
|
|
WinBuiltinDCOMUsersSid = 61,
|
|
WinBuiltinIUsersSid = 62,
|
|
WinIUserSid = 63,
|
|
WinBuiltinCryptoOperatorsSid = 64,
|
|
WinUntrustedLabelSid = 65,
|
|
WinLowLabelSid = 66,
|
|
WinMediumLabelSid = 67,
|
|
WinHighLabelSid = 68,
|
|
WinSystemLabelSid = 69,
|
|
WinWriteRestrictedCodeSid = 70,
|
|
WinCreatorOwnerRightsSid = 71,
|
|
WinCacheablePrincipalsGroupSid = 72,
|
|
WinNonCacheablePrincipalsGroupSid = 73,
|
|
WinEnterpriseReadonlyControllersSid = 74,
|
|
WinAccountReadonlyControllersSid = 75,
|
|
WinBuiltinEventLogReadersGroup = 76,
|
|
WinNewEnterpriseReadonlyControllersSid = 77,
|
|
WinBuiltinCertSvcDComAccessGroup = 78
|
|
}
|
|
|
|
public enum WinNtProductType : int
|
|
{
|
|
WinNt = 1,
|
|
LanManNt,
|
|
Server
|
|
}
|
|
|
|
[Flags]
|
|
public enum WtFlags : uint
|
|
{
|
|
ExecuteDefault = 0x0,
|
|
ExecuteInIoThread = 0x1,
|
|
ExecuteInUiThread = 0x2,
|
|
ExecuteInWaitThread = 0x4,
|
|
ExecuteOnlyOnce = 0x8,
|
|
ExecuteLongFunction = 0x10,
|
|
ExecuteInTimerThread = 0x20,
|
|
ExecuteInPersistentIoThread = 0x40,
|
|
ExecuteInPersistentThread = 0x80,
|
|
TransferImpersonation = 0x100
|
|
}
|
|
}
|