ReactOS 0.4.16-dev-122-g325d74c
|
#include <ntoskrnl.h>
#include <debug.h>
Go to the source code of this file.
Macros | |
#define | NDEBUG |
Functions | |
static NTSTATUS | SepValidateObjectTypeList (_In_reads_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, _In_ ULONG ObjectTypeListLength) |
Validates a list of object types passed from user mode, ensuring the following conditions are met for a valid list: | |
static BOOLEAN | SepIsEqualObjectTypeGuid (_In_ CONST GUID *Guid1, _In_ CONST GUID *Guid2) |
Compares two object type GUIDs for equality. | |
PGUID | SepGetObjectTypeGuidFromAce (_In_ PACE Ace, _In_ BOOLEAN IsAceDenied) |
Captures an object type GUID from an object access control entry (ACE). | |
BOOLEAN | SepObjectTypeGuidInList (_In_reads_(ObjectTypeListLength) POBJECT_TYPE_LIST_INTERNAL ObjectTypeList, _In_ ULONG ObjectTypeListLength, _In_ PGUID ObjectTypeGuid, _Out_ PULONG ObjectIndex) |
Searches for an object type GUID if it exists on an object type list. | |
NTSTATUS | SeCaptureObjectTypeList (_In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, _In_ ULONG ObjectTypeListLength, _In_ KPROCESSOR_MODE PreviousMode, _Out_ POBJECT_TYPE_LIST_INTERNAL *CapturedObjectTypeList) |
Captures a list of object types and converts it to an internal form for use by the kernel. The list is validated before its data is copied. | |
VOID | SeReleaseObjectTypeList (_In_ _Post_invalid_ POBJECT_TYPE_LIST_INTERNAL CapturedObjectTypeList, _In_ KPROCESSOR_MODE PreviousMode) |
Releases a buffer list of object types. | |
NTSTATUS SeCaptureObjectTypeList | ( | _In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST | ObjectTypeList, |
_In_ ULONG | ObjectTypeListLength, | ||
_In_ KPROCESSOR_MODE | PreviousMode, | ||
_Out_ POBJECT_TYPE_LIST_INTERNAL * | CapturedObjectTypeList | ||
) |
Captures a list of object types and converts it to an internal form for use by the kernel. The list is validated before its data is copied.
[in] | ObjectTypeList | A pointer to a list of object types passed from UM to be captured. |
[in] | ObjectTypeListLength | The length size of the list. This length represents the number of object elements in that list. |
[in] | PreviousMode | Processor access level mode. This has to be set to UserMode as object type access check is not supported in the kernel. |
[out] | CapturedObjectTypeList | A pointer to a returned captured list of object types. |
Definition at line 282 of file objtype.c.
Referenced by SepAccessCheck(), and SepAccessCheckAndAuditAlarm().
Captures an object type GUID from an object access control entry (ACE).
[in] | Ace | A pointer to an access control entry, of which the object type GUID is to be captured from. |
[in] | IsAceDenied | If set to TRUE, the function will capture the GUID from a denied object ACE, otherwise from the allowed object ACE. |
Definition at line 180 of file objtype.c.
Referenced by SepAnalyzeAcesFromDacl().
Compares two object type GUIDs for equality.
[in] | Guid1 | A pointer to the first object type GUID. |
[in] | Guid2 | A pointer to the second object type GUID. |
Definition at line 151 of file objtype.c.
Referenced by SepObjectTypeGuidInList().
BOOLEAN SepObjectTypeGuidInList | ( | _In_reads_(ObjectTypeListLength) POBJECT_TYPE_LIST_INTERNAL | ObjectTypeList, |
_In_ ULONG | ObjectTypeListLength, | ||
_In_ PGUID | ObjectTypeGuid, | ||
_Out_ PULONG | ObjectIndex | ||
) |
Searches for an object type GUID if it exists on an object type list.
[in] | ObjectTypeList | A pointer to an object type list. |
[in] | ObjectTypeListLength | The length of the list, representing the number of object elements in that list. |
[in] | ObjectTypeGuid | A pointer to an object type GUID to search in the list of interest. |
[out] | ObjectIndex | If the function found the target GUID, the function returns a pointer to the object index location to this parameter. |
Definition at line 223 of file objtype.c.
Referenced by SepAllowAccessObjectTypeList(), SepAllowAccessObjectTypeResultList(), SepDenyAccessObjectTypeList(), and SepDenyAccessObjectTypeResultList().
|
static |
Validates a list of object types passed from user mode, ensuring the following conditions are met for a valid list:
[in] | ObjectTypeList | A pointer to an object type list of which the elements are being validated. |
[in] | ObjectTypeListLength | The length of the list, representing the number of object elements in that list. |
Definition at line 46 of file objtype.c.
Referenced by SeCaptureObjectTypeList().
VOID SeReleaseObjectTypeList | ( | _In_ _Post_invalid_ POBJECT_TYPE_LIST_INTERNAL | CapturedObjectTypeList, |
_In_ KPROCESSOR_MODE | PreviousMode | ||
) |
Releases a buffer list of object types.
[in] | CapturedObjectTypeList | A list of object types to free. |
[in] | PreviousMode | Processor access level mode. |
Definition at line 378 of file objtype.c.
Referenced by SepAccessCheck(), and SepAccessCheckAndAuditAlarm().