mirror of
https://github.com/reactos/reactos.git
synced 2025-07-30 22:31:38 +00:00
[NETAPI32]
Implement the client side of NetWkstaSetInfo and NetWkstaUserEnum. svn path=/trunk/; revision=66441
This commit is contained in:
parent
e6003a5b4e
commit
5d32abc29b
3 changed files with 103 additions and 3 deletions
|
@ -254,10 +254,10 @@
|
|||
@ stub NetValidatePasswordPolicy
|
||||
@ stub NetValidatePasswordPolicyFree
|
||||
@ stdcall NetWkstaGetInfo(wstr long ptr)
|
||||
@ stub NetWkstaSetInfo
|
||||
@ stdcall NetWkstaSetInfo(wstr long ptr ptr)
|
||||
@ stub NetWkstaTransportAdd
|
||||
@ stub NetWkstaTransportDel
|
||||
@ stdcall NetWkstaTransportEnum (wstr long ptr long ptr ptr ptr)
|
||||
@ stdcall NetWkstaTransportEnum(wstr long ptr long ptr ptr ptr)
|
||||
@ stdcall NetWkstaUserEnum(wstr long ptr long ptr ptr ptr)
|
||||
@ stdcall NetWkstaUserGetInfo(wstr long ptr)
|
||||
@ stub NetWkstaUserSetInfo
|
||||
|
|
|
@ -417,6 +417,7 @@ NET_API_STATUS WINAPI NetWkstaUserGetInfo(LMSTR reserved, DWORD level,
|
|||
/************************************************************
|
||||
* NetWkstaUserEnum (NETAPI32.@)
|
||||
*/
|
||||
#if 0
|
||||
NET_API_STATUS WINAPI
|
||||
NetWkstaUserEnum(LMSTR servername, DWORD level, LPBYTE* bufptr,
|
||||
DWORD prefmaxlen, LPDWORD entriesread,
|
||||
|
@ -426,6 +427,7 @@ NetWkstaUserEnum(LMSTR servername, DWORD level, LPBYTE* bufptr,
|
|||
level, bufptr, prefmaxlen, entriesread, totalentries, resumehandle);
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
#endif
|
||||
|
||||
/************************************************************
|
||||
* NetpGetComputerName (NETAPI32.@)
|
||||
|
|
|
@ -171,7 +171,7 @@ NetGetJoinInformation(
|
|||
NET_API_STATUS
|
||||
WINAPI
|
||||
NetWkstaGetInfo(
|
||||
LMSTR servername,
|
||||
LPWSTR servername,
|
||||
DWORD level,
|
||||
LPBYTE *bufptr)
|
||||
{
|
||||
|
@ -194,4 +194,102 @@ NetWkstaGetInfo(
|
|||
return status;
|
||||
}
|
||||
|
||||
|
||||
NET_API_STATUS
|
||||
WINAPI
|
||||
NetWkstaSetInfo(
|
||||
LPWSTR servername,
|
||||
DWORD level,
|
||||
LPBYTE buffer,
|
||||
LPDWORD parm_err)
|
||||
{
|
||||
NET_API_STATUS status;
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
status = NetrWkstaSetInfo(servername,
|
||||
level,
|
||||
(LPWKSTA_INFO)buffer,
|
||||
parm_err);
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
NET_API_STATUS
|
||||
WINAPI
|
||||
NetWkstaUserEnum(
|
||||
LMSTR servername,
|
||||
DWORD level,
|
||||
LPBYTE *bufptr,
|
||||
DWORD prefmaxlen,
|
||||
LPDWORD entriesread,
|
||||
LPDWORD totalentries,
|
||||
LPDWORD resumehandle)
|
||||
{
|
||||
WKSTA_USER_ENUM_STRUCT UserEnumInfo;
|
||||
WKSTA_USER_INFO_0_CONTAINER Level0;
|
||||
WKSTA_USER_INFO_1_CONTAINER Level1;
|
||||
NET_API_STATUS status;
|
||||
|
||||
TRACE("(%s, %d, %p, %d, %p, %p, %p): stub!\n", debugstr_w(servername),
|
||||
level, bufptr, prefmaxlen, entriesread, totalentries, resumehandle);
|
||||
|
||||
UserEnumInfo.Level = level;
|
||||
switch (level)
|
||||
{
|
||||
case 0:
|
||||
UserEnumInfo.WkstaUserInfo.Level0 = &Level0;
|
||||
UserEnumInfo.WkstaUserInfo.Level0->EntriesRead = 0;
|
||||
UserEnumInfo.WkstaUserInfo.Level0->Buffer = NULL;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
UserEnumInfo.WkstaUserInfo.Level1 = &Level1;
|
||||
UserEnumInfo.WkstaUserInfo.Level1->EntriesRead = 0;
|
||||
UserEnumInfo.WkstaUserInfo.Level1->Buffer = NULL;
|
||||
break;
|
||||
|
||||
default:
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
RpcTryExcept
|
||||
{
|
||||
status = NetrWkstaUserEnum(servername,
|
||||
&UserEnumInfo,
|
||||
prefmaxlen,
|
||||
totalentries,
|
||||
resumehandle);
|
||||
if (status == NERR_Success || status == ERROR_MORE_DATA)
|
||||
{
|
||||
switch (level)
|
||||
{
|
||||
case 0:
|
||||
*bufptr = (LPBYTE)UserEnumInfo.WkstaUserInfo.Level0->Buffer;
|
||||
*entriesread = UserEnumInfo.WkstaUserInfo.Level0->EntriesRead;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
*bufptr = (LPBYTE)UserEnumInfo.WkstaUserInfo.Level1->Buffer;
|
||||
*entriesread = UserEnumInfo.WkstaUserInfo.Level1->EntriesRead;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
|
||||
{
|
||||
status = I_RpcMapWin32Status(RpcExceptionCode());
|
||||
}
|
||||
RpcEndExcept;
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue