diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec index 9c0c595426a..e65bd364578 100644 --- a/dlls/ntdll/ntdll.spec +++ b/dlls/ntdll/ntdll.spec @@ -300,7 +300,7 @@ type win32 @ stub RtlConvertExclusiveToShared @ stub RtlConvertLongToLargeInteger @ stub RtlConvertSharedToExclusive -@ stub RtlConvertSidToUnicodeString +@ stdcall RtlConvertSidToUnicodeString(ptr ptr)RtlConvertSidToUnicodeString @ stub RtlConvertUiListToApiList @ stub RtlConvertUlongToLargeInteger @ stub RtlCopyLuid diff --git a/dlls/ntdll/sec.c b/dlls/ntdll/sec.c index 49707d74548..7a2e760c772 100644 --- a/dlls/ntdll/sec.c +++ b/dlls/ntdll/sec.c @@ -23,6 +23,7 @@ #include "ntddk.h" #include "winreg.h" +#include "ntdll_misc.h" DEFAULT_DEBUG_CHANNEL(ntdll); @@ -693,3 +694,24 @@ NTSTATUS WINAPI RtlGetControlSecurityDescriptor( FIXME("(%p,%p,%p),stub!\n",pSecurityDescriptor,pControl,lpdwRevision); return STATUS_SUCCESS; } + +/****************************************************************************** + * RtlConvertSidToUnicodeString + */ +NTSTATUS WINAPI RtlConvertSidToUnicodeString( + PUNICODE_STRING UnicodeSID, + PSID *pSid) +{ +/* LPSTR GenSID = "S-1-5-21-0000000000-000000000-0000000000-500"; */ + + LPSTR GenSID = ".Default"; /* usually the returned SID is used to */ + /* access "\\REGISTRY\\USER\\.DEFAULT" */ + + ANSI_STRING AnsiStr; + + FIXME("(%p %p)\n", UnicodeSID, pSid); + dump_UnicodeString(UnicodeSID, FALSE); + + RtlInitAnsiString(&AnsiStr, GenSID); + return RtlAnsiStringToUnicodeString(UnicodeSID, &AnsiStr, TRUE); +}