C++之NetSessionEnum

函数原型

NET_API_STATUS NET_API_FUNCTION NetSessionEnum(
  LMSTR   servername,
  LMSTR   UncClientName,
  LMSTR   username,
  DWORD   level,
  LPBYTE  *bufptr,
  DWORD   prefmaxlen,
  LPDWORD entriesread,
  LPDWORD totalentries,
  LPDWORD resume_handle
);
servername
	目标地址,如果为NULL则为本地计算机
UncClientName
	指定要为其返回信息的计算机会话名称,如果为NULL则返回所有会话信息
username
	返回用户名称,如果为NULL则返回所有用户信息
level
	用10即可,返回计算机的名称,用户的名称以及会话的活动时间和空闲时间
bufptr
	参照level的值,此处用SESSION_INFO_10结构
prefmaxlen
  返回数据的首选最大长度,可用MAX_PREFERRED_LENGTH使得函数来分配内存量
entriesread  
  结合实际枚举的元素数
totalentries
  接收可能从当前建立位置枚举的条目总数
resume_handle
  指向包含恢复句柄的值的指针,该恢复句柄用于继续现有的会话搜索。第一次调用时,该句柄应为零,而对于后续调用,则应保持不变。如果resume_handle为NULL,则不存储任何恢复句柄
  

函数成功返回NERR_Success
  

SESSION_INFO_10结构
typedef struct _SESSION_INFO_10 {
  LMSTR sesi10_cname;//指向Unicode字符串的指针,该字符串指定建立会话的计算机的名称。该字符串不能包含反斜杠()
  LMSTR sesi10_username;//指向Unicode字符串的指针,该字符串指定建立会话的用户的名称
  DWORD sesi10_time;//会话处于活动状态的秒数
  DWORD sesi10_idle_time;//会话空闲的秒数
} SESSION_INFO_10, *PSESSION_INFO_10, *LPSESSION_INFO_10;

实现效果

{{uploading-image-576182.png(uploading...)}}

联系邮箱:yang_s1r@163.com 博客园地址:https://www.cnblogs.com/Yang34/
原文地址:https://www.cnblogs.com/Yang34/p/14402147.html