共用方式為


SetComputerNameExA 函式 (sysinfoapi.h)

設定本機電腦的新 NetBIOS 或 DNS 名稱。 在使用者重新啟動電腦之前 ,SetComputerNameEx 所做的名稱變更不會生效。

語法

BOOL SetComputerNameExA(
  [in] COMPUTER_NAME_FORMAT NameType,
  [in] LPCSTR               lpBuffer
);

參數

[in] NameType

要設定的名稱類型。 這個參數可以是 下列 COMPUTER_NAME_FORMAT列舉類型的其中一個值。

意義
ComputerNamePhysicalDnsDomain
設定電腦的主要 DNS 後綴。
ComputerNamePhysicalDnsHostname
將 NetBIOS 和電腦名稱 (完整 DNS 名稱的第一個標籤設定為 lpBuffer 中指定的名稱) 。 如果名稱超過MAX_COMPUTERNAME_LENGTH個字元,NetBIOS 名稱會截斷為MAX_COMPUTERNAME_LENGTH個字元,不包括終止的 Null 字元。
ComputerNamePhysicalNetBIOS
將 NetBIOS 名稱設定為 lpBuffer 中指定的名稱。 名稱不能超過MAX_COMPUTERNAME_LENGTH個字元,不包括終止的 Null 字元。

警告:使用此選項來設定 NetBIOS 名稱會中斷相依 NetBIOS 和 DNS 名稱的慣例。 使用 DnsHostnameToComputerName 函式從 DNS 名稱的第一個標籤衍生 NetBIOS 名稱的應用程式,如果此慣例中斷,將會失敗。

[in] lpBuffer

新的名稱。 名稱不能包含控制字元、開頭或尾端空格,或下列任何字元:“ / \ [ ] : | <> + = ;, ?

傳回值

如果函式成功,則傳回值是非零值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

SetComputerNameEx 可以設定電腦名稱 (完整 DNS 名稱的第一個標籤,) 或本機電腦的主要 DNS 後綴。 它無法在一個呼叫中設定完整 DNS 名稱。

如果本機計算機是叢集中的節點, SetComputerNameEx 會 設定本機計算機的 NetBIOS 或 DNS 名稱,而不是叢集虛擬伺服器的 DNS 名稱。

呼叫 SetComputerNameEx 函式的程式必須在本機電腦上具有系統管理員許可權。

若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為0x0500或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭

注意

sysinfoapi.h 標頭會將 SetComputerNameEx 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 sysinfoapi.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

COMPUTER_NAME_FORMAT

計算機名稱

DnsHostnameToComputerName

GetComputerName

GetComputerNameEx

SetComputerName

系統資訊函式