FreeRDP
winpr/include/winpr/security.h File Reference
#include <winpr/winpr.h>
#include <winpr/wtypes.h>
#include <winpr/nt.h>
This graph shows which files directly or indirectly include this file:

Data Structures

struct  _LUID_AND_ATTRIBUTES
 
struct  _SID_IDENTIFIER_AUTHORITY
 
struct  _SID
 
struct  _SID_AND_ATTRIBUTES
 
struct  _SID_AND_ATTRIBUTES_HASH
 
struct  _TOKEN_USER
 
struct  _TOKEN_GROUPS
 
struct  _TOKEN_PRIVILEGES
 
struct  _TOKEN_OWNER
 
struct  _TOKEN_PRIMARY_GROUP
 
struct  _TOKEN_DEFAULT_DACL
 
struct  _TOKEN_USER_CLAIMS
 
struct  _TOKEN_DEVICE_CLAIMS
 
struct  _TOKEN_GROUPS_AND_PRIVILEGES
 
struct  _TOKEN_LINKED_TOKEN
 
struct  _TOKEN_ELEVATION
 
struct  _TOKEN_MANDATORY_LABEL
 
struct  _TOKEN_MANDATORY_POLICY
 
struct  _TOKEN_ACCESS_INFORMATION
 
struct  _TOKEN_AUDIT_POLICY
 
struct  _TOKEN_SOURCE
 
struct  _TOKEN_STATISTICS
 
struct  _TOKEN_CONTROL
 
struct  _TOKEN_ORIGIN
 
struct  _TOKEN_APPCONTAINER_INFORMATION
 

Macros

#define ANYSIZE_ARRAY   1
 
#define SECURITY_MAX_IMPERSONATION_LEVEL   SecurityDelegation
 
#define SECURITY_MIN_IMPERSONATION_LEVEL   SecurityAnonymous
 
#define DEFAULT_IMPERSONATION_LEVEL   SecurityImpersonation
 
#define VALID_IMPERSONATION_LEVEL(L)   (((L) >= SECURITY_MIN_IMPERSONATION_LEVEL) && ((L) <= SECURITY_MAX_IMPERSONATION_LEVEL))
 
#define TOKEN_ASSIGN_PRIMARY   (0x0001)
 
#define TOKEN_DUPLICATE   (0x0002)
 
#define TOKEN_IMPERSONATE   (0x0004)
 
#define TOKEN_QUERY   (0x0008)
 
#define TOKEN_QUERY_SOURCE   (0x0010)
 
#define TOKEN_ADJUST_PRIVILEGES   (0x0020)
 
#define TOKEN_ADJUST_GROUPS   (0x0040)
 
#define TOKEN_ADJUST_DEFAULT   (0x0080)
 
#define TOKEN_ADJUST_SESSIONID   (0x0100)
 
#define TOKEN_ALL_ACCESS_P
 
#define TOKEN_ALL_ACCESS   (TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID)
 
#define TOKEN_READ   (STANDARD_RIGHTS_READ | TOKEN_QUERY)
 
#define TOKEN_WRITE   (STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT)
 
#define TOKEN_EXECUTE   (STANDARD_RIGHTS_EXECUTE)
 
#define TOKEN_MANDATORY_POLICY_OFF   0x0
 
#define TOKEN_MANDATORY_POLICY_NO_WRITE_UP   0x1
 
#define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN   0x2
 
#define TOKEN_MANDATORY_POLICY_VALID_MASK   (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN)
 
#define POLICY_AUDIT_SUBCATEGORY_COUNT   (56)
 
#define TOKEN_SOURCE_LENGTH   8
 
#define SID_REVISION   (1)
 
#define SID_MAX_SUB_AUTHORITIES   (15)
 
#define SID_RECOMMENDED_SUB_AUTHORITIES   (1)
 
#define SID_HASH_SIZE   32
 
#define SECURITY_MANDATORY_UNTRUSTED_RID   0x0000
 
#define SECURITY_MANDATORY_LOW_RID   0x1000
 
#define SECURITY_MANDATORY_MEDIUM_RID   0x2000
 
#define SECURITY_MANDATORY_HIGH_RID   0x3000
 
#define SECURITY_MANDATORY_SYSTEM_RID   0x4000
 
#define SECURITY_NULL_SID_AUTHORITY
 
#define SECURITY_WORLD_SID_AUTHORITY
 
#define SECURITY_LOCAL_SID_AUTHORITY
 
#define SECURITY_CREATOR_SID_AUTHORITY
 
#define SECURITY_NON_UNIQUE_AUTHORITY
 
#define SECURITY_RESOURCE_MANAGER_AUTHORITY
 
#define SECURITY_NULL_RID   (0x00000000L)
 
#define SECURITY_WORLD_RID   (0x00000000L)
 
#define SECURITY_LOCAL_RID   (0x00000000L)
 
#define SECURITY_LOCAL_LOGON_RID   (0x00000001L)
 
#define SECURITY_CREATOR_OWNER_RID   (0x00000000L)
 
#define SECURITY_CREATOR_GROUP_RID   (0x00000001L)
 
#define SECURITY_CREATOR_OWNER_SERVER_RID   (0x00000002L)
 
#define SECURITY_CREATOR_GROUP_SERVER_RID   (0x00000003L)
 
#define SECURITY_CREATOR_OWNER_RIGHTS_RID   (0x00000004L)
 

Typedefs

typedef enum SECURITY_IMPERSONATION_LEVEL * PSECURITY_IMPERSONATION_LEVEL
 
typedef PVOID PACCESS_TOKEN
 
typedef PVOID PCLAIMS_BLOB
 
typedef struct LUID_AND_ATTRIBUTES * PLUID_AND_ATTRIBUTES
 
typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]
 
typedef LUID_AND_ATTRIBUTES_ARRAYPLUID_AND_ATTRIBUTES_ARRAY
 
typedef struct SID_IDENTIFIER_AUTHORITY * PSID_IDENTIFIER_AUTHORITY
 
typedef struct SID * PISID
 
typedef enum SID_NAME_USE * PSID_NAME_USE
 
typedef struct SID_AND_ATTRIBUTES * PSID_AND_ATTRIBUTES
 
typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]
 
typedef SID_AND_ATTRIBUTES_ARRAYPSID_AND_ATTRIBUTES_ARRAY
 
typedef ULONG_PTR SID_HASH_ENTRY
 
typedef ULONG_PTR * PSID_HASH_ENTRY
 
typedef struct SID_AND_ATTRIBUTES_HASH * PSID_AND_ATTRIBUTES_HASH
 
typedef TOKEN_TYPE * PTOKEN_TYPE
 
typedef enum TOKEN_ELEVATION_TYPE * PTOKEN_ELEVATION_TYPE
 
typedef enum TOKEN_INFORMATION_CLASS * PTOKEN_INFORMATION_CLASS
 
typedef struct TOKEN_USER * PTOKEN_USER
 
typedef struct TOKEN_GROUPS * PTOKEN_GROUPS
 
typedef struct TOKEN_PRIVILEGES * PTOKEN_PRIVILEGES
 
typedef struct TOKEN_OWNER * PTOKEN_OWNER
 
typedef struct TOKEN_PRIMARY_GROUP * PTOKEN_PRIMARY_GROUP
 
typedef struct TOKEN_DEFAULT_DACL * PTOKEN_DEFAULT_DACL
 
typedef struct TOKEN_USER_CLAIMS * PTOKEN_USER_CLAIMS
 
typedef struct TOKEN_DEVICE_CLAIMS * PTOKEN_DEVICE_CLAIMS
 
typedef struct TOKEN_GROUPS_AND_PRIVILEGES * PTOKEN_GROUPS_AND_PRIVILEGES
 
typedef struct TOKEN_LINKED_TOKEN * PTOKEN_LINKED_TOKEN
 
typedef struct TOKEN_ELEVATION * PTOKEN_ELEVATION
 
typedef struct TOKEN_MANDATORY_LABEL * PTOKEN_MANDATORY_LABEL
 
typedef struct TOKEN_MANDATORY_POLICY * PTOKEN_MANDATORY_POLICY
 
typedef struct TOKEN_ACCESS_INFORMATION * PTOKEN_ACCESS_INFORMATION
 
typedef struct TOKEN_AUDIT_POLICY * PTOKEN_AUDIT_POLICY
 
typedef struct TOKEN_SOURCE * PTOKEN_SOURCE
 
typedef struct TOKEN_STATISTICS * PTOKEN_STATISTICS
 
typedef struct TOKEN_CONTROL * PTOKEN_CONTROL
 
typedef struct TOKEN_ORIGIN * PTOKEN_ORIGIN
 
typedef enum MANDATORY_LEVEL * PMANDATORY_LEVEL
 
typedef struct TOKEN_APPCONTAINER_INFORMATION * PTOKEN_APPCONTAINER_INFORMATION
 

Enumerations

enum  _SECURITY_IMPERSONATION_LEVEL { SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation }
 
enum  _SID_NAME_USE {
  SidTypeUser = 1, SidTypeGroup, SidTypeDomain, SidTypeAlias,
  SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown,
  SidTypeComputer, SidTypeLabel
}
 
enum  _TOKEN_TYPE { TokenPrimary = 1, TokenImpersonation }
 
enum  _TOKEN_ELEVATION_TYPE { TokenElevationTypeDefault = 1, TokenElevationTypeFull, TokenElevationTypeLimited }
 
enum  _TOKEN_INFORMATION_CLASS {
  TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner,
  TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType,
  TokenImpersonationLevel, TokenStatistics, TokenRestrictedSids, TokenSessionId,
  TokenGroupsAndPrivileges, TokenSessionReference, TokenSandBoxInert, TokenAuditPolicy,
  TokenOrigin, TokenElevationType, TokenLinkedToken, TokenElevation,
  TokenHasRestrictions, TokenAccessInformation, TokenVirtualizationAllowed, TokenVirtualizationEnabled,
  TokenIntegrityLevel, TokenUIAccess, TokenMandatoryPolicy, TokenLogonSid,
  TokenIsAppContainer, TokenCapabilities, TokenAppContainerSid, TokenAppContainerNumber,
  TokenUserClaimAttributes, TokenDeviceClaimAttributes, TokenRestrictedUserClaimAttributes, TokenRestrictedDeviceClaimAttributes,
  TokenDeviceGroups, TokenRestrictedDeviceGroups, TokenSecurityAttributes, TokenIsRestricted,
  MaxTokenInfoClass
}
 
enum  _MANDATORY_LEVEL {
  MandatoryLevelUntrusted = 0, MandatoryLevelLow, MandatoryLevelMedium, MandatoryLevelHigh,
  MandatoryLevelSystem, MandatoryLevelSecureProcess, MandatoryLevelCount
}
 

Functions

WINPR_API BOOL InitializeSecurityDescriptor (PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision)
 
WINPR_API DWORD GetSecurityDescriptorLength (PSECURITY_DESCRIPTOR pSecurityDescriptor)
 
WINPR_API BOOL IsValidSecurityDescriptor (PSECURITY_DESCRIPTOR pSecurityDescriptor)
 
WINPR_API BOOL GetSecurityDescriptorControl (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR_CONTROL pControl, LPDWORD lpdwRevision)
 
WINPR_API BOOL SetSecurityDescriptorControl (PSECURITY_DESCRIPTOR pSecurityDescriptor, SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet)
 
WINPR_API BOOL GetSecurityDescriptorDacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbDaclPresent, PACL *pDacl, LPBOOL lpbDaclDefaulted)
 
WINPR_API BOOL SetSecurityDescriptorDacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bDaclPresent, PACL pDacl, BOOL bDaclDefaulted)
 
WINPR_API BOOL GetSecurityDescriptorGroup (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID *pGroup, LPBOOL lpbGroupDefaulted)
 
WINPR_API BOOL SetSecurityDescriptorGroup (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID pGroup, BOOL bGroupDefaulted)
 
WINPR_API BOOL GetSecurityDescriptorOwner (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID *pOwner, LPBOOL lpbOwnerDefaulted)
 
WINPR_API BOOL SetSecurityDescriptorOwner (PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID pOwner, BOOL bOwnerDefaulted)
 
WINPR_API DWORD GetSecurityDescriptorRMControl (PSECURITY_DESCRIPTOR SecurityDescriptor, PUCHAR RMControl)
 
WINPR_API DWORD SetSecurityDescriptorRMControl (PSECURITY_DESCRIPTOR SecurityDescriptor, PUCHAR RMControl)
 
WINPR_API BOOL GetSecurityDescriptorSacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbSaclPresent, PACL *pSacl, LPBOOL lpbSaclDefaulted)
 
WINPR_API BOOL SetSecurityDescriptorSacl (PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bSaclPresent, PACL pSacl, BOOL bSaclDefaulted)
 

Macro Definition Documentation

◆ ANYSIZE_ARRAY

#define ANYSIZE_ARRAY   1

WinPR: Windows Portable Runtime Security Definitions

Copyright 2012 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Windows Integrity Mechanism Design: http://msdn.microsoft.com/en-us/library/bb625963.aspx

◆ DEFAULT_IMPERSONATION_LEVEL

#define DEFAULT_IMPERSONATION_LEVEL   SecurityImpersonation

◆ POLICY_AUDIT_SUBCATEGORY_COUNT

#define POLICY_AUDIT_SUBCATEGORY_COUNT   (56)

◆ SECURITY_CREATOR_GROUP_RID

#define SECURITY_CREATOR_GROUP_RID   (0x00000001L)

◆ SECURITY_CREATOR_GROUP_SERVER_RID

#define SECURITY_CREATOR_GROUP_SERVER_RID   (0x00000003L)

◆ SECURITY_CREATOR_OWNER_RID

#define SECURITY_CREATOR_OWNER_RID   (0x00000000L)

◆ SECURITY_CREATOR_OWNER_RIGHTS_RID

#define SECURITY_CREATOR_OWNER_RIGHTS_RID   (0x00000004L)

◆ SECURITY_CREATOR_OWNER_SERVER_RID

#define SECURITY_CREATOR_OWNER_SERVER_RID   (0x00000002L)

◆ SECURITY_CREATOR_SID_AUTHORITY

#define SECURITY_CREATOR_SID_AUTHORITY
Value:
{ \
0, 0, 0, 0, 0, 3 \
}

◆ SECURITY_LOCAL_LOGON_RID

#define SECURITY_LOCAL_LOGON_RID   (0x00000001L)

◆ SECURITY_LOCAL_RID

#define SECURITY_LOCAL_RID   (0x00000000L)

◆ SECURITY_LOCAL_SID_AUTHORITY

#define SECURITY_LOCAL_SID_AUTHORITY
Value:
{ \
0, 0, 0, 0, 0, 2 \
}

◆ SECURITY_MANDATORY_HIGH_RID

#define SECURITY_MANDATORY_HIGH_RID   0x3000

◆ SECURITY_MANDATORY_LOW_RID

#define SECURITY_MANDATORY_LOW_RID   0x1000

◆ SECURITY_MANDATORY_MEDIUM_RID

#define SECURITY_MANDATORY_MEDIUM_RID   0x2000

◆ SECURITY_MANDATORY_SYSTEM_RID

#define SECURITY_MANDATORY_SYSTEM_RID   0x4000

◆ SECURITY_MANDATORY_UNTRUSTED_RID

#define SECURITY_MANDATORY_UNTRUSTED_RID   0x0000

◆ SECURITY_MAX_IMPERSONATION_LEVEL

#define SECURITY_MAX_IMPERSONATION_LEVEL   SecurityDelegation

◆ SECURITY_MIN_IMPERSONATION_LEVEL

#define SECURITY_MIN_IMPERSONATION_LEVEL   SecurityAnonymous

◆ SECURITY_NON_UNIQUE_AUTHORITY

#define SECURITY_NON_UNIQUE_AUTHORITY
Value:
{ \
0, 0, 0, 0, 0, 4 \
}

◆ SECURITY_NULL_RID

#define SECURITY_NULL_RID   (0x00000000L)

◆ SECURITY_NULL_SID_AUTHORITY

#define SECURITY_NULL_SID_AUTHORITY
Value:
{ \
0, 0, 0, 0, 0, 0 \
}

◆ SECURITY_RESOURCE_MANAGER_AUTHORITY

#define SECURITY_RESOURCE_MANAGER_AUTHORITY
Value:
{ \
0, 0, 0, 0, 0, 9 \
}

◆ SECURITY_WORLD_RID

#define SECURITY_WORLD_RID   (0x00000000L)

◆ SECURITY_WORLD_SID_AUTHORITY

#define SECURITY_WORLD_SID_AUTHORITY
Value:
{ \
0, 0, 0, 0, 0, 1 \
}

◆ SID_HASH_SIZE

#define SID_HASH_SIZE   32

◆ SID_MAX_SUB_AUTHORITIES

#define SID_MAX_SUB_AUTHORITIES   (15)

◆ SID_RECOMMENDED_SUB_AUTHORITIES

#define SID_RECOMMENDED_SUB_AUTHORITIES   (1)

◆ SID_REVISION

#define SID_REVISION   (1)

◆ TOKEN_ADJUST_DEFAULT

#define TOKEN_ADJUST_DEFAULT   (0x0080)

◆ TOKEN_ADJUST_GROUPS

#define TOKEN_ADJUST_GROUPS   (0x0040)

◆ TOKEN_ADJUST_PRIVILEGES

#define TOKEN_ADJUST_PRIVILEGES   (0x0020)

◆ TOKEN_ADJUST_SESSIONID

#define TOKEN_ADJUST_SESSIONID   (0x0100)

◆ TOKEN_ALL_ACCESS

#define TOKEN_ALL_ACCESS   (TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID)

◆ TOKEN_ALL_ACCESS_P

#define TOKEN_ALL_ACCESS_P

◆ TOKEN_ASSIGN_PRIMARY

#define TOKEN_ASSIGN_PRIMARY   (0x0001)

◆ TOKEN_DUPLICATE

#define TOKEN_DUPLICATE   (0x0002)

◆ TOKEN_EXECUTE

#define TOKEN_EXECUTE   (STANDARD_RIGHTS_EXECUTE)

◆ TOKEN_IMPERSONATE

#define TOKEN_IMPERSONATE   (0x0004)

◆ TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN

#define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN   0x2

◆ TOKEN_MANDATORY_POLICY_NO_WRITE_UP

#define TOKEN_MANDATORY_POLICY_NO_WRITE_UP   0x1

◆ TOKEN_MANDATORY_POLICY_OFF

#define TOKEN_MANDATORY_POLICY_OFF   0x0

◆ TOKEN_MANDATORY_POLICY_VALID_MASK

#define TOKEN_MANDATORY_POLICY_VALID_MASK   (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN)

◆ TOKEN_QUERY

#define TOKEN_QUERY   (0x0008)

◆ TOKEN_QUERY_SOURCE

#define TOKEN_QUERY_SOURCE   (0x0010)

◆ TOKEN_READ

#define TOKEN_READ   (STANDARD_RIGHTS_READ | TOKEN_QUERY)

◆ TOKEN_SOURCE_LENGTH

#define TOKEN_SOURCE_LENGTH   8

◆ TOKEN_WRITE

◆ VALID_IMPERSONATION_LEVEL

#define VALID_IMPERSONATION_LEVEL (   L)    (((L) >= SECURITY_MIN_IMPERSONATION_LEVEL) && ((L) <= SECURITY_MAX_IMPERSONATION_LEVEL))

Typedef Documentation

◆ LUID_AND_ATTRIBUTES_ARRAY

typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]

◆ PACCESS_TOKEN

typedef PVOID PACCESS_TOKEN

◆ PCLAIMS_BLOB

typedef PVOID PCLAIMS_BLOB

◆ PISID

typedef struct SID * PISID

◆ PLUID_AND_ATTRIBUTES

typedef struct LUID_AND_ATTRIBUTES * PLUID_AND_ATTRIBUTES

◆ PLUID_AND_ATTRIBUTES_ARRAY

◆ PMANDATORY_LEVEL

typedef enum MANDATORY_LEVEL * PMANDATORY_LEVEL

◆ PSECURITY_IMPERSONATION_LEVEL

typedef enum SECURITY_IMPERSONATION_LEVEL * PSECURITY_IMPERSONATION_LEVEL

◆ PSID_AND_ATTRIBUTES

typedef struct SID_AND_ATTRIBUTES * PSID_AND_ATTRIBUTES

◆ PSID_AND_ATTRIBUTES_ARRAY

◆ PSID_AND_ATTRIBUTES_HASH

typedef struct SID_AND_ATTRIBUTES_HASH * PSID_AND_ATTRIBUTES_HASH

◆ PSID_HASH_ENTRY

typedef ULONG_PTR * PSID_HASH_ENTRY

◆ PSID_IDENTIFIER_AUTHORITY

typedef struct SID_IDENTIFIER_AUTHORITY * PSID_IDENTIFIER_AUTHORITY

◆ PSID_NAME_USE

typedef enum SID_NAME_USE * PSID_NAME_USE

◆ PTOKEN_ACCESS_INFORMATION

typedef struct TOKEN_ACCESS_INFORMATION * PTOKEN_ACCESS_INFORMATION

◆ PTOKEN_APPCONTAINER_INFORMATION

typedef struct TOKEN_APPCONTAINER_INFORMATION * PTOKEN_APPCONTAINER_INFORMATION

◆ PTOKEN_AUDIT_POLICY

typedef struct TOKEN_AUDIT_POLICY * PTOKEN_AUDIT_POLICY

◆ PTOKEN_CONTROL

typedef struct TOKEN_CONTROL * PTOKEN_CONTROL

◆ PTOKEN_DEFAULT_DACL

typedef struct TOKEN_DEFAULT_DACL * PTOKEN_DEFAULT_DACL

◆ PTOKEN_DEVICE_CLAIMS

typedef struct TOKEN_DEVICE_CLAIMS * PTOKEN_DEVICE_CLAIMS

◆ PTOKEN_ELEVATION

typedef struct TOKEN_ELEVATION * PTOKEN_ELEVATION

◆ PTOKEN_ELEVATION_TYPE

typedef enum TOKEN_ELEVATION_TYPE * PTOKEN_ELEVATION_TYPE

◆ PTOKEN_GROUPS

typedef struct TOKEN_GROUPS * PTOKEN_GROUPS

◆ PTOKEN_GROUPS_AND_PRIVILEGES

typedef struct TOKEN_GROUPS_AND_PRIVILEGES * PTOKEN_GROUPS_AND_PRIVILEGES

◆ PTOKEN_INFORMATION_CLASS

typedef enum TOKEN_INFORMATION_CLASS * PTOKEN_INFORMATION_CLASS

◆ PTOKEN_LINKED_TOKEN

typedef struct TOKEN_LINKED_TOKEN * PTOKEN_LINKED_TOKEN

◆ PTOKEN_MANDATORY_LABEL

typedef struct TOKEN_MANDATORY_LABEL * PTOKEN_MANDATORY_LABEL

◆ PTOKEN_MANDATORY_POLICY

typedef struct TOKEN_MANDATORY_POLICY * PTOKEN_MANDATORY_POLICY

◆ PTOKEN_ORIGIN

typedef struct TOKEN_ORIGIN * PTOKEN_ORIGIN

◆ PTOKEN_OWNER

typedef struct TOKEN_OWNER * PTOKEN_OWNER

◆ PTOKEN_PRIMARY_GROUP

typedef struct TOKEN_PRIMARY_GROUP * PTOKEN_PRIMARY_GROUP

◆ PTOKEN_PRIVILEGES

typedef struct TOKEN_PRIVILEGES * PTOKEN_PRIVILEGES

◆ PTOKEN_SOURCE

typedef struct TOKEN_SOURCE * PTOKEN_SOURCE

◆ PTOKEN_STATISTICS

typedef struct TOKEN_STATISTICS * PTOKEN_STATISTICS

◆ PTOKEN_TYPE

typedef TOKEN_TYPE* PTOKEN_TYPE

◆ PTOKEN_USER

typedef struct TOKEN_USER * PTOKEN_USER

◆ PTOKEN_USER_CLAIMS

typedef struct TOKEN_USER_CLAIMS * PTOKEN_USER_CLAIMS

◆ SID_AND_ATTRIBUTES_ARRAY

typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]

◆ SID_HASH_ENTRY

typedef ULONG_PTR SID_HASH_ENTRY

Enumeration Type Documentation

◆ _MANDATORY_LEVEL

Enumerator
MandatoryLevelUntrusted 
MandatoryLevelLow 
MandatoryLevelMedium 
MandatoryLevelHigh 
MandatoryLevelSystem 
MandatoryLevelSecureProcess 
MandatoryLevelCount 

◆ _SECURITY_IMPERSONATION_LEVEL

Enumerator
SecurityAnonymous 
SecurityIdentification 
SecurityImpersonation 
SecurityDelegation 

◆ _SID_NAME_USE

Enumerator
SidTypeUser 
SidTypeGroup 
SidTypeDomain 
SidTypeAlias 
SidTypeWellKnownGroup 
SidTypeDeletedAccount 
SidTypeInvalid 
SidTypeUnknown 
SidTypeComputer 
SidTypeLabel 

◆ _TOKEN_ELEVATION_TYPE

Enumerator
TokenElevationTypeDefault 
TokenElevationTypeFull 
TokenElevationTypeLimited 

◆ _TOKEN_INFORMATION_CLASS

Enumerator
TokenUser 
TokenGroups 
TokenPrivileges 
TokenOwner 
TokenPrimaryGroup 
TokenDefaultDacl 
TokenSource 
TokenType 
TokenImpersonationLevel 
TokenStatistics 
TokenRestrictedSids 
TokenSessionId 
TokenGroupsAndPrivileges 
TokenSessionReference 
TokenSandBoxInert 
TokenAuditPolicy 
TokenOrigin 
TokenElevationType 
TokenLinkedToken 
TokenElevation 
TokenHasRestrictions 
TokenAccessInformation 
TokenVirtualizationAllowed 
TokenVirtualizationEnabled 
TokenIntegrityLevel 
TokenUIAccess 
TokenMandatoryPolicy 
TokenLogonSid 
TokenIsAppContainer 
TokenCapabilities 
TokenAppContainerSid 
TokenAppContainerNumber 
TokenUserClaimAttributes 
TokenDeviceClaimAttributes 
TokenRestrictedUserClaimAttributes 
TokenRestrictedDeviceClaimAttributes 
TokenDeviceGroups 
TokenRestrictedDeviceGroups 
TokenSecurityAttributes 
TokenIsRestricted 
MaxTokenInfoClass 

◆ _TOKEN_TYPE

Enumerator
TokenPrimary 
TokenImpersonation 

Function Documentation

◆ GetSecurityDescriptorControl()

WINPR_API BOOL GetSecurityDescriptorControl ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
PSECURITY_DESCRIPTOR_CONTROL  pControl,
LPDWORD  lpdwRevision 
)

◆ GetSecurityDescriptorDacl()

WINPR_API BOOL GetSecurityDescriptorDacl ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
LPBOOL  lpbDaclPresent,
PACL *  pDacl,
LPBOOL  lpbDaclDefaulted 
)

◆ GetSecurityDescriptorGroup()

WINPR_API BOOL GetSecurityDescriptorGroup ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
PSID *  pGroup,
LPBOOL  lpbGroupDefaulted 
)

◆ GetSecurityDescriptorLength()

WINPR_API DWORD GetSecurityDescriptorLength ( PSECURITY_DESCRIPTOR  pSecurityDescriptor)

◆ GetSecurityDescriptorOwner()

WINPR_API BOOL GetSecurityDescriptorOwner ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
PSID *  pOwner,
LPBOOL  lpbOwnerDefaulted 
)

◆ GetSecurityDescriptorRMControl()

WINPR_API DWORD GetSecurityDescriptorRMControl ( PSECURITY_DESCRIPTOR  SecurityDescriptor,
PUCHAR  RMControl 
)

◆ GetSecurityDescriptorSacl()

WINPR_API BOOL GetSecurityDescriptorSacl ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
LPBOOL  lpbSaclPresent,
PACL *  pSacl,
LPBOOL  lpbSaclDefaulted 
)

◆ InitializeSecurityDescriptor()

WINPR_API BOOL InitializeSecurityDescriptor ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
DWORD  dwRevision 
)

WinPR: Windows Portable Runtime Base Security Functions

Copyright 2013 Marc-Andre Moreau marca.nosp@m.ndre.nosp@m..more.nosp@m.au@g.nosp@m.mail..nosp@m.com

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. api-ms-win-security-base-l1-2-0.dll:

AccessCheck AccessCheckAndAuditAlarmW AccessCheckByType AccessCheckByTypeAndAuditAlarmW AccessCheckByTypeResultList AccessCheckByTypeResultListAndAuditAlarmByHandleW AccessCheckByTypeResultListAndAuditAlarmW AddAccessAllowedAce AddAccessAllowedAceEx AddAccessAllowedObjectAce AddAccessDeniedAce AddAccessDeniedAceEx AddAccessDeniedObjectAce AddAce AddAuditAccessAce AddAuditAccessAceEx AddAuditAccessObjectAce AddMandatoryAce AddResourceAttributeAce AddScopedPolicyIDAce AdjustTokenGroups AdjustTokenPrivileges AllocateAndInitializeSid AllocateLocallyUniqueId AreAllAccessesGranted AreAnyAccessesGranted CheckTokenCapability CheckTokenMembership CheckTokenMembershipEx ConvertToAutoInheritPrivateObjectSecurity CopySid CreatePrivateObjectSecurity CreatePrivateObjectSecurityEx CreatePrivateObjectSecurityWithMultipleInheritance CreateRestrictedToken CreateWellKnownSid DeleteAce DestroyPrivateObjectSecurity DuplicateToken DuplicateTokenEx EqualDomainSid EqualPrefixSid EqualSid FindFirstFreeAce FreeSid GetAce GetAclInformation GetAppContainerAce GetCachedSigningLevel GetFileSecurityW GetKernelObjectSecurity GetLengthSid GetPrivateObjectSecurity GetSidIdentifierAuthority GetSidLengthRequired GetSidSubAuthority GetSidSubAuthorityCount GetTokenInformation GetWindowsAccountDomainSid ImpersonateAnonymousToken ImpersonateLoggedOnUser ImpersonateSelf InitializeAcl InitializeSid IsTokenRestricted IsValidAcl IsValidSid IsWellKnownSid MakeAbsoluteSD MakeSelfRelativeSD MapGenericMask ObjectCloseAuditAlarmW ObjectDeleteAuditAlarmW ObjectOpenAuditAlarmW ObjectPrivilegeAuditAlarmW PrivilegeCheck PrivilegedServiceAuditAlarmW QuerySecurityAccessMask RevertToSelf SetAclInformation SetCachedSigningLevel SetFileSecurityW SetKernelObjectSecurity SetPrivateObjectSecurity SetPrivateObjectSecurityEx SetSecurityAccessMask SetTokenInformation

◆ IsValidSecurityDescriptor()

WINPR_API BOOL IsValidSecurityDescriptor ( PSECURITY_DESCRIPTOR  pSecurityDescriptor)

◆ SetSecurityDescriptorControl()

WINPR_API BOOL SetSecurityDescriptorControl ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
SECURITY_DESCRIPTOR_CONTROL  ControlBitsOfInterest,
SECURITY_DESCRIPTOR_CONTROL  ControlBitsToSet 
)

◆ SetSecurityDescriptorDacl()

WINPR_API BOOL SetSecurityDescriptorDacl ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
BOOL  bDaclPresent,
PACL  pDacl,
BOOL  bDaclDefaulted 
)

◆ SetSecurityDescriptorGroup()

WINPR_API BOOL SetSecurityDescriptorGroup ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
PSID  pGroup,
BOOL  bGroupDefaulted 
)

◆ SetSecurityDescriptorOwner()

WINPR_API BOOL SetSecurityDescriptorOwner ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
PSID  pOwner,
BOOL  bOwnerDefaulted 
)

◆ SetSecurityDescriptorRMControl()

WINPR_API DWORD SetSecurityDescriptorRMControl ( PSECURITY_DESCRIPTOR  SecurityDescriptor,
PUCHAR  RMControl 
)

◆ SetSecurityDescriptorSacl()

WINPR_API BOOL SetSecurityDescriptorSacl ( PSECURITY_DESCRIPTOR  pSecurityDescriptor,
BOOL  bSaclPresent,
PACL  pSacl,
BOOL  bSaclDefaulted 
)
TOKEN_DUPLICATE
#define TOKEN_DUPLICATE
Definition: winpr/include/winpr/security.h:53
STANDARD_RIGHTS_REQUIRED
#define STANDARD_RIGHTS_REQUIRED
Definition: nt.h:1501
TOKEN_ADJUST_PRIVILEGES
#define TOKEN_ADJUST_PRIVILEGES
Definition: winpr/include/winpr/security.h:57
TOKEN_ADJUST_GROUPS
#define TOKEN_ADJUST_GROUPS
Definition: winpr/include/winpr/security.h:58
TOKEN_QUERY_SOURCE
#define TOKEN_QUERY_SOURCE
Definition: winpr/include/winpr/security.h:56
TOKEN_IMPERSONATE
#define TOKEN_IMPERSONATE
Definition: winpr/include/winpr/security.h:54
TOKEN_ASSIGN_PRIMARY
#define TOKEN_ASSIGN_PRIMARY
Definition: winpr/include/winpr/security.h:52