ADVAPI32: Implement A->W call for GetNamedSecurityInfo

Mike McCormack mike at codeweavers.com
Thu Aug 5 08:50:19 CDT 2004


GetNamedSecurityInfoW is still unimplemented.

Mike


ChangeLog:
* Implement A->W call for GetNamedSecurityInfo
-------------- next part --------------
Index: dlls/advapi32/security.c
===================================================================
RCS file: /home/wine/wine/dlls/advapi32/security.c,v
retrieving revision 1.69
diff -u -r1.69 security.c
--- dlls/advapi32/security.c	7 Jul 2004 00:47:50 -0000	1.69
+++ dlls/advapi32/security.c	5 Aug 2004 12:29:40 -0000
@@ -33,6 +33,8 @@
 #include "accctrl.h"
 #include "sddl.h"
 
+#include "aclapi.h"
+
 #include "wine/debug.h"
 #include "wine/unicode.h"
 
@@ -2181,9 +2183,27 @@
         PSID* ppsidOwner, PSID* ppsidGroup, PACL* ppDacl, PACL* ppSacl,
         PSECURITY_DESCRIPTOR* ppSecurityDescriptor)
 {
-    FIXME("%s %d %ld %p %p %p %p %p\n", pObjectName, ObjectType, SecurityInfo,
+    DWORD len;
+    LPWSTR wstr = NULL;
+    DWORD r;
+
+    TRACE("%s %d %ld %p %p %p %p %p\n", pObjectName, ObjectType, SecurityInfo,
         ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor);
-    return ERROR_CALL_NOT_IMPLEMENTED;
+
+    if( pObjectName )
+    {
+        len = MultiByteToWideChar( CP_ACP, 0, pObjectName, -1, NULL, 0 );
+        wstr = HeapAlloc( GetProcessHeap(), 0, len*sizeof(WCHAR));
+        MultiByteToWideChar( CP_ACP, 0, pObjectName, -1, wstr, len );
+    }
+
+    r = GetNamedSecurityInfoW( wstr, ObjectType, SecurityInfo, ppsidOwner,
+                           ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor );
+
+    if( wstr )
+        HeapFree( GetProcessHeap(), 0, wstr );
+
+    return r;
 }
 
 /******************************************************************************


More information about the wine-patches mailing list