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 名は、終端の null 文字を含めず、MAX_COMPUTERNAME_LENGTH文字に切り捨てられます。 |
|
NetBIOS 名を lpBufferで指定 警告: このオプションを使用して 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 バージョンを自動的に選択するエイリアスとして定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | sysinfoapi.h (Windows.h を含む) |
ライブラリ | Kernel32.lib |
DLL | Kernel32.dll |