Stefan Leichter : advapi32: Test a combination of CreateServiceA and GetSecurityInfo.
Alexandre Julliard
julliard at winehq.org
Tue Jul 21 09:33:54 CDT 2009
Module: wine
Branch: master
Commit: 08e7a1bfe7dc02d4f20e321db52eb7b35c6c6150
URL: http://source.winehq.org/git/wine.git/?a=commit;h=08e7a1bfe7dc02d4f20e321db52eb7b35c6c6150
Author: Stefan Leichter <Stefan.Leichter at camline.com>
Date: Mon Jul 20 21:21:16 2009 +0200
advapi32: Test a combination of CreateServiceA and GetSecurityInfo.
---
dlls/advapi32/tests/service.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/dlls/advapi32/tests/service.c b/dlls/advapi32/tests/service.c
index b924c69..0851384 100644
--- a/dlls/advapi32/tests/service.c
+++ b/dlls/advapi32/tests/service.c
@@ -28,6 +28,7 @@
#include "winsvc.h"
#include "winnls.h"
#include "lmcons.h"
+#include "aclapi.h"
#include "wine/test.h"
@@ -37,6 +38,8 @@ static BOOL (WINAPI *pChangeServiceConfig2A)(SC_HANDLE,DWORD,LPVOID);
static BOOL (WINAPI *pEnumServicesStatusExA)(SC_HANDLE, SC_ENUM_TYPE, DWORD,
DWORD, LPBYTE, DWORD, LPDWORD,
LPDWORD, LPDWORD, LPCSTR);
+static DWORD (WINAPI *pGetSecurityInfo)(HANDLE, SE_OBJECT_TYPE, SECURITY_INFORMATION,
+ PSID*, PSID*, PACL*, PACL*, PSECURITY_DESCRIPTOR*);
static BOOL (WINAPI *pQueryServiceConfig2A)(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
static BOOL (WINAPI *pQueryServiceConfig2W)(SC_HANDLE,DWORD,LPBYTE,DWORD,LPDWORD);
static BOOL (WINAPI *pQueryServiceStatusEx)(SC_HANDLE, SC_STATUS_TYPE, LPBYTE,
@@ -48,6 +51,7 @@ static void init_function_pointers(void)
pChangeServiceConfig2A = (void*)GetProcAddress(hadvapi32, "ChangeServiceConfig2A");
pEnumServicesStatusExA= (void*)GetProcAddress(hadvapi32, "EnumServicesStatusExA");
+ pGetSecurityInfo = (void *)GetProcAddress(hadvapi32, "GetSecurityInfo");
pQueryServiceConfig2A= (void*)GetProcAddress(hadvapi32, "QueryServiceConfig2A");
pQueryServiceConfig2W= (void*)GetProcAddress(hadvapi32, "QueryServiceConfig2W");
pQueryServiceStatusEx= (void*)GetProcAddress(hadvapi32, "QueryServiceStatusEx");
@@ -1743,7 +1747,17 @@ static void test_sequence(void)
return;
}
else
+ {
ok(svc_handle != NULL, "Could not create the service : %d\n", GetLastError());
+ if ((svc_handle != NULL) && (pGetSecurityInfo != NULL))
+ {
+ PSID sidOwner, sidGroup;
+ PACL dacl, sacl;
+ PSECURITY_DESCRIPTOR pSD;
+ HRESULT retval = pGetSecurityInfo(svc_handle,SE_SERVICE,DACL_SECURITY_INFORMATION,&sidOwner,&sidGroup,&dacl,&sacl,&pSD);
+ todo_wine ok(ERROR_SUCCESS == retval, "Expected GetSecurityInfo to succeed: result %d\n",retval);
+ }
+ }
if (!svc_handle) return;
More information about the wine-cvs
mailing list