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_LEVELPSECURITY_IMPERSONATION_LEVEL
 
typedef PVOID PACCESS_TOKEN
 
typedef PVOID PCLAIMS_BLOB
 
typedef struct LUID_AND_ATTRIBUTESPLUID_AND_ATTRIBUTES
 
typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]
 
typedef LUID_AND_ATTRIBUTES_ARRAYPLUID_AND_ATTRIBUTES_ARRAY
 
typedef struct SID_IDENTIFIER_AUTHORITYPSID_IDENTIFIER_AUTHORITY
 
typedef struct SIDPISID
 
typedef enum SID_NAME_USEPSID_NAME_USE
 
typedef struct SID_AND_ATTRIBUTESPSID_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_HASHPSID_AND_ATTRIBUTES_HASH
 
typedef TOKEN_TYPEPTOKEN_TYPE
 
typedef enum TOKEN_ELEVATION_TYPEPTOKEN_ELEVATION_TYPE
 
typedef enum TOKEN_INFORMATION_CLASSPTOKEN_INFORMATION_CLASS
 
typedef struct TOKEN_USERPTOKEN_USER
 
typedef struct TOKEN_GROUPSPTOKEN_GROUPS
 
typedef struct TOKEN_PRIVILEGESPTOKEN_PRIVILEGES
 
typedef struct TOKEN_OWNERPTOKEN_OWNER
 
typedef struct TOKEN_PRIMARY_GROUPPTOKEN_PRIMARY_GROUP
 
typedef struct TOKEN_DEFAULT_DACLPTOKEN_DEFAULT_DACL
 
typedef struct TOKEN_USER_CLAIMSPTOKEN_USER_CLAIMS
 
typedef struct TOKEN_DEVICE_CLAIMSPTOKEN_DEVICE_CLAIMS
 
typedef struct TOKEN_GROUPS_AND_PRIVILEGESPTOKEN_GROUPS_AND_PRIVILEGES
 
typedef struct TOKEN_LINKED_TOKENPTOKEN_LINKED_TOKEN
 
typedef struct TOKEN_ELEVATIONPTOKEN_ELEVATION
 
typedef struct TOKEN_MANDATORY_LABELPTOKEN_MANDATORY_LABEL
 
typedef struct TOKEN_MANDATORY_POLICYPTOKEN_MANDATORY_POLICY
 
typedef struct TOKEN_ACCESS_INFORMATIONPTOKEN_ACCESS_INFORMATION
 
typedef struct TOKEN_AUDIT_POLICYPTOKEN_AUDIT_POLICY
 
typedef struct TOKEN_SOURCEPTOKEN_SOURCE
 
typedef struct TOKEN_STATISTICSPTOKEN_STATISTICS
 
typedef struct TOKEN_CONTROLPTOKEN_CONTROL
 
typedef struct TOKEN_ORIGINPTOKEN_ORIGIN
 
typedef enum MANDATORY_LEVELPMANDATORY_LEVEL
 
typedef struct TOKEN_APPCONTAINER_INFORMATIONPTOKEN_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
Value:
TOKEN_ADJUST_DEFAULT)
#define STANDARD_RIGHTS_REQUIRED
Definition: nt.h:1510
#define TOKEN_QUERY_SOURCE
Definition: winpr/include/winpr/security.h:56
#define TOKEN_DUPLICATE
Definition: winpr/include/winpr/security.h:53
#define TOKEN_ADJUST_PRIVILEGES
Definition: winpr/include/winpr/security.h:57
#define TOKEN_ASSIGN_PRIMARY
Definition: winpr/include/winpr/security.h:52
#define TOKEN_ADJUST_GROUPS
Definition: winpr/include/winpr/security.h:58
#define TOKEN_IMPERSONATE
Definition: winpr/include/winpr/security.h:54

◆ 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

◆ PLUID_AND_ATTRIBUTES_ARRAY

◆ PMANDATORY_LEVEL

◆ PSECURITY_IMPERSONATION_LEVEL

◆ PSID_AND_ATTRIBUTES

◆ PSID_AND_ATTRIBUTES_ARRAY

◆ PSID_AND_ATTRIBUTES_HASH

◆ PSID_HASH_ENTRY

typedef ULONG_PTR * PSID_HASH_ENTRY

◆ PSID_IDENTIFIER_AUTHORITY

◆ PSID_NAME_USE

typedef enum SID_NAME_USE * PSID_NAME_USE

◆ PTOKEN_ACCESS_INFORMATION

◆ PTOKEN_APPCONTAINER_INFORMATION

◆ PTOKEN_AUDIT_POLICY

◆ PTOKEN_CONTROL

typedef struct TOKEN_CONTROL * PTOKEN_CONTROL

◆ PTOKEN_DEFAULT_DACL

◆ PTOKEN_DEVICE_CLAIMS

◆ PTOKEN_ELEVATION

◆ PTOKEN_ELEVATION_TYPE

◆ PTOKEN_GROUPS

typedef struct TOKEN_GROUPS * PTOKEN_GROUPS

◆ PTOKEN_GROUPS_AND_PRIVILEGES

◆ PTOKEN_INFORMATION_CLASS

◆ PTOKEN_LINKED_TOKEN

◆ PTOKEN_MANDATORY_LABEL

◆ PTOKEN_MANDATORY_POLICY

◆ PTOKEN_ORIGIN

typedef struct TOKEN_ORIGIN * PTOKEN_ORIGIN

◆ PTOKEN_OWNER

typedef struct TOKEN_OWNER * PTOKEN_OWNER

◆ PTOKEN_PRIMARY_GROUP

◆ PTOKEN_PRIVILEGES

◆ PTOKEN_SOURCE

typedef struct TOKEN_SOURCE * PTOKEN_SOURCE

◆ PTOKEN_STATISTICS

◆ PTOKEN_TYPE

◆ PTOKEN_USER

typedef struct TOKEN_USER * PTOKEN_USER

◆ 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

enum 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 
)