Author: ekohl
Date: Fri Jun 2 20:02:49 2017
New Revision: 74752
URL:
http://svn.reactos.org/svn/reactos?rev=74752&view=rev
Log:
[NETAPI32]
- Implement NetShareAdd, NetShareCheck, NetShareDel and NetShareDelSticky. These functions
call their counterparts in the server service.
- Add stubs for NetShareEnum, NetShareEnumSticky, NetShareGetInfo and NetShareSetInfo.
- Get rid of the NetShare wine stubs.
Modified:
trunk/reactos/dll/win32/netapi32/netapi32.spec
trunk/reactos/dll/win32/netapi32/share.c
trunk/reactos/dll/win32/netapi32/srvsvc.c
Modified: trunk/reactos/dll/win32/netapi32/netapi32.spec
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netapi3…
==============================================================================
--- trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] Fri Jun 2 20:02:49 2017
@@ -225,13 +225,13 @@
@ stub NetSessionGetInfo
@ stub NetSetPrimaryComputerName
@ stdcall NetShareAdd(wstr long ptr ptr)
-@ stub NetShareCheck
+@ stdcall NetShareCheck(wstr wstr ptr)
@ stdcall NetShareDel(wstr wstr long)
-@ stub NetShareDelSticky
+@ stdcall NetShareDelSticky(wstr wstr long)
@ stdcall NetShareEnum(wstr long ptr long ptr ptr ptr)
-@ stub NetShareEnumSticky
+@ stdcall NetShareEnumSticky(wstr long ptr long ptr ptr ptr)
@ stdcall NetShareGetInfo(wstr wstr long ptr)
-@ stub NetShareSetInfo
+@ stdcall NetShareSetInfo(wstr wstr long ptr ptr)
@ stdcall NetStatisticsGet(wstr wstr long long ptr)
@ stub NetUnjoinDomain
@ stub NetUnregisterDomainNameChangeNotification
Modified: trunk/reactos/dll/win32/netapi32/share.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/share.c…
==============================================================================
--- trunk/reactos/dll/win32/netapi32/share.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/netapi32/share.c [iso-8859-1] Fri Jun 2 20:02:49 2017
@@ -57,62 +57,6 @@
}
/************************************************************
- * NetShareEnum (NETAPI32.@)
- *
- * PARAMS
- * servername [I] Pointer to a string with the name of the server
- * level [I] Data information level
- * bufptr [O] Buffer to the data
- * prefmaxlen [I] Preferred maximum length of the data
- * entriesread [O] Pointer to the number of entries enumerated
- * totalentries [O] Pointer to the possible number of entries
- * resume_handle [I/O] Pointer to a handle for subsequent searches
- *
- * RETURNS
- * If successful, the function returns NERR_Success
- * On failure it returns a system error code (FIXME: find out which)
- *
- */
-NET_API_STATUS WINAPI NetShareEnum( LMSTR servername, DWORD level, LPBYTE* bufptr,
- DWORD prefmaxlen, LPDWORD entriesread, LPDWORD totalentries, LPDWORD resume_handle)
-{
- FIXME("Stub (%s %d %p %d %p %p %p)\n", debugstr_w(servername), level,
bufptr,
- prefmaxlen, entriesread, totalentries, resume_handle);
-
- return ERROR_NOT_SUPPORTED;
-}
-
-/************************************************************
- * NetShareDel (NETAPI32.@)
- */
-NET_API_STATUS WINAPI NetShareDel(LMSTR servername, LMSTR netname, DWORD reserved)
-{
- FIXME("Stub (%s %s %d)\n", debugstr_w(servername), debugstr_w(netname),
reserved);
- return NERR_Success;
-}
-
-/************************************************************
- * NetShareGetInfo (NETAPI32.@)
- */
-NET_API_STATUS WINAPI NetShareGetInfo(LMSTR servername, LMSTR netname,
- DWORD level, LPBYTE *bufptr)
-{
- FIXME("Stub (%s %s %d %p)\n", debugstr_w(servername),
- debugstr_w(netname),level, bufptr);
- return NERR_NetNameNotFound;
-}
-
-/************************************************************
- * NetShareAdd (NETAPI32.@)
- */
-NET_API_STATUS WINAPI NetShareAdd(LMSTR servername,
- DWORD level, LPBYTE buf, LPDWORD parm_err)
-{
- FIXME("Stub (%s %d %p %p)\n", debugstr_w(servername), level, buf,
parm_err);
- return ERROR_NOT_SUPPORTED;
-}
-
-/************************************************************
* NetFileEnum (NETAPI32.@)
*/
NET_API_STATUS WINAPI NetFileEnum(
Modified: trunk/reactos/dll/win32/netapi32/srvsvc.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/srvsvc.…
==============================================================================
--- trunk/reactos/dll/win32/netapi32/srvsvc.c [iso-8859-1] (original)
+++ trunk/reactos/dll/win32/netapi32/srvsvc.c [iso-8859-1] Fri Jun 2 20:02:49 2017
@@ -1,10 +1,9 @@
/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: NetAPI DLL
- * FILE: reactos/dll/win32/netapi32/schedule.c
+ * FILE: reactos/dll/win32/netapi32/srvsvc.c
* PURPOSE: Server service interface code
- *
- * PROGRAMMERS: Eric Kohl
+ * PROGRAMMERS: Eric Kohl <eric.kohl(a)reactos.org>
*/
/* INCLUDES ******************************************************************/
@@ -74,8 +73,8 @@
NET_API_STATUS
WINAPI
NetRemoteTOD(
- LPCWSTR UncServerName,
- LPBYTE *BufferPtr)
+ _In_ LPCWSTR UncServerName,
+ _Out_ LPBYTE *BufferPtr)
{
NET_API_STATUS status;
@@ -98,4 +97,197 @@
return status;
}
+
+NET_API_STATUS
+WINAPI
+NetShareAdd(
+ _In_ LMSTR servername,
+ _In_ DWORD level,
+ _In_ LPBYTE buf,
+ _Out_ LPDWORD parm_err)
+{
+ NET_API_STATUS status;
+
+ TRACE("NetShareAdd(%s %lu %p %p)\n",
+ debugstr_w(servername), level, buf, parm_err);
+
+ if (level != 2 || level != 502 || level != 503)
+ return ERROR_INVALID_LEVEL;
+
+ RpcTryExcept
+ {
+ status = NetrShareAdd(servername,
+ level,
+ (LPSHARE_INFO)&buf,
+ parm_err);
+ }
+ RpcExcept(EXCEPTION_EXECUTE_HANDLER)
+ {
+ status = I_RpcMapWin32Status(RpcExceptionCode());
+ }
+ RpcEndExcept;
+
+ return status;
+}
+
+
+NET_API_STATUS
+WINAPI
+NetShareCheck(
+ _In_ LMSTR servername,
+ _In_ LMSTR device,
+ _Out_ LPDWORD type)
+{
+ NET_API_STATUS status;
+
+ TRACE("NetShareCheck(%s %s %p)\n",
+ debugstr_w(servername), debugstr_w(device), type);
+
+ RpcTryExcept
+ {
+ status = NetrShareCheck(servername,
+ device,
+ type);
+ }
+ RpcExcept(EXCEPTION_EXECUTE_HANDLER)
+ {
+ status = I_RpcMapWin32Status(RpcExceptionCode());
+ }
+ RpcEndExcept;
+
+ return status;
+
+}
+
+
+NET_API_STATUS
+WINAPI
+NetShareDel(
+ _In_ LMSTR servername,
+ _In_ LMSTR netname,
+ _In_ DWORD reserved)
+{
+ NET_API_STATUS status;
+
+ TRACE("NetShareDel(%s %s %lu)\n",
+ debugstr_w(servername), debugstr_w(netname), reserved);
+
+ if (netname == NULL || (*netname == 0) || reserved != 0)
+ return ERROR_INVALID_PARAMETER;
+
+ RpcTryExcept
+ {
+ status = NetrShareDel(servername,
+ netname,
+ reserved);
+ }
+ RpcExcept(EXCEPTION_EXECUTE_HANDLER)
+ {
+ status = I_RpcMapWin32Status(RpcExceptionCode());
+ }
+ RpcEndExcept;
+
+ return status;
+}
+
+
+NET_API_STATUS
+WINAPI
+NetShareDelSticky(
+ _In_ LMSTR servername,
+ _In_ LMSTR netname,
+ _In_ DWORD reserved)
+{
+ NET_API_STATUS status;
+
+ TRACE("NetShareDelSticky(%s %s %lu)\n",
+ debugstr_w(servername), debugstr_w(netname), reserved);
+
+ if (netname == NULL || (*netname == 0) || reserved != 0)
+ return ERROR_INVALID_PARAMETER;
+
+ RpcTryExcept
+ {
+ status = NetrShareDelSticky(servername,
+ netname,
+ reserved);
+ }
+ RpcExcept(EXCEPTION_EXECUTE_HANDLER)
+ {
+ status = I_RpcMapWin32Status(RpcExceptionCode());
+ }
+ RpcEndExcept;
+
+ return status;
+}
+
+
+NET_API_STATUS
+WINAPI
+NetShareEnum(
+ _In_ LMSTR servername,
+ _In_ DWORD level,
+ _Out_ LPBYTE *bufptr,
+ _In_ DWORD prefmaxlen,
+ _Out_ LPDWORD entriesread,
+ _Out_ LPDWORD totalentries,
+ _Inout_ LPDWORD resume_handle)
+{
+ FIXME("NetShareEnum(%s %lu %p %lu %p %p %p)\n",
+ debugstr_w(servername), level, bufptr, prefmaxlen,
+ entriesread, totalentries, resume_handle);
+
+ return ERROR_NOT_SUPPORTED;
+}
+
+
+NET_API_STATUS
+WINAPI
+NetShareEnumSticky(
+ _In_ LMSTR servername,
+ _In_ DWORD level,
+ _Out_ LPBYTE *bufptr,
+ _In_ DWORD prefmaxlen,
+ _Out_ LPDWORD entriesread,
+ _Out_ LPDWORD totalentries,
+ _Inout_ LPDWORD resume_handle)
+{
+ FIXME("NetShareEnumSticky(%s %lu %p %lu %p %p %p)\n",
+ debugstr_w(servername), level, bufptr, prefmaxlen,
+ entriesread, totalentries, resume_handle);
+
+ return ERROR_NOT_SUPPORTED;
+}
+
+
+NET_API_STATUS
+WINAPI
+NetShareGetInfo(
+ _In_ LMSTR servername,
+ _In_ LMSTR netname,
+ _In_ DWORD level,
+ _Out_ LPBYTE *bufptr)
+{
+ FIXME("NetShareGetInfo(%s %s %lu %p)\n",
+ debugstr_w(servername), debugstr_w(netname), level, bufptr);
+
+ return ERROR_NOT_SUPPORTED;
+}
+
+
+NET_API_STATUS
+WINAPI
+NetShareSetInfo(
+ _In_ LPWSTR servername,
+ _In_ LPWSTR netname,
+ _In_ DWORD level,
+ _In_ LPBYTE buf,
+ _Out_ LPDWORD parm_err)
+{
+ FIXME("NetShareSetInfo(%s %s %lu %p %p)\n",
+ debugstr_w(servername), debugstr_w(netname), level, buf, parm_err);
+
+ return ERROR_NOT_SUPPORTED;
+}
+
/* EOF */