[PATCH v2 0/2] MR10969: wkscli: Add new dll
-- v2: wkscli: Move some functsion from netapi32 wkscli: Add new dll https://gitlab.winehq.org/wine/wine/-/merge_requests/10969
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> --- configure.ac | 1 + dlls/wkscli/Makefile.in | 1 + dlls/wkscli/wkscli.spec | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100755 dlls/wkscli/Makefile.in create mode 100755 dlls/wkscli/wkscli.spec diff --git a/configure.ac b/configure.ac index f963461b799..1172dbaf2f3 100644 --- a/configure.ac +++ b/configure.ac @@ -3296,6 +3296,7 @@ WINE_CONFIG_MAKEFILE(dlls/wer/tests) WINE_CONFIG_MAKEFILE(dlls/wevtapi) WINE_CONFIG_MAKEFILE(dlls/wevtapi/tests) WINE_CONFIG_MAKEFILE(dlls/wevtsvc) +WINE_CONFIG_MAKEFILE(dlls/wkscli) WINE_CONFIG_MAKEFILE(dlls/wiaservc) WINE_CONFIG_MAKEFILE(dlls/wiaservc/tests) WINE_CONFIG_MAKEFILE(dlls/wimgapi) diff --git a/dlls/wkscli/Makefile.in b/dlls/wkscli/Makefile.in new file mode 100755 index 00000000000..3ecba1b7be3 --- /dev/null +++ b/dlls/wkscli/Makefile.in @@ -0,0 +1 @@ +MODULE = wkscli.dll diff --git a/dlls/wkscli/wkscli.spec b/dlls/wkscli/wkscli.spec new file mode 100755 index 00000000000..79f610a7c24 --- /dev/null +++ b/dlls/wkscli/wkscli.spec @@ -0,0 +1,23 @@ +@ stub NetAddAlternateComputerName +@ stub NetEnumerateComputerNames +@ stub NetGetJoinInformation( wstr ptr ptr ) +@ stub NetGetJoinableOUs +@ stub NetJoinDomain +@ stub NetRemoveAlternateComputerName +@ stub NetRenameMachineInDomain +@ stub NetSetPrimaryComputerName +@ stub NetUnjoinDomain +@ stub NetUseAdd( str long ptr ptr ) +@ stub NetUseDel( str str long ) +@ stub NetUseEnum( str long ptr long ptr ptr ptr ) +@ stub NetUseGetInfo( str str long ptr ) +@ stub NetValidateName +@ stub NetWkstaGetInfo( str long ptr ) +@ stub NetWkstaSetInfo +@ stub NetWkstaStatisticsGet +@ stub NetWkstaTransportAdd +@ stub NetWkstaTransportDel +@ stub NetWkstaTransportEnum( str long ptr long ptr ptr ptr ) +@ stub NetWkstaUserEnum( str long ptr long ptr ptr ptr ) +@ stub NetWkstaUserGetInfo( str long ptr ) +@ stub NetWkstaUserSetInfo -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10969
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> --- dlls/netapi32/Makefile.in | 2 +- dlls/netapi32/netapi32.c | 49 --------------------- dlls/netapi32/netapi32.spec | 10 ++--- dlls/wkscli/Makefile.in | 4 ++ dlls/wkscli/wkscli.c | 86 +++++++++++++++++++++++++++++++++++++ dlls/wkscli/wkscli.spec | 12 +++--- 6 files changed, 102 insertions(+), 61 deletions(-) create mode 100644 dlls/wkscli/wkscli.c diff --git a/dlls/netapi32/Makefile.in b/dlls/netapi32/Makefile.in index 1ee1f8bfd8f..2f372972a21 100644 --- a/dlls/netapi32/Makefile.in +++ b/dlls/netapi32/Makefile.in @@ -1,7 +1,7 @@ MODULE = netapi32.dll UNIXLIB = netapi32.so IMPORTLIB = netapi32 -IMPORTS = rpcrt4 iphlpapi ws2_32 advapi32 dnsapi netutils +IMPORTS = rpcrt4 iphlpapi ws2_32 advapi32 dnsapi netutils wkscli SOURCES = \ atsvc.idl \ diff --git a/dlls/netapi32/netapi32.c b/dlls/netapi32/netapi32.c index 659cee09d7d..9737f2ae370 100644 --- a/dlls/netapi32/netapi32.c +++ b/dlls/netapi32/netapi32.c @@ -294,14 +294,6 @@ NET_API_STATUS WINAPI NetStatisticsGet(LMSTR server, LMSTR service, return res; } -NET_API_STATUS WINAPI NetUseEnum(LMSTR server, DWORD level, LPBYTE* bufptr, DWORD prefmaxsize, - LPDWORD entriesread, LPDWORD totalentries, LPDWORD resumehandle) -{ - FIXME("stub (%p, %ld, %p, %ld, %p, %p, %p)\n", server, level, bufptr, prefmaxsize, - entriesread, totalentries, resumehandle); - return ERROR_NOT_SUPPORTED; -} - NET_API_STATUS WINAPI NetScheduleJobAdd(LPCWSTR server, LPBYTE bufptr, LPDWORD jobid) { TRACE("(%s, %p, %p)\n", debugstr_w(server), bufptr, jobid); @@ -339,13 +331,6 @@ NET_API_STATUS WINAPI NetScheduleJobGetInfo(LPCWSTR server, DWORD jobid, LPBYTE return NetrJobGetInfo(server, jobid, (LPAT_INFO *)bufptr); } -NET_API_STATUS WINAPI NetUseGetInfo(LMSTR server, LMSTR name, DWORD level, LPBYTE *bufptr) -{ - FIXME("stub (%p, %p, %ld, %p)\n", server, name, level, bufptr); - return ERROR_NOT_SUPPORTED; - -} - /************************************************************ * NetSessionEnum (NETAPI32.@) * @@ -1022,28 +1007,6 @@ NET_API_STATUS WINAPI NetWkstaGetInfo( LMSTR servername, DWORD level, return ret; } -/************************************************************ - * NetGetJoinInformation (NETAPI32.@) - */ -NET_API_STATUS NET_API_FUNCTION NetGetJoinInformation( - LPCWSTR Server, - LPWSTR *Name, - PNETSETUP_JOIN_STATUS type) -{ - static const WCHAR workgroupW[] = L"Workgroup"; - - FIXME("Semi-stub %s %p %p\n", wine_dbgstr_w(Server), Name, type); - - if (!Name || !type) - return ERROR_INVALID_PARAMETER; - - NetApiBufferAllocate(sizeof(workgroupW), (LPVOID *)Name); - lstrcpyW(*Name, workgroupW); - *type = NetSetupWorkgroupName; - - return NERR_Success; -} - /************************************************************ * NetUserGetGroups (NETAPI32.@) */ @@ -2040,18 +2003,6 @@ NET_API_STATUS WINAPI NetUserChangePassword(LPCWSTR domainname, LPCWSTR username return NERR_Success; } -NET_API_STATUS WINAPI NetUseAdd(LMSTR servername, DWORD level, LPBYTE bufptr, LPDWORD parm_err) -{ - FIXME("%s %ld %p %p stub\n", debugstr_w(servername), level, bufptr, parm_err); - return NERR_Success; -} - -NET_API_STATUS WINAPI NetUseDel(LMSTR servername, LMSTR usename, DWORD forcecond) -{ - FIXME("%s %s %ld stub\n", debugstr_w(servername), debugstr_w(usename), forcecond); - return NERR_Success; -} - /************************************************************ * I_BrowserSetNetlogonState (NETAPI32.@) */ diff --git a/dlls/netapi32/netapi32.spec b/dlls/netapi32/netapi32.spec index ece7ceec6bd..4906bfade6d 100644 --- a/dlls/netapi32/netapi32.spec +++ b/dlls/netapi32/netapi32.spec @@ -99,7 +99,7 @@ @ stdcall NetGetAnyDCName(wstr wstr ptr) @ stdcall NetGetDCName(wstr wstr ptr) @ stub NetGetDisplayInformationIndex -@ stdcall NetGetJoinInformation(wstr ptr ptr) +@ stdcall NetGetJoinInformation(wstr ptr ptr) wkscli.NetGetJoinInformation @ stub NetGroupAdd @ stdcall NetGroupAddUser(wstr wstr wstr) @ stub NetGroupDel @@ -203,10 +203,10 @@ @ stdcall NetShareGetInfo(wstr wstr long ptr) @ stub NetShareSetInfo @ stdcall NetStatisticsGet(wstr wstr long long ptr) -@ stdcall NetUseAdd(wstr long ptr ptr) -@ stdcall NetUseDel(wstr wstr long) -@ stdcall NetUseEnum(wstr long ptr long ptr ptr ptr) -@ stdcall NetUseGetInfo(ptr ptr long ptr) +@ stdcall NetUseAdd(wstr long ptr ptr) wkscli.NetUseAdd +@ stdcall NetUseDel(wstr wstr long) wkscli.NetUseDel +@ stdcall NetUseEnum(wstr long ptr long ptr ptr ptr) wkscli.NetUseEnum +@ stdcall NetUseGetInfo(ptr ptr long ptr) wkscli.NetUseGetInfo @ stdcall NetUserAdd(wstr long ptr ptr) @ stdcall NetUserChangePassword(wstr wstr wstr wstr) @ stdcall NetUserDel(wstr wstr) diff --git a/dlls/wkscli/Makefile.in b/dlls/wkscli/Makefile.in index 3ecba1b7be3..0bf0b28d6a4 100755 --- a/dlls/wkscli/Makefile.in +++ b/dlls/wkscli/Makefile.in @@ -1 +1,5 @@ MODULE = wkscli.dll +IMPORTLIB = wkscli +IMPORTS = netutils + +SOURCES = wkscli.c diff --git a/dlls/wkscli/wkscli.c b/dlls/wkscli/wkscli.c new file mode 100644 index 00000000000..6e2b0a0f183 --- /dev/null +++ b/dlls/wkscli/wkscli.c @@ -0,0 +1,86 @@ +/* + * Copyright 2026 Alistair Leslie-Hughes + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ +#include <stdarg.h> + +#include "ntstatus.h" +#include "windef.h" +#include "winbase.h" + +#include "lm.h" + +#include "wine/debug.h" + +WINE_DEFAULT_DEBUG_CHANNEL(wkscli); + +/************************************************************ + * NetGetJoinInformation (NETAPI32.@) + */ +NET_API_STATUS NET_API_FUNCTION NetGetJoinInformation( + LPCWSTR Server, + LPWSTR *Name, + PNETSETUP_JOIN_STATUS type) +{ + static const WCHAR workgroupW[] = L"Workgroup"; + + FIXME("Semi-stub %s %p %p\n", wine_dbgstr_w(Server), Name, type); + + if (!Name || !type) + return ERROR_INVALID_PARAMETER; + + NetApiBufferAllocate(sizeof(workgroupW), (LPVOID *)Name); + lstrcpyW(*Name, workgroupW); + *type = NetSetupWorkgroupName; + + return NERR_Success; +} + +NET_API_STATUS WINAPI NetUseAdd(LMSTR servername, DWORD level, LPBYTE bufptr, LPDWORD parm_err) +{ + FIXME("%s %ld %p %p stub\n", debugstr_w(servername), level, bufptr, parm_err); + return NERR_Success; +} + +NET_API_STATUS WINAPI NetUseDel(LMSTR servername, LMSTR usename, DWORD forcecond) +{ + FIXME("%s %s %ld stub\n", debugstr_w(servername), debugstr_w(usename), forcecond); + return NERR_Success; +} + +NET_API_STATUS WINAPI NetUseEnum(LMSTR server, DWORD level, LPBYTE* bufptr, DWORD prefmaxsize, + LPDWORD entriesread, LPDWORD totalentries, LPDWORD resumehandle) +{ + FIXME("stub (%p, %ld, %p, %ld, %p, %p, %p)\n", server, level, bufptr, prefmaxsize, + entriesread, totalentries, resumehandle); + return ERROR_NOT_SUPPORTED; +} + +NET_API_STATUS WINAPI NetUseGetInfo(LMSTR server, LMSTR name, DWORD level, LPBYTE *bufptr) +{ + FIXME("stub (%p, %p, %ld, %p)\n", server, name, level, bufptr); + return ERROR_NOT_SUPPORTED; +} + +NET_API_STATUS WINAPI +NetWkstaTransportEnum(LMSTR ServerName, DWORD level, PBYTE* pbuf, + DWORD prefmaxlen, LPDWORD read_entries, + PDWORD total_entries, PDWORD hresume) +{ + FIXME(":%s, 0x%08lx, %p, 0x%08lx, %p, %p, %p\n", debugstr_w(ServerName), + level, pbuf, prefmaxlen, read_entries, total_entries,hresume); + return ERROR_NOT_SUPPORTED; +} \ No newline at end of file diff --git a/dlls/wkscli/wkscli.spec b/dlls/wkscli/wkscli.spec index 79f610a7c24..1c3b33577f3 100755 --- a/dlls/wkscli/wkscli.spec +++ b/dlls/wkscli/wkscli.spec @@ -1,23 +1,23 @@ @ stub NetAddAlternateComputerName @ stub NetEnumerateComputerNames -@ stub NetGetJoinInformation( wstr ptr ptr ) +@ stdcall NetGetJoinInformation( wstr ptr ptr ) @ stub NetGetJoinableOUs @ stub NetJoinDomain @ stub NetRemoveAlternateComputerName @ stub NetRenameMachineInDomain @ stub NetSetPrimaryComputerName @ stub NetUnjoinDomain -@ stub NetUseAdd( str long ptr ptr ) -@ stub NetUseDel( str str long ) -@ stub NetUseEnum( str long ptr long ptr ptr ptr ) -@ stub NetUseGetInfo( str str long ptr ) +@ stdcall NetUseAdd( str long ptr ptr ) +@ stdcall NetUseDel( str str long ) +@ stdcall NetUseEnum( str long ptr long ptr ptr ptr ) +@ stdcall NetUseGetInfo( str str long ptr ) @ stub NetValidateName @ stub NetWkstaGetInfo( str long ptr ) @ stub NetWkstaSetInfo @ stub NetWkstaStatisticsGet @ stub NetWkstaTransportAdd @ stub NetWkstaTransportDel -@ stub NetWkstaTransportEnum( str long ptr long ptr ptr ptr ) +@ stdcall NetWkstaTransportEnum( str long ptr long ptr ptr ptr ) @ stub NetWkstaUserEnum( str long ptr long ptr ptr ptr ) @ stub NetWkstaUserGetInfo( str long ptr ) @ stub NetWkstaUserSetInfo -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10969
participants (2)
-
Alistair Leslie-Hughes -
Alistair Leslie-Hughes (@alesliehughes)