This patch is dependent on my previous patch which implements BuildTrusteeWithName. ChangeLog: Implement the following functions: BuildExplicitAccessWithNameA BuildExplicitAccessWithNameW Daniel J. Wolf <djwolf@realitywave.com>
diff -u -r wine\dlls\advapi32\advapi32.spec wine2\dlls\advapi32\advapi32.spec --- wine\dlls\advapi32\advapi32.spec Sat Aug 16 14:01:11 2003 +++ wine2\dlls\advapi32\advapi32.spec Sat Aug 16 13:50:53 2003 @@ -18,6 +18,8 @@ @ stub AreAnyAccessesGranted @ stdcall BackupEventLogA (long str) @ stdcall BackupEventLogW (long wstr) +@ stdcall BuildExplicitAccessWithNameA(ptr str long long long) +@ stdcall BuildExplicitAccessWithNameW(ptr wstr long long long) @ stdcall BuildTrusteeWithNameA(ptr str) @ stdcall BuildTrusteeWithNameW(ptr wstr) @ stdcall BuildTrusteeWithObjectsAndNameA(ptr ptr long str str str) diff -u -r wine\dlls\advapi32\security.c wine2\dlls\advapi32\security.c --- wine\dlls\advapi32\security.c Sat Aug 16 14:00:51 2003 +++ wine2\dlls\advapi32\security.c Sat Aug 16 13:49:11 2003 @@ -1336,6 +1336,36 @@ } /****************************************************************************** + * BuildExplicitAccessWithNameA [ADVAPI32.@] + */ +VOID WINAPI BuildExplicitAccessWithNameA( + PEXPLICIT_ACCESS_A pExplicitAccess, LPSTR pTrusteeName, + DWORD AccessPermissions, ACCESS_MODE AccessMode, + DWORD Inheritance) +{ + BuildTrusteeWithNameA(&pExplicitAccess->Trustee, pTrusteeName); + + pExplicitAccess->grfAccessPermissions = AccessPermissions; + pExplicitAccess->grfAccessMode = AccessMode; + pExplicitAccess->grfInheritance = Inheritance; +} + +/****************************************************************************** + * BuildExplicitAccessWithNameW [ADVAPI32.@] + */ +VOID WINAPI BuildExplicitAccessWithNameW( + PEXPLICIT_ACCESS_W pExplicitAccess, LPWSTR pTrusteeName, + DWORD AccessPermissions, ACCESS_MODE AccessMode, + DWORD Inheritance) +{ + BuildTrusteeWithNameW(&pExplicitAccess->Trustee, pTrusteeName); + + pExplicitAccess->grfAccessPermissions = AccessPermissions; + pExplicitAccess->grfAccessMode = AccessMode; + pExplicitAccess->grfInheritance = Inheritance; +} + +/****************************************************************************** * BuildTrusteeWithNameA [ADVAPI32.@] */ VOID WINAPI BuildTrusteeWithNameA(PTRUSTEEA pTrustee, LPSTR pName)