SetComputerNameExA 関数 (sysinfoapi.h)
ローカル コンピューターの新しい NetBIOS または DNS 名を設定します。 SetComputerNameEx によって行われた名前の変更は、ユーザーがコンピューターを再起動するまで有効になりません。
構文
BOOL SetComputerNameExA(
[in] COMPUTER_NAME_FORMAT NameType,
[in] LPCSTR lpBuffer
);
パラメーター
[in] NameType
設定する名前の種類。 このパラメーターには、 COMPUTER_NAME_FORMAT 列挙型の次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
コンピューターのプライマリ DNS サフィックスを設定します。 |
|
NetBIOS とコンピューター名 (完全な DNS 名の最初のラベル) を lpBuffer で指定された名前に設定します。 名前がMAX_COMPUTERNAME_LENGTH文字を超える場合、NetBIOS 名はMAX_COMPUTERNAME_LENGTH文字に切り捨てられ、終端の null 文字は含まれません。 |
|
NetBIOS 名を lpBuffer で指定された名前に設定します。 名前は、終端の null 文字を含めず、MAX_COMPUTERNAME_LENGTH文字を超えることはできません。
警告: このオプションを使用して NetBIOS 名を設定すると、相互に依存する NetBIOS 名と DNS 名の規則が解除されます。 DnsHostnameToComputerName 関数を使用して、DNS 名の最初のラベルから NetBIOS 名を派生させるアプリケーションは、この規則が解除されると失敗します。 |
[in] lpBuffer
新しい名前。 名前には、制御文字、先頭または末尾のスペース、または次の文字を含めることはできません: " / \ [ ] : | <> + = ;, ?
戻り値
関数が成功した場合、戻り値は 0 以外の値になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
SetComputerNameEx では、コンピューター名 (完全な DNS 名の最初のラベル) またはローカル コンピューターのプライマリ DNS サフィックスを設定できます。 1 回の呼び出しで完全修飾 DNS 名を設定することはできません。
ローカル コンピューターがクラスター内のノードである場合、 SetComputerNameEx は、クラスター仮想サーバーの名前ではなく、ローカル コンピューターの NetBIOS または DNS 名を設定します。
SetComputerNameEx 関数を呼び出すプロセスには、ローカル コンピューターに対する管理者特権が必要です。
この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNTを 0x0500 以降として定義します。 詳細については、「 Windows ヘッダーの使用」を参照してください。
注意
sysinfoapi.h ヘッダーは、SetComputerNameEx をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | sysinfoapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |