mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 20:35:43 +00:00
[SAMLIB]
Implement SamRemoveMemberFromAlias, SamRemoveMemberFromForeignDomain, SamRemoveMemberFromGroup and SamRemoveMultipleMembersFromAlias. svn path=/trunk/; revision=57594
This commit is contained in:
parent
be26053908
commit
77520445a8
3 changed files with 129 additions and 5 deletions
|
@ -1330,6 +1330,114 @@ SamQuerySecurityObject(IN SAM_HANDLE ObjectHandle,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SamRemoveMemberFromAlias(IN SAM_HANDLE AliasHandle,
|
||||||
|
IN PSID MemberId)
|
||||||
|
{
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
TRACE("SamRemoveMemberFromAlias(%p %ul)\n",
|
||||||
|
AliasHandle, MemberId);
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
Status = SamrRemoveMemberFromAlias((SAMPR_HANDLE)AliasHandle,
|
||||||
|
MemberId);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SamRemoveMemberFromForeignDomain(IN SAM_HANDLE DomainHandle,
|
||||||
|
IN PSID MemberId)
|
||||||
|
{
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
TRACE("SamRemoveMemberFromForeignDomain(%p %ul)\n",
|
||||||
|
DomainHandle, MemberId);
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
Status = SamrRemoveMemberFromForeignDomain((SAMPR_HANDLE)DomainHandle,
|
||||||
|
MemberId);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SamRemoveMemberFromGroup(IN SAM_HANDLE GroupHandle,
|
||||||
|
IN ULONG MemberId)
|
||||||
|
{
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
TRACE("SamRemoveMemberFromGroup(%p %ul)\n",
|
||||||
|
GroupHandle, MemberId);
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
Status = SamrRemoveMemberFromGroup((SAMPR_HANDLE)GroupHandle,
|
||||||
|
MemberId);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SamRemoveMultipleMembersFromAlias(IN SAM_HANDLE AliasHandle,
|
||||||
|
IN PSID *MemberIds,
|
||||||
|
IN ULONG MemberCount)
|
||||||
|
{
|
||||||
|
SAMPR_PSID_ARRAY Buffer;
|
||||||
|
NTSTATUS Status;
|
||||||
|
|
||||||
|
TRACE("SamRemoveMultipleMembersFromAlias(%p %p %lu)\n",
|
||||||
|
AliasHandle, MemberIds, MemberCount);
|
||||||
|
|
||||||
|
if (MemberIds == NULL)
|
||||||
|
return STATUS_INVALID_PARAMETER_2;
|
||||||
|
|
||||||
|
Buffer.Count = MemberCount;
|
||||||
|
Buffer.Sids = (PSAMPR_SID_INFORMATION)MemberIds;
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
Status = SamrRemoveMultipleMembersFromAlias((SAMPR_HANDLE)AliasHandle,
|
||||||
|
&Buffer);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
Status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
SamRidToSid(IN SAM_HANDLE ObjectHandle,
|
SamRidToSid(IN SAM_HANDLE ObjectHandle,
|
||||||
|
|
|
@ -38,10 +38,10 @@
|
||||||
@ stdcall SamQueryInformationGroup(ptr long ptr)
|
@ stdcall SamQueryInformationGroup(ptr long ptr)
|
||||||
@ stdcall SamQueryInformationUser(ptr long ptr)
|
@ stdcall SamQueryInformationUser(ptr long ptr)
|
||||||
@ stdcall SamQuerySecurityObject(ptr long ptr)
|
@ stdcall SamQuerySecurityObject(ptr long ptr)
|
||||||
@ stub SamRemoveMemberFromAlias
|
@ stdcall SamRemoveMemberFromAlias(ptr long)
|
||||||
@ stub SamRemoveMemberFromForeignDomain
|
@ stdcall SamRemoveMemberFromForeignDomain(ptr long)
|
||||||
@ stub SamRemoveMemberFromGroup
|
@ stdcall SamRemoveMemberFromGroup(ptr long)
|
||||||
@ stub SamRemoveMultipleMembersFromAlias
|
@ stdcall SamRemoveMultipleMembersFromAlias(ptr ptr long)
|
||||||
@ stdcall SamRidToSid(ptr long ptr)
|
@ stdcall SamRidToSid(ptr long ptr)
|
||||||
@ stdcall SamSetInformationAlias(ptr long ptr)
|
@ stdcall SamSetInformationAlias(ptr long ptr)
|
||||||
@ stdcall SamSetInformationDomain(ptr long ptr)
|
@ stdcall SamSetInformationDomain(ptr long ptr)
|
||||||
|
|
|
@ -540,6 +540,22 @@ NTAPI
|
||||||
SamRemoveMemberFromAlias(IN SAM_HANDLE AliasHandle,
|
SamRemoveMemberFromAlias(IN SAM_HANDLE AliasHandle,
|
||||||
IN PSID MemberId);
|
IN PSID MemberId);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SamRemoveMemberFromForeignDomain(IN SAM_HANDLE DomainHandle,
|
||||||
|
IN PSID MemberId);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SamRemoveMemberFromGroup(IN SAM_HANDLE GroupHandle,
|
||||||
|
IN ULONG MemberId);
|
||||||
|
|
||||||
|
NTSTATUS
|
||||||
|
NTAPI
|
||||||
|
SamRemoveMultipleMembersFromAlias(IN SAM_HANDLE AliasHandle,
|
||||||
|
IN PSID *MemberIds,
|
||||||
|
IN ULONG MemberCount);
|
||||||
|
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
NTAPI
|
NTAPI
|
||||||
SamRidToSid(IN SAM_HANDLE ObjectHandle,
|
SamRidToSid(IN SAM_HANDLE ObjectHandle,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue