ADVAPI32: implement and test BuiltTrusteeWithName

Mike McCormack mike at codeweavers.com
Tue Aug 17 03:01:14 CDT 2004


ChangeLog:
* implement and test BuiltTrusteeWithName
-------------- next part --------------
Index: dlls/advapi32/advapi32.spec
===================================================================
RCS file: /home/wine/wine/dlls/advapi32/advapi32.spec,v
retrieving revision 1.52
diff -u -r1.52 advapi32.spec
--- dlls/advapi32/advapi32.spec	16 Aug 2004 19:58:24 -0000	1.52
+++ dlls/advapi32/advapi32.spec	17 Aug 2004 06:37:17 -0000
@@ -20,8 +20,8 @@
 @ stdcall BackupEventLogW (long wstr)
 @ stub BuildExplicitAccessWithNameA
 @ stub BuildExplicitAccessWithNameW
-@ stub BuildTrusteeWithNameA # (ptr str)
-@ stub BuildTrusteeWithNameW # (ptr wstr)
+@ stdcall BuildTrusteeWithNameA(ptr str)
+@ stdcall BuildTrusteeWithNameW(ptr wstr)
 @ stub BuildTrusteeWithObjectsAndNameA # (ptr ptr long str str str)
 @ stub BuildTrusteeWithObjectsAndNameW # (ptr ptr long wstr wstr wstr)
 @ stub BuildTrusteeWithObjectsAndSidA # (ptr ptr ptr ptr ptr)
Index: dlls/advapi32/security.c
===================================================================
RCS file: /home/wine/wine/dlls/advapi32/security.c,v
retrieving revision 1.78
diff -u -r1.78 security.c
--- dlls/advapi32/security.c	16 Aug 2004 23:18:23 -0000	1.78
+++ dlls/advapi32/security.c	17 Aug 2004 06:37:17 -0000
@@ -1541,6 +1541,34 @@
 }
 
 /******************************************************************************
+ * BuildTrusteeWithNameA [ADVAPI32.@]
+ */
+VOID WINAPI BuildTrusteeWithNameA(PTRUSTEEA pTrustee, LPSTR name)
+{
+    TRACE("%p %s\n", pTrustee, debugstr_a(name) );
+
+    pTrustee->pMultipleTrustee = NULL;
+    pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
+    pTrustee->TrusteeForm = NO_MULTIPLE_TRUSTEE;
+    pTrustee->TrusteeType = TRUSTEE_IS_NAME;
+    pTrustee->ptstrName = name;
+}
+
+/******************************************************************************
+ * BuildTrusteeWithNameW [ADVAPI32.@]
+ */
+VOID WINAPI BuildTrusteeWithNameW(PTRUSTEEW pTrustee, LPWSTR name)
+{
+    TRACE("%p %s\n", pTrustee, debugstr_w(name) );
+
+    pTrustee->pMultipleTrustee = NULL;
+    pTrustee->MultipleTrusteeOperation = NO_MULTIPLE_TRUSTEE;
+    pTrustee->TrusteeForm = NO_MULTIPLE_TRUSTEE;
+    pTrustee->TrusteeType = TRUSTEE_IS_NAME;
+    pTrustee->ptstrName = name;
+}
+
+/******************************************************************************
  * SetEntriesInAclA [ADVAPI32.@]
  */
 DWORD WINAPI SetEntriesInAclA( ULONG count, PEXPLICIT_ACCESSA pEntries,
Index: dlls/advapi32/tests/security.c
===================================================================
RCS file: /home/wine/wine/dlls/advapi32/tests/security.c,v
retrieving revision 1.2
diff -u -r1.2 security.c
--- dlls/advapi32/tests/security.c	16 Aug 2004 21:07:50 -0000	1.2
+++ dlls/advapi32/tests/security.c	17 Aug 2004 06:37:18 -0000
@@ -62,6 +62,7 @@
     TRUSTEE trustee;
     PSID psid;
     DWORD r;
+    LPSTR str = "2jjj";
 
     SID_IDENTIFIER_AUTHORITY auth = { {0x11,0x22,0,0,0, 0} };
 
@@ -78,8 +79,19 @@
     ok( trustee.TrusteeType == TRUSTEE_IS_UNKNOWN, "TrusteeType wrong\n");
     ok( trustee.ptstrName == (LPSTR) psid, "ptstrName wrong\n" );
     FreeSid( psid );
-}
 
+    /* test BuildTrusteeWithNameA */
+    memset( &trustee, 0xff, sizeof trustee );
+    BuildTrusteeWithNameA( &trustee, str );
+
+    ok( trustee.pMultipleTrustee == NULL, "pMultipleTrustee wrong\n");
+    ok( trustee.MultipleTrusteeOperation == NO_MULTIPLE_TRUSTEE, 
+        "MultipleTrusteeOperation wrong\n");
+    ok( trustee.TrusteeForm == TRUSTEE_IS_NAME, "TrusteeForm wrong\n");
+    ok( trustee.TrusteeType == TRUSTEE_IS_UNKNOWN, "TrusteeType wrong\n");
+    ok( trustee.ptstrName == str, "ptstrName wrong\n" );
+}
+ 
 START_TEST(security)
 {
     test_sid();


More information about the wine-patches mailing list