LocalConvertSidToStringSidW
NTSTATUS __stdcall LocalConvertSidToStringSidW(VOID *Sid, WCHAR **StringSid){
NTSTATUS result;
UINT8 v4;
UINT64 v5;
__int64 Length;
WCHAR *v7;
_UNICODE_STRING UnicodeString;
UnicodeString = 0i64;
if( !Sid || !StringSid )
return -1073741811;
result = RtlConvertSidToUnicodeString(&UnicodeString, Sid, 1u);
if( result >= 0 )
{
Length = UnicodeString.Length;
v7 = (WCHAR *)SddlpAlloc(UnicodeString.Length + 2i64, v4, v5);
*StringSid = v7;
if( v7 )
{
result = RtlStringCbCopyNW(v7, Length + 2, UnicodeString.Buffer, (unsigned int)Length);
if( result >= 0 )
{
RtlFreeAnsiString(&UnicodeString);
return 0;
}
}
else
{
RtlFreeAnsiString(&UnicodeString);
return -1073741801;
}
}
return result;
}Referenced by:
LocalConvertAclToString
LocalGetStringForSid
SeConvertSidToStringSid