ntdll
Jürgen Schmied
juergenschmied at lycos.de
Thu May 9 04:45:58 CDT 2002
correcting RtlConvertSidToUnicodeString,
stub for VerSetConditionMask
---
juergen.schmied at debitel.net
-------------- next part --------------
Index: wine/dlls/ntdll/ntdll.spec
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/ntdll.spec,v
retrieving revision 1.60
diff -d -u -r1.60 ntdll.spec
--- wine/dlls/ntdll/ntdll.spec 23 Mar 2002 18:48:12 -0000 1.60
+++ wine/dlls/ntdll/ntdll.spec 7 May 2002 18:58:13 -0000
@@ -310,7 +310,7 @@
@ stub RtlConvertExclusiveToShared
@ stdcall -ret64 RtlConvertLongToLargeInteger(long) RtlConvertLongToLargeInteger
@ stub RtlConvertSharedToExclusive
-@ stdcall RtlConvertSidToUnicodeString(ptr ptr)RtlConvertSidToUnicodeString
+@ stdcall RtlConvertSidToUnicodeString(ptr ptr long)RtlConvertSidToUnicodeString
@ stub RtlConvertUiListToApiList
@ stdcall -ret64 RtlConvertUlongToLargeInteger(long) RtlConvertUlongToLargeInteger
@ stub RtlCopyLuid
@@ -1013,6 +1013,7 @@
@ stub RtlCreatePropertySet
@ stub RtlSetPropertySetClassId
@ stdcall NtPowerInformation(long long long long long) NtPowerInformation
+@ stdcall -ret64 VerSetConditionMask(long long long long)VerSetConditionMask
##################
# Wine extensions
Index: wine/dlls/ntdll/nt.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/nt.c,v
retrieving revision 1.39
diff -d -u -r1.39 nt.c
--- wine/dlls/ntdll/nt.c 1 May 2002 22:02:02 -0000 1.39
+++ wine/dlls/ntdll/nt.c 7 May 2002 18:58:11 -0000
@@ -737,3 +762,18 @@
return STATUS_SUCCESS;
}
+
+/******************************************************************************
+ * VerSetConditionMask (NTDLL.@)
+ */
+LONGLONG WINAPI VerSetConditionMask( LONGLONG dwlConditionMask, DWORD dwTypeBitMask, BYTE dwConditionMask)
+{
+ FIXME("%llx %lu %u\n", dwlConditionMask, dwTypeBitMask, dwConditionMask);
+ return dwlConditionMask;
+}
+
Index: wine/dlls/ntdll/sec.c
===================================================================
RCS file: /home/wine/wine/dlls/ntdll/sec.c,v
retrieving revision 1.21
diff -d -u -r1.21 sec.c
--- wine/dlls/ntdll/sec.c 9 Mar 2002 23:39:09 -0000 1.21
+++ wine/dlls/ntdll/sec.c 7 May 2002 18:58:16 -0000
@@ -23,6 +23,8 @@
#include <time.h>
#include <ctype.h>
#include <math.h>
+#include <pwd.h>
+#include <unistd.h>
#include "windef.h"
#include "winbase.h"
#include "wine/exception.h"
@@ -721,23 +723,43 @@
/******************************************************************************
* RtlConvertSidToUnicodeString (NTDLL.@)
+ *
+ * The returned SID is used to access the USER registry hive usually
+ *
+ * the native function returns something like
+ * "S-1-5-21-0000000000-000000000-0000000000-500";
*/
NTSTATUS WINAPI RtlConvertSidToUnicodeString(
- PUNICODE_STRING UnicodeSID,
- PSID *pSid)
+ PUNICODE_STRING String,
+ PSID Sid,
+ BOOLEAN AllocateString)
{
-/* LPSTR GenSID = "S-1-5-21-0000000000-000000000-0000000000-500"; */
+ const char *p;
+ ANSI_STRING AnsiStr;
+ ULONG Length;
- LPSTR GenSID = ".Default"; /* usually the returned SID is used to */
- /* access "\\REGISTRY\\USER\\.DEFAULT" */
+ struct passwd *pwd = getpwuid( getuid() );
+ p = (pwd) ? pwd->pw_name : ".Default";
- ANSI_STRING AnsiStr;
+ FIXME("(%p %p %u)\n", String, Sid, AllocateString);
- FIXME("(%p %p)\n", UnicodeSID, pSid);
- if (UnicodeSID)
- TRACE("%p(<OUT>) (%u %u)\n",
- UnicodeSID->Buffer, UnicodeSID->Length, UnicodeSID->MaximumLength);
+ Length = strlen(p);
- RtlInitAnsiString(&AnsiStr, GenSID);
- return RtlAnsiStringToUnicodeString(UnicodeSID, &AnsiStr, TRUE);
+ if (AllocateString)
+ {
+ String->Buffer = RtlAllocateHeap(GetProcessHeap(), 0, Length + sizeof(WCHAR));
+ if (String->Buffer == NULL) return STATUS_NO_MEMORY;
+ String->MaximumLength = Length + sizeof(WCHAR);
+ }
+ else
+ {
+ if (Length > String->MaximumLength) return STATUS_BUFFER_TOO_SMALL;
+ }
+ RtlInitAnsiString(&AnsiStr, p);
+ RtlAnsiStringToUnicodeString(String, &AnsiStr, TRUE);
+
+ TRACE("%s (%u %u)\n",debugstr_w(String->Buffer),String->Length,String->MaximumLength);
+ return STATUS_SUCCESS;
}
+
+
More information about the wine-patches
mailing list