NetServerEnum功能列出了在指定域中可见的指定类型的所有服务器。例如,应用程序可以调用NetServerEnum列出所有域控制器或仅列出所有SQL服务器。
您可以组合位掩码列出几种类型。例如,0x00000003的值组合了SV_TYPE_WORKSTATION(0x00000001)和SV_TYPE_SERVER(0x00000002)的位掩码。
注意如果需要有关特定服务器的类型,名称和注释的更多信息,请使用WNetEnumResource功能。
安全要求
成功执行NetServerEnum不需要特殊的组成员资格。
NET_API_STATUS NetServerEnum(
LPTSTR【服务器名称】, | |
DWORD【水平】, | |
LPBYTE【* bufptrig】, | |
DWORD【prefmaxlen】, | |
LPDWORD【entriesread】, | |
LPDWORD【为totalEntries】, | |
DWORD【SERVERTYPE】, | |
LPTSTR【域】, | |
LPDWORD【resume_handle】 | |
); |
参数
【服务器名称】
指向包含要执行该函数的远程服务器名称的Unicode字符串。NULL指针或字符串指定本地计算机。
【水平】
指定以下值之一来返回提供的信息级别。
值 | 含义 |
100 | 【bufptrig】参数指向SERVER_INFO_100结构的数组。 |
101 | 【bufptrig】参数指向SERVER_INFO_101结构的数组。 |
【bufptrig】
指向存储有【水平】参数的数据的缓冲区的指针。
【prefmaxlen】
优选的最大长度,返回数据的8位字节。
【entriesread】
返回时,实际枚举的元素数位于【entriesread】指向的双字中。
【为totalEntries】
返回网络上可见服务器和工作站的总数。
【SERVERTYPE】
过滤服务器条目以从枚举返回的DWORD掩码。定义的掩码位指定:
符号常数 | 值 | 含义 |
SV_TYPE_WORKSTATION | 0x00000001 | 所有LAN Manager工作站 |
SV_TYPE_SERVER | 0x00000002 | 所有LAN Manager服务器 |
SV_TYPE_SQLSERVER | 0x00000004 | 任何运行Microsoft SQL Server的服务器 |
SV_TYPE_DOMAIN_CTRL | 0x00000008 | 主域控制器 |
SV_TYPE_DOMAIN_BAKCTRL | 0x00000010 | 备份域控制器 |
SV_TYPE_TIMESOURCE | 0x00000020 | 服务器运行Timesource服务 |
SV_TYPE_AFP | 0x00000040 | Apple文件协议服务器 |
SV_TYPE_NOVELL | 0x00000080 | Novell服务器 |
SV_TYPE_DOMAIN_MEMBER | 0x00000100 | 局域网经理2.【x】域成员 |
SV_TYPE_LOCAL_LIST_ONLY | 0x40000000 | 服务器由浏览器维护。请参阅以下备注部分。 |
SV_TYPE_PRINT | 0x00000200 | 服务器共享打印队列 |
SV_TYPE_DIALIN | 0x00000400 | 服务器运行拨入服务 |
SV_TYPE_XENIX_SERVER | 0x00000800 | Xenix服务器 |
SV_TYPE_MFPN | 0x00004000 | Microsoft文件和打印为Netware |
SV_TYPE_NT | 0x00001000 | Windows NT(工作站或服务器) |
SV_TYPE_WFW | 0x00002000 | 服务器运行Windows for Workgroups |
SV_TYPE_SERVER_NT | 0x00008000 | Windows NT非DC服务器 |
SV_TYPE_POTENTIAL_BROWSER | 0x00010000 | 可以运行浏览器服务的服务器 |
SV_TYPE_BACKUP_BROWSER | 0x00020000 | 服务器运行浏览器服务作为备份 |
SV_TYPE_MASTER_BROWSER | 0x00040000 | 运行主浏览器服务的服务器 |
SV_TYPE_DOMAIN_MASTER | 0x00080000 | 服务器运行域主浏览器 |
SV_TYPE_DOMAIN_ENUM | 0x80000000 | 主域名 |
SV_TYPE_WINDOWS | 0x00400000 | Windows 95或更高版本 |
SV_TYPE_ALL | 0xFFFFFFFF | 所有服务器 |
【域】
指向Unicode字符串的指针,其中包含要为其返回服务器列表的域名。如果指定为NULL,则隐含主域。
【resume_handle】
保留。必须设置为零。使用Wnet功能。
返回值
如果函数返回帐户信息,返回值为NERR_Success。
如果函数失败,则返回值为以下错误代码之一:
值 | 含义 |
ERROR_ACCESS_DENIED | 用户无权访问所请求的信息。 |
NERR_InvalidComputer | 计算机名无效。 |
ERROR_NO_BROWSER_SERVERS_FOUND | 没有找到浏览器服务器。 |
ERROR_MORE_DATA | 更多条目可用于后续呼叫。 |
备注
SV_TYPE_LOCAL_LIST_ONLY标志返回由浏览器内部维护的服务器列表。这仅在主浏览器(或以前是主浏览器的计算机上)上有意义。主浏览器是当前有权确定哪些机器可以是网络上的服务器或工作站的机器。
也可以看看
NetServerDiskEnum, NetQueryDisplayInformation, SERVER_INFO_100, SERVER_INFO_101