mirror of
https://github.com/reactos/reactos.git
synced 2024-07-22 20:28:08 +00:00
[NETAPI32]
Implement NetServerTransportAdd, NetServerTransportAddEx, NetServerTransportDel and NetServertransportEnum. These functions call their counterparts in the server service. svn path=/trunk/; revision=74949
This commit is contained in:
parent
312c89f38e
commit
544223fa5a
|
@ -212,10 +212,10 @@
|
||||||
@ stdcall NetServerEnumEx(wstr long ptr long ptr ptr long wstr wstr)
|
@ stdcall NetServerEnumEx(wstr long ptr long ptr ptr long wstr wstr)
|
||||||
@ stdcall NetServerGetInfo(wstr long ptr)
|
@ stdcall NetServerGetInfo(wstr long ptr)
|
||||||
@ stdcall NetServerSetInfo(wstr long ptr ptr)
|
@ stdcall NetServerSetInfo(wstr long ptr ptr)
|
||||||
@ stub NetServerTransportAdd
|
@ stdcall NetServerTransportAdd(wstr long ptr)
|
||||||
@ stub NetServerTransportAddEx
|
@ stdcall NetServerTransportAddEx(wstr long ptr)
|
||||||
@ stub NetServerTransportDel
|
@ stdcall NetServerTransportDel(wstr long ptr)
|
||||||
@ stub NetServerTransportEnum
|
@ stdcall NetServerTransportEnum(wstr long ptr long ptr ptr ptr)
|
||||||
@ stub NetServiceControl
|
@ stub NetServiceControl
|
||||||
@ stub NetServiceEnum
|
@ stub NetServiceEnum
|
||||||
@ stub NetServiceGetInfo
|
@ stub NetServiceGetInfo
|
||||||
|
|
|
@ -352,6 +352,159 @@ NetServerSetInfo(
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NET_API_STATUS
|
||||||
|
WINAPI
|
||||||
|
NetServerTransportAdd(
|
||||||
|
_In_ LPWSTR servername,
|
||||||
|
_In_ DWORD level,
|
||||||
|
_In_ LPBYTE bufptr)
|
||||||
|
{
|
||||||
|
NET_API_STATUS status;
|
||||||
|
|
||||||
|
TRACE("NetServerTransportAdd(%s %lu %p)\n",
|
||||||
|
debugstr_w(servername), level, bufptr);
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
status = NetrServerTransportAdd(servername,
|
||||||
|
level,
|
||||||
|
(LPSERVER_TRANSPORT_INFO_0)bufptr);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NET_API_STATUS
|
||||||
|
WINAPI
|
||||||
|
NetServerTransportAddEx(
|
||||||
|
_In_ LPWSTR servername,
|
||||||
|
_In_ DWORD level,
|
||||||
|
_In_ LPBYTE bufptr)
|
||||||
|
{
|
||||||
|
NET_API_STATUS status;
|
||||||
|
|
||||||
|
TRACE("NetServerTransportAddEx(%s %lu %p)\n",
|
||||||
|
debugstr_w(servername), level, bufptr);
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
status = NetrServerTransportAddEx(servername,
|
||||||
|
level,
|
||||||
|
(LPTRANSPORT_INFO)bufptr);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NET_API_STATUS
|
||||||
|
WINAPI
|
||||||
|
NetServerTransportDel(
|
||||||
|
_In_ LPWSTR servername,
|
||||||
|
_In_ DWORD level,
|
||||||
|
_In_ LPBYTE bufptr)
|
||||||
|
{
|
||||||
|
NET_API_STATUS status;
|
||||||
|
|
||||||
|
TRACE("NetServerTransportDel(%s %lu %p)\n",
|
||||||
|
debugstr_w(servername), level, bufptr);
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
status = NetrServerTransportDel(servername,
|
||||||
|
level,
|
||||||
|
(LPSERVER_TRANSPORT_INFO_0)bufptr);
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
NET_API_STATUS
|
||||||
|
WINAPI
|
||||||
|
NetServerTransportEnum(
|
||||||
|
_In_ LPWSTR servername,
|
||||||
|
_In_ DWORD level,
|
||||||
|
_Out_ LPBYTE *bufptr,
|
||||||
|
_In_ DWORD prefmaxlen,
|
||||||
|
_Out_ LPDWORD entriesread,
|
||||||
|
_Out_ LPDWORD totalentries,
|
||||||
|
_Inout_ LPDWORD resume_handle)
|
||||||
|
{
|
||||||
|
SERVER_XPORT_ENUM_STRUCT EnumStruct;
|
||||||
|
SERVER_XPORT_INFO_0_CONTAINER Level0Container = {0, NULL};
|
||||||
|
SERVER_XPORT_INFO_1_CONTAINER Level1Container = {0, NULL};
|
||||||
|
NET_API_STATUS status;
|
||||||
|
|
||||||
|
TRACE("NetServerTransportEnum(%s %lu %p %lu %p %p %p)\n",
|
||||||
|
debugstr_w(servername), level, bufptr, prefmaxlen,
|
||||||
|
entriesread, totalentries, resume_handle);
|
||||||
|
|
||||||
|
EnumStruct.Level = level;
|
||||||
|
switch (level)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
EnumStruct.XportInfo.Level0 = &Level0Container;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
EnumStruct.XportInfo.Level1 = &Level1Container;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
RpcTryExcept
|
||||||
|
{
|
||||||
|
status = NetrServerTransportEnum(servername,
|
||||||
|
&EnumStruct,
|
||||||
|
prefmaxlen,
|
||||||
|
totalentries,
|
||||||
|
resume_handle);
|
||||||
|
|
||||||
|
switch (level)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
if (EnumStruct.XportInfo.Level0->Buffer != NULL)
|
||||||
|
{
|
||||||
|
*bufptr = (LPBYTE)EnumStruct.XportInfo.Level0->Buffer;
|
||||||
|
*entriesread = EnumStruct.XportInfo.Level0->EntriesRead;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
if (EnumStruct.XportInfo.Level1->Buffer != NULL)
|
||||||
|
{
|
||||||
|
*bufptr = (LPBYTE)EnumStruct.XportInfo.Level1->Buffer;
|
||||||
|
*entriesread = EnumStruct.XportInfo.Level1->EntriesRead;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||||
|
{
|
||||||
|
status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||||
|
}
|
||||||
|
RpcEndExcept;
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
NET_API_STATUS
|
NET_API_STATUS
|
||||||
WINAPI
|
WINAPI
|
||||||
NetSessionDel(
|
NetSessionDel(
|
||||||
|
|
Loading…
Reference in a new issue