mirror of
https://github.com/reactos/reactos.git
synced 2025-08-04 00:25:41 +00:00
[SAMSRV]
Store an objects relative id in the database object. This will later be used to protect pre-defined objects from being deleted. svn path=/trunk/; revision=58038
This commit is contained in:
parent
dfa3ce1995
commit
e002133064
3 changed files with 17 additions and 0 deletions
|
@ -97,6 +97,7 @@ NTSTATUS
|
|||
SampCreateDbObject(IN PSAM_DB_OBJECT ParentObject,
|
||||
IN LPWSTR ContainerName,
|
||||
IN LPWSTR ObjectName,
|
||||
IN ULONG RelativeId,
|
||||
IN SAM_DB_OBJECT_TYPE ObjectType,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PSAM_DB_OBJECT *DbObject)
|
||||
|
@ -240,6 +241,7 @@ SampCreateDbObject(IN PSAM_DB_OBJECT ParentObject,
|
|||
NewObject->Access = DesiredAccess;
|
||||
NewObject->KeyHandle = ObjectKeyHandle;
|
||||
NewObject->MembersKeyHandle = MembersKeyHandle;
|
||||
NewObject->RelativeId = RelativeId;
|
||||
NewObject->ParentObject = ParentObject;
|
||||
|
||||
if (ParentObject != NULL)
|
||||
|
@ -255,6 +257,7 @@ NTSTATUS
|
|||
SampOpenDbObject(IN PSAM_DB_OBJECT ParentObject,
|
||||
IN LPWSTR ContainerName,
|
||||
IN LPWSTR ObjectName,
|
||||
IN ULONG RelativeId,
|
||||
IN SAM_DB_OBJECT_TYPE ObjectType,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PSAM_DB_OBJECT *DbObject)
|
||||
|
@ -390,6 +393,7 @@ SampOpenDbObject(IN PSAM_DB_OBJECT ParentObject,
|
|||
NewObject->Access = DesiredAccess;
|
||||
NewObject->KeyHandle = ObjectKeyHandle;
|
||||
NewObject->MembersKeyHandle = MembersKeyHandle;
|
||||
NewObject->RelativeId = RelativeId;
|
||||
NewObject->ParentObject = ParentObject;
|
||||
|
||||
if (ParentObject != NULL)
|
||||
|
|
|
@ -88,6 +88,7 @@ SamrConnect(IN PSAMPR_SERVER_NAME ServerName,
|
|||
Status = SampOpenDbObject(NULL,
|
||||
NULL,
|
||||
L"SAM",
|
||||
0,
|
||||
SamDbServerObject,
|
||||
DesiredAccess,
|
||||
&ServerObject);
|
||||
|
@ -509,6 +510,7 @@ SamrOpenDomain(IN SAMPR_HANDLE ServerHandle,
|
|||
Status = SampOpenDbObject(ServerObject,
|
||||
L"Domains",
|
||||
L"Builtin",
|
||||
0,
|
||||
SamDbDomainObject,
|
||||
DesiredAccess,
|
||||
&DomainObject);
|
||||
|
@ -524,6 +526,7 @@ SamrOpenDomain(IN SAMPR_HANDLE ServerHandle,
|
|||
Status = SampOpenDbObject(ServerObject,
|
||||
L"Domains",
|
||||
L"Account",
|
||||
0,
|
||||
SamDbDomainObject,
|
||||
DesiredAccess,
|
||||
&DomainObject);
|
||||
|
@ -1709,6 +1712,7 @@ SamrCreateGroupInDomain(IN SAMPR_HANDLE DomainHandle,
|
|||
Status = SampCreateDbObject(DomainObject,
|
||||
L"Groups",
|
||||
szRid,
|
||||
ulRid,
|
||||
SamDbGroupObject,
|
||||
DesiredAccess,
|
||||
&GroupObject);
|
||||
|
@ -2074,6 +2078,7 @@ SamrCreateUserInDomain(IN SAMPR_HANDLE DomainHandle,
|
|||
Status = SampCreateDbObject(DomainObject,
|
||||
L"Users",
|
||||
szRid,
|
||||
ulRid,
|
||||
SamDbUserObject,
|
||||
DesiredAccess,
|
||||
&UserObject);
|
||||
|
@ -2527,6 +2532,7 @@ SamrCreateAliasInDomain(IN SAMPR_HANDLE DomainHandle,
|
|||
Status = SampCreateDbObject(DomainObject,
|
||||
L"Aliases",
|
||||
szRid,
|
||||
ulRid,
|
||||
SamDbAliasObject,
|
||||
DesiredAccess,
|
||||
&AliasObject);
|
||||
|
@ -3464,6 +3470,7 @@ SamrOpenGroup(IN SAMPR_HANDLE DomainHandle,
|
|||
Status = SampOpenDbObject(DomainObject,
|
||||
L"Groups",
|
||||
szRid,
|
||||
GroupId,
|
||||
SamDbGroupObject,
|
||||
DesiredAccess,
|
||||
&GroupObject);
|
||||
|
@ -3911,6 +3918,7 @@ SamrOpenAlias(IN SAMPR_HANDLE DomainHandle,
|
|||
Status = SampOpenDbObject(DomainObject,
|
||||
L"Aliases",
|
||||
szRid,
|
||||
AliasId,
|
||||
SamDbAliasObject,
|
||||
DesiredAccess,
|
||||
&AliasObject);
|
||||
|
@ -4575,6 +4583,7 @@ SamrOpenUser(IN SAMPR_HANDLE DomainHandle,
|
|||
Status = SampOpenDbObject(DomainObject,
|
||||
L"Users",
|
||||
szRid,
|
||||
UserId,
|
||||
SamDbUserObject,
|
||||
DesiredAccess,
|
||||
&UserObject);
|
||||
|
@ -6335,6 +6344,7 @@ SamrCreateUser2InDomain(IN SAMPR_HANDLE DomainHandle,
|
|||
Status = SampCreateDbObject(DomainObject,
|
||||
L"Users",
|
||||
szRid,
|
||||
ulRid,
|
||||
SamDbUserObject,
|
||||
DesiredAccess,
|
||||
&UserObject);
|
||||
|
|
|
@ -46,6 +46,7 @@ typedef struct _SAM_DB_OBJECT
|
|||
LPWSTR Name;
|
||||
HANDLE KeyHandle;
|
||||
HANDLE MembersKeyHandle; // only used by Aliases and Groups
|
||||
ULONG RelativeId;
|
||||
struct _SAM_DB_OBJECT *ParentObject;
|
||||
} SAM_DB_OBJECT, *PSAM_DB_OBJECT;
|
||||
|
||||
|
@ -117,6 +118,7 @@ NTSTATUS
|
|||
SampCreateDbObject(IN PSAM_DB_OBJECT ParentObject,
|
||||
IN LPWSTR ContainerName,
|
||||
IN LPWSTR ObjectName,
|
||||
IN ULONG RelativeId,
|
||||
IN SAM_DB_OBJECT_TYPE ObjectType,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PSAM_DB_OBJECT *DbObject);
|
||||
|
@ -125,6 +127,7 @@ NTSTATUS
|
|||
SampOpenDbObject(IN PSAM_DB_OBJECT ParentObject,
|
||||
IN LPWSTR ContainerName,
|
||||
IN LPWSTR ObjectName,
|
||||
IN ULONG RelativeId,
|
||||
IN SAM_DB_OBJECT_TYPE ObjectType,
|
||||
IN ACCESS_MASK DesiredAccess,
|
||||
OUT PSAM_DB_OBJECT *DbObject);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue