Dalamud/Dalamud.Bootstrap/OS/Windows/Raw/Constants.cs
2020-04-13 17:53:16 +09:00

148 lines
4.5 KiB
C#

using System;
namespace Dalamud.Bootstrap.OS.Windows.Raw
{
// https://github.com/processhacker/processhacker/blob/c1a8c103f8afa1561dbac416f87523ea8f70b15e/phnt/include/ntpsapi.h#L96-L199
internal enum PROCESSINFOCLASS : uint
{
ProcessBasicInformation = 0,
}
// https://github.com/processhacker/processhacker/blob/0e9cf471e06a59cdb3a7c89f0b92b253a6a93999/phnt/include/ntpsapi.h#L5-L17
[Flags]
internal enum PROCESS_ACCESS_RIGHTS : uint
{
PROCESS_TERMINATE = 0x1,
PROCESS_CREATE_THREAD = 0x2,
PROCESS_VM_OPERATION = 0x8,
PROCESS_VM_READ = 0x10,
PROCESS_VM_WRITE = 0x20,
PROCESS_DUP_HANDLE = 0x40,
PROCESS_CREATE_PROCESS = 0x80,
PROCESS_SET_QUOTA = 0x100,
PROCESS_SET_INFORMATION = 0x200,
PROCESS_QUERY_INFORMATION = 0x400,
PROCESS_SUSPEND_RESUME = 0x800,
PROCESS_QUERY_LIMITED_INFORMATION = 0x1000,
READ_CONTROL = 0x20000,
WRITE_DAC = 0x40000,
SYNCHRONIZE = 0x100000,
}
[Flags]
internal enum PROCESS_CREATION_FLAGS : uint
{
CREATE_BREAKAWAY_FROM_JOB = 0x01000000,
CREATE_DEFAULT_ERROR_MODE = 0x04000000,
CREATE_NEW_CONSOLE = 0x00000010,
CREATE_NEW_PROCESS_GROUP = 0x00000200,
CREATE_NO_WINDOW = 0x08000000,
CREATE_PROTECTED_PROCESS = 0x00040000,
CREATE_PRESERVE_CODE_AUTHZ_LEVEL = 0x02000000,
CREATE_SECURE_PROCESS = 0x00400000,
CREATE_SEPARATE_WOW_VDM = 0x00000800,
CREATE_SHARED_WOW_VDM = 0x00001000,
CREATE_SUSPENDED = 0x00000004,
CREATE_UNICODE_ENVIRONMENT = 0x00000400,
DEBUG_ONLY_THIS_PROCESS = 0x00000002,
DEBUG_PROCESS = 0x00000001,
DETACHED_PROCESS = 0x00000008,
EXTENDED_STARTUPINFO_PRESENT = 0x00080000,
INHERIT_PARENT_AFFINITY = 0x00010000,
}
internal enum SECURITY_DESCRIPTOR_CONTROL : ushort
{
SE_DACL_AUTO_INHERIT_REQ = 0x0100,
SE_DACL_AUTO_INHERITED = 0x0400,
SE_DACL_DEFAULTED = 0x0008,
SE_DACL_PRESENT = 0x0004,
SE_DACL_PROTECTED = 0x1000,
SE_GROUP_DEFAULTED = 0x0002,
SE_OWNER_DEFAULTED = 0x0001,
SE_RM_CONTROL_VALID = 0x4000,
SE_SACL_AUTO_INHERIT_REQ = 0x0200,
SE_SACL_AUTO_INHERITED = 0x0800,
SE_SACL_DEFAULTED = 0x0008,
SE_SACL_PRESENT = 0x0010,
SE_SACL_PROTECTED = 0x2000,
SE_SELF_RELATIVE = 0x8000,
}
internal enum ACCESS_MODE : uint
{
NOT_USED_ACCESS,
GRANT_ACCESS,
SET_ACCESS,
DENY_ACCESS,
REVOKE_ACCESS,
SET_AUDIT_SUCCESS,
SET_AUDIT_FAILURE,
}
internal enum MULTIPLE_TRUSTEE_OPERATION : uint
{
NO_MULTIPLE_TRUSTEE,
TRUSTEE_IS_IMPERSONATE,
}
internal enum TRUSTEE_FORM : uint
{
TRUSTEE_IS_SID,
TRUSTEE_IS_NAME,
TRUSTEE_BAD_FORM,
TRUSTEE_IS_OBJECTS_AND_SID,
TRUSTEE_IS_OBJECTS_AND_NAME,
}
internal enum TRUSTEE_TYPE : uint
{
TRUSTEE_IS_UNKNOWN,
TRUSTEE_IS_USER,
TRUSTEE_IS_GROUP,
TRUSTEE_IS_DOMAIN,
TRUSTEE_IS_ALIAS,
TRUSTEE_IS_WELL_KNOWN_GROUP,
TRUSTEE_IS_DELETED,
TRUSTEE_IS_INVALID,
TRUSTEE_IS_COMPUTER,
}
internal enum SE_OBJECT_TYPE : uint
{
SE_UNKNOWN_OBJECT_TYPE,
SE_FILE_OBJECT,
SE_SERVICE,
SE_PRINTER,
SE_REGISTRY_KEY,
SE_LMSHARE,
SE_KERNEL_OBJECT,
SE_WINDOW_OBJECT,
SE_DS_OBJECT,
SE_DS_OBJECT_ALL,
SE_PROVIDER_DEFINED_OBJECT,
SE_WMIGUID_OBJECT,
SE_REGISTRY_WOW64_32KEY,
SE_REGISTRY_WOW64_64KEY
}
internal enum SECURITY_INFORMATION : uint
{
// https://docs.rs/winapi/0.3.8/src/winapi/um/winnt.rs.html#2880
OWNER_SECURITY_INFORMATION = 0x00000001,
GROUP_SECURITY_INFORMATION = 0x00000002,
DACL_SECURITY_INFORMATION = 0x00000004,
SACL_SECURITY_INFORMATION = 0x00000008,
LABEL_SECURITY_INFORMATION = 0x00000010,
ATTRIBUTE_SECURITY_INFORMATION = 0x00000020,
SCOPE_SECURITY_INFORMATION = 0x00000040,
PROCESS_TRUST_LABEL_SECURITY_INFORMATION = 0x00000080,
ACCESS_FILTER_SECURITY_INFORMATION = 0x00000100,
BACKUP_SECURITY_INFORMATION = 0x00010000,
UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000,
UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000,
PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000,
PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000,
}
}