如何升明和使用API函数netsessiongetinfo?

解决方案 »

  1.   

    这个函数是在netapi32.dll中声明的
    netsessiongetinfo
    函数功能:该函数检索特别服务器和工作站之间的会话信息。安全需求:仅有本地系统管理人员或者本地账号管理人员能在级别1或者级别2上执行该函数。在级别o或者级别10执行上该函数不需要特定的组身份。
    函数原型;NET_API_STATUS NetSessionGetlnfo(LPWSTR servername,LPWSTR,unclientname,LPWSTR username,DWORD level,LPBYTE  *bufptr);
    参数
    servername:指pJ以NULL结尾的Unicode字符串的指针,该字符串包含/执行读函数的远地服务器名,空指针或者空串表示本地计算机。
    unclientname:指向unicode字符串的指针,该字符串包含了返回信息的计算机会话名。该参数不能为NULL:
    username:指向Umcode字符串的指针,该字符串包含了返回会话信息的用户名。该参数不能为NULL。
    level:为所提供信息的级别,为以下值之一:
    0:多数bufpr指向SESSION_INFO_0;结构数组;1:参数bufptr指向SESSION_INFO_1结构数组。
    2:参数bufptr指向SESSION_INFO_2;结构数组110;参数bufptr指向SESSION_INFO_110结内数组。
    bufptr:指向bufferlevel级的数据集。
      

  2.   

    naughtyboy你好,我的意思如何在DELPhi中申明和使用NetSessionGetlnfo。
    它在windows API中的说明我看了。但在DELPHI的unit中无论是WinSock还是shellapi都没有包含NetSessionGetlnfo的申明。
    我猜想NetSessionGetlnfo在delphi中的申明方式是:
    NetSessionGetlnfo(LPWSTR servername,LPWSTR,unclientname,LPWSTR username,DWORD level,LPBYTE  *bufptr);; stdcall; external ‘netapi32.dll';
    但另一个问题是SESSION_INFO_0,SESSION_INFO_1,SESSION_INFO_2,SESSION_INFO_10的定义方式。
     不知道你有何高见,请不要再将API的说明拷贝上来了。
     谢谢
      

  3.   

    一般情况下像这种没有声明的api你可以直接引用dll
    function NewSessionGetInfo(sername: LPCWSTR;unclientname: LPCWSTR;username:LPCWSTR;level: DWORD;bufptr: LPBYTE): integer;external 'netapi32.dll';
      

  4.   

    那么SESSION_INFO_0,SESSION_INFO_1,SESSION_INFO_2,SESSION_INFO_10结构数组,
    在delphi系统中是否有象TNetResource结构的预定。
    是否需要自己定义?