NetWkstaUserSetInfo 函数 (lmwksta.h)

NetWkstaUserSetInfo 函数设置有关工作站配置元素的用户特定信息。

语法

NET_API_STATUS NET_API_FUNCTION NetWkstaUserSetInfo(
        LMSTR   reserved,
  [in]  DWORD   level,
  [in]  LPBYTE  buf,
  [out] LPDWORD parm_err
);

parameters

reserved

该参数必须设置为零。

[in] level

指定数据的信息级别。 此参数的取值可为下列值之一:

含义
1
指定有关工作站的信息,包括当前用户的名称和工作站访问的域。 buf 参数指向WKSTA_USER_INFO_1结构。
1101
指定工作站浏览的域。 buf 参数指向WKSTA_USER_INFO_1101结构。

[in] buf

指向指定数据的缓冲区的指针。 此数据的格式取决于 级别 参数的值。 有关详细信息,请参阅 网络管理功能缓冲区

[out] parm_err

指向一个值的指针,该值接收导致ERROR_INVALID_PARAMETER错误的第一个参数的索引。 如果此参数为 NULL,则错误时不会返回索引。

返回值

如果函数成功,则返回值NERR_Success。

如果函数失败,则返回值可能是以下错误代码之一。

返回代码 说明
ERROR_INVALID_LEVEL
级别参数无效。
ERROR_INVALID_PARAMETER
其中一个函数参数无效。

注解

NetWkstaUserSetInfo 函数仅在本地工作。 管理员组成员身份是必需的。

WKSTA_USER_INFO_1101 结构的wkui1101_oth_domains成员中的域名用空格分隔。 空列表有效。 NULL 指针表示使成员保持未修改状态。 不能使用 MS-DOS 设置 wkui1101_oth_domains 成员。 设置此元素时,如果名称列表无效或无法将名称添加到系统管理的一个或多个网络适配器, NetWkstaUserSetInfo 将拒绝请求。

如果 NetWkstaUserSetInfo 函数返回ERROR_INVALID_PARAMETER,则可以使用 parm_err 参数指示工作站用户信息结构的成员无效。 (工作站用户信息结构以 WKSTA_USER_INFO_ 开头,其格式由 级别 参数指定。) 下表列出了可在 parm_err 参数中返回的值,以及出错的相应结构成员。 (前缀 wkui*_ 指示成员可以以多个前缀开头,例如,wkui0_或 wkui1_.)

成员
WKSTA_OTH_DOMAINS_PARMNUM wkui*_oth_domains
 

示例

以下代码示例演示如何使用对 NetWkstaUserSetInfo 函数的调用为工作站设置用户特定的信息,并将信息级别指定为 1101 ( WKSTA_USER_INFO_1101) 。

#ifndef UNICODE
#define UNICODE
#endif
#pragma comment(lib, "netapi32.lib")

#include <stdio.h>
#include <windows.h> 
#include <lm.h>

int wmain(int argc, wchar_t *argv[])
{
   DWORD dwLevel = 1101;
   WKSTA_USER_INFO_1101 wui;
   NET_API_STATUS nStatus;

   if (argc != 2)
   {
      fwprintf(stderr, L"Usage: %s OtherDomains\n", argv[0]);
      exit(1);
   }
   //
   // Fill in the WKSTA_USER_INFO_1101 structure member.
   //
   wui.wkui1101_oth_domains = argv[1];
   //
   // Call the NetWkstaUserSetInfo function
   //  to change the list of domains browsed by
   //  the workstation; specify level 1101.
   //
   nStatus = NetWkstaUserSetInfo(NULL,
                                 dwLevel,
                                 (LPBYTE)&wui,
                                 NULL);
   //
   // Display the result of the call.
   //
   if (nStatus == NERR_Success)
      fprintf(stderr, "Workstation user information has been changed\n");
   else
      fprintf(stderr, "A system error has occurred: %d\n", nStatus);

   return 0;
}

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 lmwksta.h (包括 Lm.h)
Library Netapi32.lib
DLL Netapi32.dll

另请参阅

NetWkstaUserGetInfo

网络管理功能

网络管理概述

WKSTA_USER_INFO_1

WKSTA_USER_INFO_1101

工作站和工作站用户函数