NetEnumerateComputerNames 函数 (lmjoin.h)

NetEnumerateComputerNames 函数枚举指定计算机的名称。

语法

NET_API_STATUS NET_API_FUNCTION NetEnumerateComputerNames(
  [in, optional] LPCWSTR                Server,
  [in]           NET_COMPUTER_NAME_TYPE NameType,
  [in]           ULONG                  Reserved,
  [out]          PDWORD                 EntryCount,
  [out]          LPWSTR                 **ComputerNames
);

parameters

[in, optional] Server

指向常量字符串的指针,该字符串指定要在其中执行此函数的计算机的名称。 如果此参数为 NULL,则使用本地计算机。

[in] NameType

查询的名称的类型。 此成员可以是 Lmjoin.h 头文件中定义的 NET_COMPUTER_NAME_TYPE 枚举中定义的以下值之一。

含义
NetPrimaryComputerName
主计算机名称。
NetAlternateComputerNames
备用计算机名称。
NetAllComputerNames
所有计算机名称。
NetComputerNameTypeMax
指示范围末尾,该范围指定要查询的名称类型的可能值。

[in] Reserved

保留供将来使用。 此参数应为 NULL

[out] EntryCount

指向 DWORD 值的指针,如果函数成功,则返回 ComputerNames 参数指向的缓冲区中返回的名称数。

[out] ComputerNames

指向名称的指针数组的指针。 如果函数调用成功,此参数将返回与 NameType 参数中指定的计算机类型名称匹配的计算机名称。

当应用程序不再需要此数组时,应通过调用 NetApiBufferFree 函数来释放此缓冲区。

返回值

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

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

返回代码 说明
ERROR_ACCESS_DENIED
拒绝访问。 如果调用方不是目标计算机上的管理员本地组的成员,则返回此错误。
ERROR_INVALID_PARAMETER
参数不正确。
ERROR_NOT_ENOUGH_MEMORY
没有足够的内存可用于处理此命令。
ERROR_NOT_SUPPORTED
不支持该请求。 如果执行此函数 的服务器参数中指定的 目标计算机在 Windows 2000 及更早版本上运行,则返回此错误。
NERR_WkstaNotStarted
工作站服务尚未启动。
RPC_S_CALL_IN_PROGRESS
此线程的远程过程调用已在进行中。
RPC_S_PROTSEQ_NOT_SUPPORTED
不支持远程过程调用协议序列。

注解

Windows Vista 及更高版本支持 NetEnumerateComputerNames 函数。

NetEnumerateComputerNames 函数用于请求计算机当前配置的名称。

NetEnumerateComputerNames 函数要求调用方是目标计算机上的管理员本地组的成员。

要求

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

另请参阅

NetAddAlternateComputerName

NetJoinDomain

NetRemoveAlternateComputerName

NetRenameMachineInDomain

NetSetPrimaryComputerName

NetUnjoinDomain

SetComputerNameEx