diff --git a/rostests/winetests/netapi32/CMakeLists.txt b/rostests/winetests/netapi32/CMakeLists.txt index 951664aa751..a9297e5bdcb 100644 --- a/rostests/winetests/netapi32/CMakeLists.txt +++ b/rostests/winetests/netapi32/CMakeLists.txt @@ -1,7 +1,5 @@ -add_definitions( - -D__ROS_LONG64__ - -D_DLL -D__USE_CRTIMP) +add_definitions(-D__ROS_LONG64__) list(APPEND SOURCE access.c diff --git a/rostests/winetests/netapi32/access.c b/rostests/winetests/netapi32/access.c index 2f296844e6f..a8c43c378f9 100644 --- a/rostests/winetests/netapi32/access.c +++ b/rostests/winetests/netapi32/access.c @@ -29,8 +29,8 @@ #include "wine/test.h" -WCHAR user_name[UNLEN + 1]; -WCHAR computer_name[MAX_COMPUTERNAME_LENGTH + 1]; +static WCHAR user_name[UNLEN + 1]; +static WCHAR computer_name[MAX_COMPUTERNAME_LENGTH + 1]; static const WCHAR sNonexistentUser[] = {'N','o','n','e','x','i','s','t','e','n','t',' ', 'U','s','e','r',0}; @@ -63,6 +63,8 @@ static NET_API_STATUS (WINAPI *pNetUserGetInfo)(LPCWSTR,LPCWSTR,DWORD,LPBYTE*)=N static NET_API_STATUS (WINAPI *pNetUserModalsGet)(LPCWSTR,DWORD,LPBYTE*)=NULL; static NET_API_STATUS (WINAPI *pNetUserAdd)(LPCWSTR,DWORD,LPBYTE,LPDWORD)=NULL; static NET_API_STATUS (WINAPI *pNetUserDel)(LPCWSTR,LPCWSTR)=NULL; +static NET_API_STATUS (WINAPI *pNetLocalGroupGetInfo)(LPCWSTR,LPCWSTR,DWORD,LPBYTE*)=NULL; +static NET_API_STATUS (WINAPI *pNetLocalGroupGetMembers)(LPCWSTR,LPCWSTR,DWORD,LPBYTE*,DWORD,LPDWORD,LPDWORD,PDWORD_PTR)=NULL; static int init_access_tests(void) { @@ -158,6 +160,7 @@ static void run_usergetinfo_tests(void) ok(rc == ERROR_BAD_NETPATH || rc == ERROR_NETWORK_UNREACHABLE || rc == RPC_S_SERVER_UNAVAILABLE || + rc == NERR_WkstaNotStarted || /* workstation service not running */ rc == RPC_S_INVALID_NET_ADDR, /* Some Win7 */ "Bad Network Path: rc=%d\n",rc); } @@ -320,6 +323,33 @@ static void run_userhandling_tests(void) ok(ret == NERR_UserNotFound, "Deleting a nonexistent user returned 0x%08x\n",ret); } +static void run_localgroupgetinfo_tests(void) +{ + NET_API_STATUS status; + static const WCHAR admins[] = {'A','d','m','i','n','i','s','t','r','a','t','o','r','s',0}; + PLOCALGROUP_INFO_1 lgi = NULL; + PLOCALGROUP_MEMBERS_INFO_3 buffer = NULL; + DWORD entries_read = 0, total_entries =0; + int i; + + status = pNetLocalGroupGetInfo(NULL, admins, 1, (LPBYTE *)&lgi); + ok(status == NERR_Success || broken(status == NERR_GroupNotFound), + "NetLocalGroupGetInfo unexpectedly returned %d\n", status); + if (status != NERR_Success) return; + + trace("Local groupname:%s\n", wine_dbgstr_w( lgi->lgrpi1_name)); + trace("Comment: %s\n", wine_dbgstr_w( lgi->lgrpi1_comment)); + + pNetApiBufferFree(lgi); + + status = pNetLocalGroupGetMembers(NULL, admins, 3, (LPBYTE *)&buffer, MAX_PREFERRED_LENGTH, &entries_read, &total_entries, NULL); + ok(status == NERR_Success, "NetLocalGroupGetMembers unexpectedly returned %d\n", status); + ok(entries_read > 0 && total_entries > 0, "Amount of entries is unexpectedly 0\n"); + + for(i=0;i