Bagikan melalui


fungsi gethostname (winsock.h)

Fungsi gethostname mengambil nama host standar untuk komputer lokal.

Sintaks

int gethostname(
  [out] char *name,
  [in]  int  namelen
);

Parameter

[out] name

Penunjuk ke buffer yang menerima nama host lokal.

[in] namelen

Panjangnya, dalam byte, dari buffer yang diacu oleh parameter nama .

Mengembalikan nilai

Jika tidak ada kesalahan yang terjadi, gethostname mengembalikan nol. Jika tidak, ia mengembalikan SOCKET_ERROR dan kode kesalahan tertentu dapat diambil dengan memanggil WSAGetLastError.

Kode kesalahan Makna
WSAEFAULT
Parameter nama adalah penunjuk NULL atau bukan bagian yang valid dari ruang alamat pengguna. Kesalahan ini juga dikembalikan jika ukuran buffer yang ditentukan oleh parameter namelen terlalu kecil untuk menahan nama host lengkap.
WSANOTINITIALISED
Panggilan WSAStartup yang berhasil harus terjadi sebelum menggunakan fungsi ini.
WSAENETDOWN
Subsistem jaringan gagal.
WSAEINPROGRESS
Pemblokiran panggilan Windows Sockets 1.1 sedang berlangsung, atau penyedia layanan masih memproses fungsi panggilan balik.

Keterangan

Fungsi gethostname mengembalikan nama host lokal ke dalam buffer yang ditentukan oleh parameter nama . Nama host dikembalikan sebagai string yang dihentikan null. Bentuk nama host tergantung pada penyedia Windows Sockets—bisa menjadi nama host sederhana, atau bisa menjadi nama domain yang sepenuhnya memenuhi syarat. Namun, dijamin bahwa nama yang dikembalikan akan berhasil diurai dengan gethostbyname dan WSAAsyncGetHostByName.

Panjang maksimum nama yang dikembalikan dalam buffer yang diacu oleh parameter nama tergantung pada penyedia namespace layanan.

Jika fungsi gethostname digunakan pada sumber daya kluster pada Windows Server 2008, Windows Server 2003, atau Windows 2000 Server dan variabel lingkungan CLUSTER_NETWORK_NAME ditentukan, maka nilai dalam variabel lingkungan ini menggantikan nama host yang sebenarnya dan dikembalikan. Pada sumber daya kluster, variabel lingkungan CLUSTER_NETWORK_NAME berisi nama kluster.

Fungsi gethostname meminta penyedia namespace layanan untuk menentukan nama host lokal menggunakan GUID SVCID_HOSTNAME yang ditentukan dalam file header Svgguid.h . Jika tidak ada penyedia namespace layanan yang merespons, maka fungsi gethostname mengembalikan nama NetBIOS komputer lokal.

Panjang maksimum, dalam byte, dari string yang dikembalikan dalam buffer yang diacu oleh parameter nama tergantung pada penyedia namespace layanan, tetapi string ini harus 256 byte atau kurang. Jadi jika buffer 256 byte diteruskan dalam parameter nama dan parameter namelen diatur ke 256, ukuran buffer akan selalu memadai.

Catatan Jika tidak ada nama host lokal yang telah dikonfigurasi, gethostname harus berhasil dan mengembalikan nama host token yang dapat diselesaikan oleh gethostbyname atau WSAAsyncGetHostByName .
 

Windows Phone 8: Fungsi ini didukung untuk aplikasi Windows Phone Store di Windows Phone 8 dan yang lebih baru.

Windows 8.1 dan Windows Server 2012 R2: Fungsi ini didukung untuk aplikasi Windows Store di Windows 8.1, Windows Server 2012 R2, dan yang lebih baru.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 8.1, Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2003 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header winsock.h (termasuk Winsock2.h)
Pustaka Ws2_32.lib
DLL Ws2_32.dll

Lihat juga

GetAddrInfoW

WSAAsyncGetHostByName

Fungsi Winsock

Referensi Winsock

gethostbyname