16 #define TAG_SID_AND_ATTRIBUTES 'aSeS' 315 else if (!CaptureIfKernel)
317 *CapturedSid = InputSid;
344 if (CapturedSid !=
NULL &&
372 *CapturedSidAndAttributes =
NULL;
375 if (AttributeCount == 0)
380 if (AttributeCount > 0x1000)
387 *CapturedSidAndAttributes = SrcSidAndAttributes;
403 for (
i = 0;
i < AttributeCount;
i++)
406 Sid = SrcSidAndAttributes[
i].Sid;
433 for (
i = 0;
i < AttributeCount;
i++)
436 Sid = SrcSidAndAttributes[
i].Sid;
449 if (AllocatedMem ==
NULL)
455 if (SidAndAttributes ==
NULL)
464 SidAndAttributes = AllocatedMem;
472 *CapturedSidAndAttributes = SidAndAttributes;
480 CurrentDest = (
PUCHAR)SidAndAttributes;
484 for (
i = 0;
i < AttributeCount;
i++)
487 Sid = SrcSidAndAttributes[
i].Sid;
491 SidAndAttributes[
i].
Attributes = SrcSidAndAttributes[
i].Attributes;
494 SidAndAttributes[
i].
Sid = (
PSID)CurrentDest;
514 CurrentDest = (
PUCHAR)SidAndAttributes;
518 for (
i = 0;
i < AttributeCount;
i++)
521 Sid = SrcSidAndAttributes[
i].Sid;
525 SidAndAttributes[
i].
Attributes = SrcSidAndAttributes[
i].Attributes;
528 SidAndAttributes[
i].
Sid = (
PSID)CurrentDest;
540 if (SidAndAttributes != AllocatedMem)
547 *CapturedSidAndAttributes =
NULL ;
562 if ((CapturedSidAndAttributes !=
NULL) &&
#define SECURITY_BATCH_RID
#define SECURITY_AUTHENTICATED_USER_RID
#define SECURITY_LOCAL_SYSTEM_RID
#define DOMAIN_ALIAS_RID_GUESTS
#define STATUS_INSUFFICIENT_RESOURCES
VOID NTAPI FreeInitializedSids(VOID)
#define STATUS_INVALID_PARAMETER
#define DOMAIN_ALIAS_RID_ACCOUNT_OPS
#define SECURITY_DIALUP_RID
VOID NTAPI SeReleaseSidAndAttributesArray(_In_ _Post_invalid_ PSID_AND_ATTRIBUTES CapturedSidAndAttributes, _In_ KPROCESSOR_MODE AccessMode, _In_ BOOLEAN CaptureIfKernel)
#define SECURITY_NETWORK_RID
#define DOMAIN_ALIAS_RID_POWER_USERS
#define SECURITY_INTERACTIVE_RID
#define SECURITY_NULL_SID_AUTHORITY
#define STATUS_BUFFER_TOO_SMALL
PULONG NTAPI RtlSubAuthoritySid(IN PSID Sid_, IN ULONG SubAuthority)
NTSTATUS NTAPI SepCaptureSid(IN PSID InputSid, IN KPROCESSOR_MODE AccessMode, IN POOL_TYPE PoolType, IN BOOLEAN CaptureIfKernel, OUT PSID *CapturedSid)
#define SECURITY_PRINCIPAL_SELF_RID
PSID SeCreatorOwnerServerSid
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
SID_IDENTIFIER_AUTHORITY SeCreatorSidAuthority
#define SECURITY_LOCAL_SID_AUTHORITY
BOOLEAN NTAPI SepInitSecurityIDs(VOID)
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
#define EXCEPTION_EXECUTE_HANDLER
#define SID_MAX_SUB_AUTHORITIES
ULONG NTAPI RtlLengthSid(IN PSID Sid_)
_In_ ULONG _In_ ACCESS_MASK _In_ PSID Sid
#define STATUS_INVALID_SID
#define SECURITY_LOCAL_SERVICE_RID
VOID NTAPI SepReleaseSid(IN PSID CapturedSid, IN KPROCESSOR_MODE AccessMode, IN BOOLEAN CaptureIfKernel)
#define SECURITY_NT_AUTHORITY
BOOLEAN NTAPI RtlValidSid(IN PSID Sid_)
#define TAG_SID_AND_ATTRIBUTES
_In_ KPROCESSOR_MODE PreviousMode
#define SECURITY_CREATOR_GROUP_SERVER_RID
#define SECURITY_BUILTIN_DOMAIN_RID
#define _SEH2_YIELD(STMT_)
#define NT_SUCCESS(StatCode)
#define DOMAIN_ALIAS_RID_BACKUP_OPS
#define SECURITY_WORLD_SID_AUTHORITY
struct _SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES
#define DOMAIN_ALIAS_RID_SYSTEM_OPS
#define SECURITY_LOCAL_RID
SID_IDENTIFIER_AUTHORITY SeWorldSidAuthority
#define SECURITY_WORLD_RID
NTSTATUS NTAPI SeCaptureSidAndAttributesArray(_In_ PSID_AND_ATTRIBUTES SrcSidAndAttributes, _In_ ULONG AttributeCount, _In_ KPROCESSOR_MODE PreviousMode, _In_opt_ PVOID AllocatedMem, _In_ ULONG AllocatedLength, _In_ POOL_TYPE PoolType, _In_ BOOLEAN CaptureIfKernel, _Out_ PSID_AND_ATTRIBUTES *CapturedSidAndAttributes, _Out_ PULONG ResultLength)
#define SECURITY_ANONYMOUS_LOGON_RID
#define SECURITY_CREATOR_OWNER_RID
#define ExAllocatePoolWithTag(hernya, size, tag)
#define SECURITY_NULL_RID
PSID SeAuthenticatedUserSid
VOID NTAPI ProbeForRead(IN CONST VOID *Address, IN SIZE_T Length, IN ULONG Alignment)
ULONG NTAPI RtlLengthRequiredSid(IN ULONG SubAuthorityCount)
PSID SeAuthenticatedUsersSid
PSID SeAliasPowerUsersSid
#define SECURITY_NETWORK_SERVICE_RID
SID_IDENTIFIER_AUTHORITY SeNullSidAuthority
#define SECURITY_CREATOR_GROUP_RID
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
NTSTATUS NTAPI RtlInitializeSid(IN PSID Sid_, IN PSID_IDENTIFIER_AUTHORITY IdentifierAuthority, IN UCHAR SubAuthorityCount)
#define DOMAIN_ALIAS_RID_USERS
#define FIELD_OFFSET(t, f)
_In_ ULONG _Out_opt_ PULONG RequiredLength
#define SECURITY_RESTRICTED_CODE_RID
PSID SeCreatorGroupServerSid
#define SECURITY_CREATOR_OWNER_SERVER_RID
#define DOMAIN_ALIAS_RID_PRINT_OPS
#define SECURITY_SERVICE_RID
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ _Strict_type_match_ POOL_TYPE PoolType
#define ALIGN_UP_BY(size, align)
SID_IDENTIFIER_AUTHORITY SeLocalSidAuthority
#define RtlCopyMemory(Destination, Source, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
#define _SEH2_EXCEPT(...)
#define ExFreePoolWithTag(_P, _T)
#define _SEH2_GetExceptionCode()
SID_IDENTIFIER_AUTHORITY SeNtSidAuthority
_In_ PSID _In_ PSID NewSid
#define DOMAIN_ALIAS_RID_ADMINS
#define SECURITY_CREATOR_SID_AUTHORITY
PSID SeAliasAccountOpsSid