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