getComputerNameA 函数 (winbase.h)

检索本地计算机的 NetBIOS 名称。 当系统从注册表读取此名称时,会在系统启动时建立此名称。

GetComputerName 仅检索本地计算机的 NetBIOS 名称。 若要检索 DNS 主机名、DNS 域名或完全限定的 DNS 名称,请调用 GetComputerNameEx 函数。 其他信息由 IADsADSystemInfo 接口提供。

如果本地计算机是群集中的节点,则此函数的行为可能会受到影响。 有关详细信息,请参阅 ResUtilGetEnvironmentWithNetNameUseNetworkName

语法

BOOL GetComputerNameA(
  [out]     LPSTR   lpBuffer,
  [in, out] LPDWORD nSize
);

参数

[out] lpBuffer

指向接收计算机名称或群集虚拟服务器名称的缓冲区的指针。 缓冲区大小应足够大,以包含MAX_COMPUTERNAME_LENGTH + 1 个字符。

[in, out] nSize

输入时,指定缓冲区的大小(以 TCHAR 为单位)。 输出时,复制到目标缓冲区的 TCHAR 数,不包括终止 null 字符。

如果缓冲区太小,函数会失败, GetLastError 将返回ERROR_BUFFER_OVERFLOW。 lpnSize 参数指定所需的缓冲区的大小,包括终止 null 字符。

返回值

如果函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

GetComputerName 函数检索在系统启动时建立的 NetBIOS 名称。 在用户重新启动计算机之前, SetComputerNameSetComputerNameEx 函数所做的名称更改不会生效。

如果调用方在客户端会话下运行,则此函数返回服务器名称。 若要检索客户端名称,请使用 WTSQuerySessionInformation 函数。

示例

有关示例,请参阅 获取系统信息

注意

winbase.h 标头将 GetComputerName 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名的使用与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

   
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

计算机名称

GetComputerNameEx

SetComputerName

SetComputerNameEx

系统信息函数