75 lines
1.2 KiB
C
75 lines
1.2 KiB
C
|
/*
|
||
|
* UserNt.c
|
||
|
*
|
||
|
* Author: BreenH
|
||
|
*
|
||
|
* User account utilities in the NT flavor.
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
* Includes
|
||
|
*/
|
||
|
|
||
|
#include "precomp.h"
|
||
|
#include "tsutilnt.h"
|
||
|
|
||
|
/*
|
||
|
* Function Implementations
|
||
|
*/
|
||
|
|
||
|
NTSTATUS NTAPI
|
||
|
NtCreateAdminSid(
|
||
|
PSID *ppAdminSid
|
||
|
)
|
||
|
{
|
||
|
NTSTATUS Status;
|
||
|
PSID pSid;
|
||
|
SID_IDENTIFIER_AUTHORITY SidAuthority = SECURITY_NT_AUTHORITY;
|
||
|
|
||
|
ASSERT(ppAdminSid != NULL);
|
||
|
|
||
|
Status = RtlAllocateAndInitializeSid(
|
||
|
&SidAuthority,
|
||
|
2,
|
||
|
SECURITY_BUILTIN_DOMAIN_RID,
|
||
|
DOMAIN_ALIAS_RID_ADMINS,
|
||
|
0, 0, 0, 0, 0, 0,
|
||
|
&pSid
|
||
|
);
|
||
|
|
||
|
if (NT_SUCCESS(Status))
|
||
|
{
|
||
|
*ppAdminSid = pSid;
|
||
|
}
|
||
|
|
||
|
return(Status);
|
||
|
}
|
||
|
|
||
|
NTSTATUS NTAPI
|
||
|
NtCreateSystemSid(
|
||
|
PSID *ppSystemSid
|
||
|
)
|
||
|
{
|
||
|
NTSTATUS Status;
|
||
|
PSID pSid;
|
||
|
SID_IDENTIFIER_AUTHORITY SidAuthority = SECURITY_NT_AUTHORITY;
|
||
|
|
||
|
ASSERT(ppSystemSid != NULL);
|
||
|
|
||
|
Status = RtlAllocateAndInitializeSid(
|
||
|
&SidAuthority,
|
||
|
1,
|
||
|
SECURITY_LOCAL_SYSTEM_RID,
|
||
|
0, 0, 0, 0, 0, 0, 0,
|
||
|
&pSid
|
||
|
);
|
||
|
|
||
|
if (NT_SUCCESS(Status))
|
||
|
{
|
||
|
*ppSystemSid = pSid;
|
||
|
}
|
||
|
|
||
|
return(Status);
|
||
|
}
|
||
|
|