LocalGetStringForSid
NTSTATUS __stdcall LocalGetStringForSid(
VOID *Sid,
WCHAR **String,
VOID *RootDomainSid,
VOID *DefaultToDomain,
_STRSD_SID_LOOKUP *tSidLookupDomOrRootDomRelativeTable,
UINT8 DefaultToDomaina){
NTSTATUS v6;
_STRSD_SID_LOOKUP *v9;
UINT8 v10;
UINT64 v11;
_STRSD_SID_LOOKUP *v12;
NTSTATUS v13;
UINT64 v14;
WCHAR *v15;
wchar_t *v16;
VOID **v18;
v6 = 0;
if( !Sid || !String )
return 87;
v9 = LookupSidInTable(0i64, Sid, RootDomainSid, (UINT8)DefaultToDomain, v18, DefaultToDomaina);
v12 = v9;
if( v9 )
{
v14 = 2i64 * (unsigned int)v9[3] + 2;
v15 = (WCHAR *)SddlpAlloc(v14, v10, v11);
*String = v15;
if( v15 )
{
v16 = (wchar_t *)v12 + 1;
if( !v12 )
v16 = (wchar_t *)L"SA";
wcscpy_s(v15, v14 >> 1, v16);
}
else
{
return 8;
}
}
else
{
v13 = LocalConvertSidToStringSidW(Sid, String);
if( v13 < 0 )
return RtlNtStatusToDosError((unsigned int)v13);
}
return v6;
}Referenced by:
GetPrintableOperandValue
LocalConvertSDToStringSD_Rev1
LocalGetStringForRelativeAttribute