LocalGetSidForString
NTSTATUS __stdcall LocalGetSidForString(
WCHAR *String,
VOID **SID,
WCHAR **End,
UINT8 *FreeSid,
VOID *RootDomainSid,
UINT8 DefaultToDomain){
NTSTATUS v10;
_STRSD_SID_LOOKUP *v11;
NTSTATUS v13;
VOID **v14;
v10 = 0;
if( !String || !SID || !End || !FreeSid )
return 87;
*FreeSid = 0;
if( !*String || !String[1] )
return 1332;
*End = String + 2;
v11 = LookupSidInTable(String, 0i64, 0i64, (UINT8)FreeSid, v14, 0);
if( v11 )
{
*SID = (VOID *)*((_QWORD *)v11 + 2);
}
else
{
*End -= 2;
v13 = LocalpConvertStringSidToSid(String, SID, End);
if( v13 >= 0 || (v10 = RtlNtStatusToDosError((unsigned int)v13)) == 0 )
{
if( *SID )
*FreeSid = 1;
}
}
return v10;
}Referenced by:
GetOperandValue
LocalConvertStringSDToSD_Rev1
LocalGetAclForString
LocalGetRelativeAttributeForString