mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
[NTOS:SE]
- Call SeSetSecurityDescriptorInfoEx from SeSetSecurityDescriptorInfo svn path=/trunk/; revision=65247
This commit is contained in:
+48
-35
@@ -615,11 +615,14 @@ SeCaptureSecurityDescriptor(
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS NTAPI
|
||||
SeQuerySecurityDescriptorInfo(IN PSECURITY_INFORMATION SecurityInformation,
|
||||
IN OUT PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
IN OUT PULONG Length,
|
||||
IN PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor OPTIONAL)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeQuerySecurityDescriptorInfo(
|
||||
_In_ PSECURITY_INFORMATION SecurityInformation,
|
||||
_Out_writes_bytes_(*Length) PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_Inout_ PULONG Length,
|
||||
_Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor)
|
||||
{
|
||||
PISECURITY_DESCRIPTOR ObjectSd;
|
||||
PISECURITY_DESCRIPTOR_RELATIVE RelSD;
|
||||
@@ -635,6 +638,8 @@ SeQuerySecurityDescriptorInfo(IN PSECURITY_INFORMATION SecurityInformation,
|
||||
ULONG_PTR Current;
|
||||
ULONG SdLength;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
RelSD = (PISECURITY_DESCRIPTOR_RELATIVE)SecurityDescriptor;
|
||||
|
||||
if (*ObjectsSecurityDescriptor == NULL)
|
||||
@@ -781,13 +786,42 @@ SeReleaseSecurityDescriptor(IN PSECURITY_DESCRIPTOR CapturedSecurityDescriptor,
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
NTSTATUS NTAPI
|
||||
SeSetSecurityDescriptorInfo(IN PVOID Object OPTIONAL,
|
||||
IN PSECURITY_INFORMATION _SecurityInformation,
|
||||
IN PSECURITY_DESCRIPTOR _SecurityDescriptor,
|
||||
IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN PGENERIC_MAPPING GenericMapping)
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeSetSecurityDescriptorInfo(
|
||||
_In_opt_ PVOID Object,
|
||||
_In_ PSECURITY_INFORMATION SecurityInformation,
|
||||
_In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||
_Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ PGENERIC_MAPPING GenericMapping)
|
||||
{
|
||||
PAGED_CODE();
|
||||
|
||||
return SeSetSecurityDescriptorInfoEx(Object,
|
||||
SecurityInformation,
|
||||
SecurityDescriptor,
|
||||
ObjectsSecurityDescriptor,
|
||||
0,
|
||||
PoolType,
|
||||
GenericMapping);
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
_IRQL_requires_max_(PASSIVE_LEVEL)
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeSetSecurityDescriptorInfoEx(
|
||||
_In_opt_ PVOID Object,
|
||||
_In_ PSECURITY_INFORMATION _SecurityInformation,
|
||||
_In_ PSECURITY_DESCRIPTOR _SecurityDescriptor,
|
||||
_Inout_ PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
_In_ ULONG AutoInheritFlags,
|
||||
_In_ POOL_TYPE PoolType,
|
||||
_In_ PGENERIC_MAPPING GenericMapping)
|
||||
{
|
||||
PISECURITY_DESCRIPTOR_RELATIVE ObjectSd;
|
||||
PISECURITY_DESCRIPTOR_RELATIVE NewSd;
|
||||
@@ -805,6 +839,8 @@ SeSetSecurityDescriptorInfo(IN PVOID Object OPTIONAL,
|
||||
ULONG Current;
|
||||
SECURITY_INFORMATION SecurityInformation;
|
||||
|
||||
PAGED_CODE();
|
||||
|
||||
ObjectSd = *ObjectsSecurityDescriptor;
|
||||
|
||||
/* The object does not have a security descriptor. */
|
||||
@@ -971,29 +1007,6 @@ SeSetSecurityDescriptorInfo(IN PVOID Object OPTIONAL,
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
SeSetSecurityDescriptorInfoEx(IN PVOID Object OPTIONAL,
|
||||
IN PSECURITY_INFORMATION SecurityInformation,
|
||||
IN PSECURITY_DESCRIPTOR ModificationDescriptor,
|
||||
IN OUT PSECURITY_DESCRIPTOR *ObjectsSecurityDescriptor,
|
||||
IN ULONG AutoInheritFlags,
|
||||
IN POOL_TYPE PoolType,
|
||||
IN PGENERIC_MAPPING GenericMapping)
|
||||
{
|
||||
PISECURITY_DESCRIPTOR ObjectSd = *ObjectsSecurityDescriptor;
|
||||
|
||||
/* The object does not have a security descriptor. */
|
||||
if (!ObjectSd)
|
||||
return STATUS_NO_SECURITY_ON_OBJECT;
|
||||
|
||||
UNIMPLEMENTED;
|
||||
return STATUS_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
|
||||
Reference in New Issue
Block a user