📄 winnt.pas
字号:
//#include <pshpack4.h>
PLUID_AND_ATTRIBUTES = ^LUID_AND_ATTRIBUTES;
{$EXTERNALSYM PLUID_AND_ATTRIBUTES}
_LUID_AND_ATTRIBUTES = record
Luid: LUID;
Attributes: DWORD;
end;
{$EXTERNALSYM _LUID_AND_ATTRIBUTES}
LUID_AND_ATTRIBUTES = _LUID_AND_ATTRIBUTES;
{$EXTERNALSYM LUID_AND_ATTRIBUTES}
TLuidAndAttributes = LUID_AND_ATTRIBUTES;
PLuidAndAttributes = PLUID_AND_ATTRIBUTES;
LUID_AND_ATTRIBUTES_ARRAY = array [0..ANYSIZE_ARRAY - 1] of LUID_AND_ATTRIBUTES;
{$EXTERNALSYM LUID_AND_ATTRIBUTES_ARRAY}
PLUID_AND_ATTRIBUTES_ARRAY = ^LUID_AND_ATTRIBUTES_ARRAY;
{$EXTERNALSYM PLUID_AND_ATTRIBUTES_ARRAY}
TLuidAndAttributesArray = LUID_AND_ATTRIBUTES_ARRAY;
PLuidAndAttributesArray = ^TLuidAndAttributesArray;
//#include <poppack.h>
////////////////////////////////////////////////////////////////////////
// //
// Security Id (SID) //
// //
////////////////////////////////////////////////////////////////////////
//
//
// Pictorially the structure of an SID is as follows:
//
// 1 1 1 1 1 1
// 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
// +---------------------------------------------------------------+
// | SubAuthorityCount |Reserved1 (SBZ)| Revision |
// +---------------------------------------------------------------+
// | IdentifierAuthority[0] |
// +---------------------------------------------------------------+
// | IdentifierAuthority[1] |
// +---------------------------------------------------------------+
// | IdentifierAuthority[2] |
// +---------------------------------------------------------------+
// | |
// +- - - - - - - - SubAuthority[] - - - - - - - - -+
// | |
// +---------------------------------------------------------------+
//
//
type
PSID_IDENTIFIER_AUTHORITY = ^SID_IDENTIFIER_AUTHORITY;
{$EXTERNALSYM PSID_IDENTIFIER_AUTHORITY}
_SID_IDENTIFIER_AUTHORITY = record
Value: array [0..5] of Byte;
end;
{$EXTERNALSYM _SID_IDENTIFIER_AUTHORITY}
SID_IDENTIFIER_AUTHORITY = _SID_IDENTIFIER_AUTHORITY;
{$EXTERNALSYM SID_IDENTIFIER_AUTHORITY}
TSidIdentifierAuthority = SID_IDENTIFIER_AUTHORITY;
PSidIdentifierAuthority = PSID_IDENTIFIER_AUTHORITY;
PSid = ^SID;
_SID = record
Revision: Byte;
SubAuthorityCount: Byte;
IdentifierAuthority: SID_IDENTIFIER_AUTHORITY;
SubAuthority: array [0..ANYSIZE_ARRAY - 1] of DWORD;
end;
{$EXTERNALSYM _SID}
SID = _SID;
{$EXTERNALSYM SID}
PPSID = ^PSID;
{$NODEFINE PPSID}
TSid = SID;
const
SID_REVISION = (1); // Current revision level
{$EXTERNALSYM SID_REVISION}
SID_MAX_SUB_AUTHORITIES = (15);
{$EXTERNALSYM SID_MAX_SUB_AUTHORITIES}
SID_RECOMMENDED_SUB_AUTHORITIES = (1); // Will change to around 6 in a future release.
{$EXTERNALSYM SID_RECOMMENDED_SUB_AUTHORITIES}
SidTypeUser = 1;
{$EXTERNALSYM SidTypeUser}
SidTypeGroup = 2;
{$EXTERNALSYM SidTypeGroup}
SidTypeDomain = 3;
{$EXTERNALSYM SidTypeDomain}
SidTypeAlias = 4;
{$EXTERNALSYM SidTypeAlias}
SidTypeWellKnownGroup = 5;
{$EXTERNALSYM SidTypeWellKnownGroup}
SidTypeDeletedAccount = 6;
{$EXTERNALSYM SidTypeDeletedAccount}
SidTypeInvalid = 7;
{$EXTERNALSYM SidTypeInvalid}
SidTypeUnknown = 8;
{$EXTERNALSYM SidTypeUnknown}
SidTypeComputer = 9;
{$EXTERNALSYM SidTypeComputer}
type
_SID_NAME_USE = DWORD;
{$EXTERNALSYM _SID_NAME_USE}
SID_NAME_USE = _SID_NAME_USE;
{$EXTERNALSYM SID_NAME_USE}
PSID_NAME_USE = ^SID_NAME_USE;
{$EXTERNALSYM PSID_NAME_USE}
TSidNameUse = SID_NAME_USE;
PSidNameUSe = PSID_NAME_USE;
PSID_AND_ATTRIBUTES = ^SID_AND_ATTRIBUTES;
{$EXTERNALSYM PSID_AND_ATTRIBUTES}
_SID_AND_ATTRIBUTES = record
Sid: PSID;
Attributes: DWORD;
end;
{$EXTERNALSYM _SID_AND_ATTRIBUTES}
SID_AND_ATTRIBUTES = _SID_AND_ATTRIBUTES;
{$EXTERNALSYM SID_AND_ATTRIBUTES}
TSidAndAttributes = SID_AND_ATTRIBUTES;
PSidAndAttributes = PSID_AND_ATTRIBUTES;
SID_AND_ATTRIBUTES_ARRAY = array [0..ANYSIZE_ARRAY - 1] of SID_AND_ATTRIBUTES;
{$EXTERNALSYM SID_AND_ATTRIBUTES_ARRAY}
PSID_AND_ATTRIBUTES_ARRAY = ^SID_AND_ATTRIBUTES_ARRAY;
{$EXTERNALSYM PSID_AND_ATTRIBUTES_ARRAY}
PSidAndAttributesArray = ^TSidAndAttributesArray;
TSidAndAttributesArray = SID_AND_ATTRIBUTES_ARRAY;
/////////////////////////////////////////////////////////////////////////////
// //
// Universal well-known SIDs //
// //
// Null SID S-1-0-0 //
// World S-1-1-0 //
// Local S-1-2-0 //
// Creator Owner ID S-1-3-0 //
// Creator Group ID S-1-3-1 //
// Creator Owner Server ID S-1-3-2 //
// Creator Group Server ID S-1-3-3 //
// //
// (Non-unique IDs) S-1-4 //
// //
/////////////////////////////////////////////////////////////////////////////
const
SECURITY_NULL_SID_AUTHORITY: TSidIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 0));
{$EXTERNALSYM SECURITY_NULL_SID_AUTHORITY}
SECURITY_WORLD_SID_AUTHORITY: TSidIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 1));
{$EXTERNALSYM SECURITY_WORLD_SID_AUTHORITY}
SECURITY_LOCAL_SID_AUTHORITY: TSidIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 2));
{$EXTERNALSYM SECURITY_LOCAL_SID_AUTHORITY}
SECURITY_CREATOR_SID_AUTHORITY: TSidIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 3));
{$EXTERNALSYM SECURITY_CREATOR_SID_AUTHORITY}
SECURITY_NON_UNIQUE_AUTHORITY: TSidIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 4));
{$EXTERNALSYM SECURITY_NON_UNIQUE_AUTHORITY}
SECURITY_NULL_RID = ($00000000);
{$EXTERNALSYM SECURITY_NULL_RID}
SECURITY_WORLD_RID = ($00000000);
{$EXTERNALSYM SECURITY_WORLD_RID}
SECURITY_LOCAL_RID = ($00000000);
{$EXTERNALSYM SECURITY_LOCAL_RID}
SECURITY_CREATOR_OWNER_RID = ($00000000);
{$EXTERNALSYM SECURITY_CREATOR_OWNER_RID}
SECURITY_CREATOR_GROUP_RID = ($00000001);
{$EXTERNALSYM SECURITY_CREATOR_GROUP_RID}
SECURITY_CREATOR_OWNER_SERVER_RID = ($00000002);
{$EXTERNALSYM SECURITY_CREATOR_OWNER_SERVER_RID}
SECURITY_CREATOR_GROUP_SERVER_RID = ($00000003);
{$EXTERNALSYM SECURITY_CREATOR_GROUP_SERVER_RID}
/////////////////////////////////////////////////////////////////////////////
// //
// NT well-known SIDs //
// //
// NT Authority S-1-5 //
// Dialup S-1-5-1 //
// //
// Network S-1-5-2 //
// Batch S-1-5-3 //
// Interactive S-1-5-4 //
// Service S-1-5-6 //
// AnonymousLogon S-1-5-7 (aka null logon session) //
// Proxy S-1-5-8 //
// ServerLogon S-1-5-9 (aka domain controller account) //
// Self S-1-5-10 (self RID) //
// Authenticated User S-1-5-11 (Authenticated user somewhere) //
// Restricted Code S-1-5-12 (Running restricted code) //
// Terminal Server S-1-5-13 (Running on Terminal Server) //
// //
// (Logon IDs) S-1-5-5-X-Y //
// //
// (NT non-unique IDs) S-1-5-0x15-... //
// //
// (Built-in domain) s-1-5-0x20 //
// //
/////////////////////////////////////////////////////////////////////////////
const
SECURITY_NT_AUTHORITY: TSidIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5));
{$EXTERNALSYM SECURITY_NT_AUTHORITY}
SECURITY_DIALUP_RID = ($00000001);
{$EXTERNALSYM SECURITY_DIALUP_RID}
SECURITY_NETWORK_RID = ($00000002);
{$EXTERNALSYM SECURITY_NETWORK_RID}
SECURITY_BATCH_RID = ($00000003);
{$EXTERNALSYM SECURITY_BATCH_RID}
SECURITY_INTERACTIVE_RID = ($00000004);
{$EXTERNALSYM SECURITY_INTERACTIVE_RID}
SECURITY_SERVICE_RID = ($00000006);
{$EXTERNALSYM SECURITY_SERVICE_RID}
SECURITY_ANONYMOUS_LOGON_RID = ($00000007);
{$EXTERNALSYM SECURITY_ANONYMOUS_LOGON_RID}
SECURITY_PROXY_RID = ($00000008);
{$EXTERNALSYM SECURITY_PROXY_RID}
SECURITY_ENTERPRISE_CONTROLLERS_RID = ($00000009);
{$EXTERNALSYM SECURITY_ENTERPRISE_CONTROLLERS_RID}
SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID;
{$EXTERNALSYM SECURITY_SERVER_LOGON_RID}
SECURITY_PRINCIPAL_SELF_RID = ($0000000A);
{$EXTERNALSYM SECURITY_PRINCIPAL_SELF_RID}
SECURITY_AUTHENTICATED_USER_RID = ($0000000B);
{$EXTERNALSYM SECURITY_AUTHENTICATED_USER_RID}
SECURITY_RESTRICTED_CODE_RID = ($0000000C);
{$EXTERNALSYM SECURITY_RESTRICTED_CODE_RID}
SECURITY_TERMINAL_SERVER_RID = ($0000000D);
{$EXTERNALSYM SECURITY_TERMINAL_SERVER_RID}
SECURITY_LOGON_IDS_RID = ($00000005);
{$EXTERNALSYM SECURITY_LOGON_IDS_RID}
SECURITY_LOGON_IDS_RID_COUNT = (3);
{$EXTERNALSYM SECURITY_LOGON_IDS_RID_COUNT}
SECURITY_LOCAL_SYSTEM_RID = ($00000012);
{$EXTERNALSYM SECURITY_LOCAL_SYSTEM_RID}
SECURITY_NT_NON_UNIQUE = ($00000015);
{$EXTERNALSYM SECURITY_NT_NON_UNIQUE}
SECURITY_BUILTIN_DOMAIN_RID = ($00000020);
{$EXTERNALSYM SECURITY_BUILTIN_DOMAIN_RID}
/////////////////////////////////////////////////////////////////////////////
// //
// well-known domain relative sub-authority values (RIDs)... //
// //
/////////////////////////////////////////////////////////////////////////////
// Well-known users ...
DOMAIN_USER_RID_ADMIN = ($000001F4);
{$EXTERNALSYM DOMAIN_USER_RID_ADMIN}
DOMAIN_USER_RID_GUEST = ($000001F5);
{$EXTERNALSYM DOMAIN_USER_RID_GUEST}
DOMAIN_USER_RID_KRBTGT = ($000001F6);
{$EXTERNALSYM DOMAIN_USER_RID_KRBTGT}
// well-known groups ...
DOMAIN_GROUP_RID_ADMINS = ($00000200);
{$EXTERNALSYM DOMAIN_GROUP_RID_ADMINS}
DOMAIN_GROUP_RID_USERS = ($00000201);
{$EXTERNALSYM DOMAIN_GROUP_RID_USERS}
DOMAIN_GROUP_RID_GUESTS = ($00000202);
{$EXTERNALSYM DOMAIN_GROUP_RID_GUESTS}
DOMAIN_GROUP_RID_COMPUTERS = ($00000203);
{$EXTERNALSYM DOMAIN_GROUP_RID_COMPUTERS}
DOMAIN_GROUP_RID_CONTROLLERS = ($00000204);
{$EXTERNALSYM DOMAIN_GROUP_RID_CONTROLLERS}
DOMAIN_GROUP_RID_CERT_ADMINS = ($00000205);
{$EXTERNALSYM DOMAIN_GROUP_RID_CERT_ADMINS}
DOMAIN_GROUP_RID_SCHEMA_ADMINS = ($00000206);
{$EXTERNALSYM DOMAIN_GROUP_RID_SCHEMA_ADMINS}
DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = ($00000207);
{$EXTERNALSYM DOMAIN_GROUP_RID_ENTERPRISE_ADMINS}
DOMAIN_GROUP_RID_POLICY_ADMINS = ($00000208);
{$EXTERNALSYM DOMAIN_GROUP_RID_POLICY_ADMINS}
// well-known aliases ...
DOMAIN_ALIAS_RID_ADMINS = ($00000220);
{$EXTERNALSYM DOMAIN_ALIAS_RID_ADMINS}
DOMAIN_ALIAS_RID_USERS = ($00000221);
{$EXTERNALSYM DOMAIN_ALIAS_RID_USERS}
DOMAIN_ALIAS_RID_GUESTS = ($00000222);
{$EXTERNALSYM DOMAIN_ALIAS_RID_GUESTS}
DOMAIN_ALIAS_RID_POWER_USERS = ($00000223);
{$EXTERNALSYM DOMAIN_ALIAS_RID_POWER_USERS}
DOMAIN_ALIAS_RID_ACCOUNT_OPS = ($00000224);
{$EXTERNALSYM DOMAIN_ALIAS_RID_ACCOUNT_OPS}
DOMAIN_ALIAS_RID_SYSTEM_OPS = ($00000225);
{$EXTERNALSYM DOMAIN_ALIAS_RID_SYSTEM_OPS}
DOMAIN_ALIAS_RID_PRINT_OPS = ($00000226);
{$EXTERNALSYM DOMAIN_ALIAS_RID_PRINT_OPS}
DOMAIN_ALIAS_RID_BACKUP_OPS = ($00000227);
{$EXTERNALSYM DOMAIN_ALIAS_RID_BACKUP_OPS}
DOMAIN_ALIAS_RID_REPLICATOR = ($00000228);
{$EXTERNALSYM DOMAIN_ALIAS_RID_REPLICATOR}
DOMAIN_ALIAS_RID_RAS_SERVERS = ($00000229);
{$EXTERNALSYM DOMAIN_ALIAS_RID_RAS_SERVERS}
DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = ($0000022A);
{$EXTERNALSYM DOMAIN_ALIAS_RID_PREW2KCOMPACCESS}
//
// Allocate the System Luid. The first 1000 LUIDs are reserved.
// Use #999 here (0x3E7 = 999)
//
const
SYSTEM_LUID: LUID = (LowPart: $3E7; HighPart: $0);
{$EXTERNALSYM SYSTEM_LUID}
ANONYMOUS_LOGON_LUID: LUID = (LowPart: $3E6; HighPart: $0);
{$EXTERNALSYM ANONYMOUS_LOGON_LUID}
////////////////////////////////////////////////////////////////////////
// //
// User and Group related SID attributes //
// //
////////////////////////////////////////////////////////////////////////
//
// Group attributes
//
SE_GROUP_MANDATORY = ($00000001);
{$EXTERNALSYM SE_GROUP_MANDATORY}
SE_GROUP_ENABLED_BY_DEFAULT = ($00000002);
{$EXTERNALSYM SE_GROUP_ENABLED_BY_DEFAULT}
SE_GROUP_ENABLED = ($00000004);
{$EXTERNALSYM SE_GROUP_ENABLED}
SE_GROUP_OWNER = ($00000008);
{$EXTERNALSYM SE_GROUP_OWNER}
SE_GROUP_USE_FOR_DENY_ONLY = ($00000010);
{$EXTERNALSYM SE_GROUP_USE_FOR_DENY_ONLY}
SE_GROUP_LOGON_ID = ($C0000000);
{$EXTERNALSYM SE_GROUP_LOGON_ID}
SE_GROUP_RESOURCE = ($20000000);
{$EXTERNALSYM SE_GROUP_RESOURCE}
//
// User attributes
//
// (None yet defined.)
////////////////////////////////////////////////////////////////////////
// //
// ACL and ACE //
// //
////////////////////////////////////////////////////////////////////////
//
// Define an ACL and the ACE format. The structure of an ACL header
// followed by one or more ACEs. Pictorally the structure of an ACL header
// is 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
// +-------------------------------+---------------+---------------+
// | AclSize | Sbz1 | AclRevision |
// +-------------------------------+---------------+---------------+
// | Sbz2 | AceCount |
// +-------------------------------+-------------------------------+
//
// The current AclRevision is defined to be ACL_REVISION.
//
// AclSize is the size, in bytes, allocated for the ACL. This includes
// the ACL header, ACES, and remaining free space in the buffer.
//
// AceCount is the number
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -