Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mengambil nama NetBIOS atau DNS yang terkait dengan komputer lokal. Nama-nama dibuat saat startup sistem, ketika sistem membacanya dari registri.
Sintaksis
BOOL GetComputerNameExA(
[in] COMPUTER_NAME_FORMAT NameType,
[out] LPSTR lpBuffer,
[in, out] LPDWORD nSize
);
Parameter
[in] NameType
Jenis nama yang akan diambil. Parameter ini adalah nilai dari jenis enumerasi COMPUTER_NAME_FORMAT. Tabel berikut ini menyediakan informasi tambahan.
[out] lpBuffer
Penunjuk ke buffer yang menerima nama komputer atau nama server virtual kluster.
Panjang nama mungkin lebih besar dari MAX_COMPUTERNAME_LENGTH karakter karena DNS memungkinkan nama yang lebih panjang. Untuk memastikan bahwa buffer ini cukup besar, atur parameter ini ke
[in, out] nSize
Pada input, menentukan ukuran buffer, dalam TCHAR. Pada output, menerima jumlah TCHAR
Jika buffer terlalu kecil, fungsi gagal dan GetLastError mengembalikan ERROR_MORE_DATA. Parameter ini menerima ukuran buffer yang diperlukan, termasuk karakter null yang dihentikan
Jika lpBuffernull, parameter ini harus nol.
Mengembalikan nilai
Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError. Nilai yang mungkin termasuk yang berikut ini.
| Mengembalikan kode | Deskripsi |
|---|---|
|
Buffer lpBuffer terlalu kecil. Parameter lpnSize berisi jumlah byte yang diperlukan untuk menerima nama. |
Komentar
Jika kebijakan grup tidak diatur untuk komputer lokal, fungsi GetComputerNameEx mengambil nama NetBIOS atau DNS yang dibuat saat startup sistem. Jika kebijakan grup ditetapkan, fungsi mengembalikan nama domain utama yang ditetapkan oleh kebijakan grup. Perubahan nama yang dibuat oleh fungsi SetComputerName atau SetComputerNameEx tidak berlaku sampai pengguna memulai ulang komputer.
Jika komputer lokal tidak dikonfigurasi untuk menggunakan nama DNS, GetComputerNameEx tidak akan mengembalikan informasi DNS. Untuk mengonfigurasi komputer untuk melakukan ini, ikuti langkah-langkah yang diuraikan dalam bantuan sistem operasi dan ubah akhiran DNS utama komputer, lalu mulai ulang komputer.
Perilaku fungsi ini dapat terpengaruh jika komputer lokal adalah simpul dalam kluster. Untuk informasi selengkapnya, lihat ResUtilGetEnvironmentWithNetName dan UseNetworkName.
Jika Anda bekerja dengan lingkungan yang menggunakan tata letak DNS yang berbeda, di mana FQDN komputer tidak cocok dengan FQDN domainnya, gunakan LsaQueryInformationPolicy sebagai gantinya.
Untuk mengkompilasi aplikasi yang menggunakan fungsi ini, tentukan makro _WIN32_WINNT sebagai 0x0500 atau yang lebih baru. Untuk informasi selengkapnya, lihat Menggunakan Header Windows.
Contoh
#define _WIN32_WINNT 0x0500
#include <windows.h>
#include <stdio.h>
#include <tchar.h>
void _tmain(void)
{
TCHAR buffer[256] = TEXT("");
TCHAR szDescription[8][32] = {TEXT("NetBIOS"),
TEXT("DNS hostname"),
TEXT("DNS domain"),
TEXT("DNS fully-qualified"),
TEXT("Physical NetBIOS"),
TEXT("Physical DNS hostname"),
TEXT("Physical DNS domain"),
TEXT("Physical DNS fully-qualified")};
int cnf = 0;
DWORD dwSize = _countof(buffer);
for (cnf = 0; cnf < ComputerNameMax; cnf++)
{
if (!GetComputerNameEx((COMPUTER_NAME_FORMAT)cnf, buffer, &dwSize))
{
_tprintf(TEXT("GetComputerNameEx failed (%d)\n"), GetLastError());
return;
}
else _tprintf(TEXT("%s: %s\n"), szDescription[cnf], buffer);
dwSize = _countof(buffer);
ZeroMemory(buffer, dwSize);
}
}
Nota
Header sysinfoapi.h mendefinisikan GetComputerNameEx sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praprosem UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
| server minimum yang didukung |
Windows 2000 Server [hanya aplikasi desktop] |
| Platform Target |
Windows |
| Header |
sysinfoapi.h (termasuk Windows.h) |
| Pustaka |
Kernel32.lib |
| DLL |
Kernel32.dll |
Lihat juga
Nama Komputer
ResUtilGetEnvironmentWithNetName
ResUtilSetResourceServiceEnvironment
ResUtilSetResourceServiceStartParameters
Fungsi Informasi Sistem