Bagikan melalui


Fungsi SetServiceA (nspapi.h)

Fungsi SetService mendaftarkan atau menghapus dari registri layanan jaringan dalam satu atau beberapa namespace layanan. Fungsi ini juga dapat menambahkan atau menghapus jenis layanan jaringan dalam satu atau beberapa namespace layanan.

Catatan Fungsi SetService sudah usang. Fungsi yang dirinci dalam Resolusi Nama Independen Protokol menyediakan fungsionalitas yang setara di Windows Sockets 2. Untuk kenyamanan pengembang Windows Sockets 1.1, materi referensinya adalah sebagai berikut.
 

Sintaks

INT SetServiceA(
  [in]           DWORD                dwNameSpace,
  [in]           DWORD                dwOperation,
  [in]           DWORD                dwFlags,
  [in]           LPSERVICE_INFOA      lpServiceInfo,
  [in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo,
  [out]          LPDWORD              lpdwStatusFlags
);

Parameter

[in] dwNameSpace

Namespace layanan, atau sekumpulan namespace default, di mana fungsi akan beroperasi.

Gunakan salah satu konstanta berikut untuk menentukan namespace.

Nilai Makna
NS_DEFAULT
Sekumpulan namespace default. Fungsi ini meminta setiap namespace dalam set ini. Kumpulan namespace default biasanya mencakup semua namespace layanan yang diinstal pada sistem. Namun, administrator sistem dapat mengecualikan namespace tertentu dari set. NS_DEFAULT adalah nilai yang harus digunakan sebagian besar aplikasi untuk dwNameSpace.
NS_DNS
Sistem Nama Domain yang digunakan di Internet untuk mengatasi nama host.
NS_NDS
Penyedia NetWare 4.
NS_NETBT
NetBIOS melalui lapisan TCP/IP. Semua sistem Windows mendaftarkan nama komputer mereka dengan NetBIOS. Namespace ini digunakan untuk mengonversi nama komputer ke alamat IP yang menggunakan pendaftaran ini.
NS_SAP
Protokol Iklan Layanan NetWare. Ini dapat mengakses bindery NetWare, jika sesuai. NS_SAP adalah namespace dinamis yang memungkinkan pendaftaran layanan.
NS_TCPIP_HOSTS
Nilai pencarian dalam <file systemroot>\system32\drivers\etc\posts.
NS_TCPIP_LOCAL
Mekanisme resolusi nama TCP/IP lokal, termasuk perbandingan dengan nama host lokal dan nilai pencarian dalam cache pemetaan host ke alamat IP.

[in] dwOperation

Operasi yang akan dilakukan fungsi. Gunakan salah satu nilai berikut untuk menentukan operasi:

Nilai Makna
SERVICE_REGISTER
Daftarkan layanan jaringan dengan namespace layanan. Operasi ini dapat digunakan dengan bendera bit SERVICE_FLAG_DEFER dan SERVICE_FLAG_HARD.
SERVICE_DEREGISTER
Hapus dari registri layanan jaringan dari namespace layanan. Operasi ini dapat digunakan dengan bendera bit SERVICE_FLAG_DEFER dan SERVICE_FLAG_HARD.
SERVICE_FLUSH
Lakukan operasi apa pun yang dipanggil dengan bendera bit SERVICE_FLAG_DEFER diatur ke satu.
SERVICE_ADD_TYPE
Tambahkan jenis layanan ke namespace layanan.

Untuk operasi ini, gunakan anggota ServiceSpecificInfo dari struktur SERVICE_INFO yang ditujukkan oleh lpServiceInfo untuk meneruskan struktur SERVICE_TYPE_INFO_ABS . Anda juga harus mengatur anggota ServiceType dari struktur SERVICE_INFO . Anggota SERVICE_INFO lainnya diabaikan.

SERVICE_DELETE_TYPE
Hapus jenis layanan, ditambahkan oleh panggilan sebelumnya yang menentukan operasi SERVICE_ADD_TYPE, dari namespace layanan.

[in] dwFlags

Sekumpulan bendera bit yang memodifikasi operasi fungsi. Anda dapat mengatur satu atau beberapa bendera bit berikut:

Nilai Makna
SERVICE_FLAG_DEFER
Bendera bit ini hanya valid jika operasi SERVICE_REGISTER atau SERVICE_DEREGISTER.

Jika bendera bit ini adalah satu, dan valid, penyedia namespace harus menangguhkan operasi pendaftaran atau deregistrasi hingga operasi SERVICE_FLUSH diminta.

SERVICE_FLAG_HARD
Bendera bit ini hanya valid jika operasi SERVICE_REGISTER atau SERVICE_DEREGISTER.

Jika bendera bit ini adalah satu, dan valid, penyedia namespace memperbarui informasi penyimpanan persisten yang relevan saat operasi dilakukan.

Misalnya: Jika operasi melibatkan deregistrasi di namespace layanan yang menggunakan penyimpanan persisten, penyedia namespace akan menghapus informasi penyimpanan persisten yang relevan.

[in] lpServiceInfo

Penunjuk ke struktur SERVICE_INFO yang berisi informasi tentang layanan jaringan atau jenis layanan.

[in, optional] lpServiceAsyncInfo

Disiapkan untuk penggunaan masa mendatang. Harus diatur ke NULL.

[out] lpdwStatusFlags

Sekumpulan bendera bit yang menerima informasi status fungsi. Bendera bit berikut didefinisikan:

Nilai Makna
SET_SERVICE_ PARTIAL_SUCCESS
Satu atau beberapa penyedia namespace tidak berhasil melakukan operasi yang diminta.

Nilai kembali

Jika fungsi gagal, nilai yang dikembalikan SOCKET_ERROR. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError. GetLastError dapat mengembalikan nilai kesalahan yang diperluas berikut.

Kode kesalahan Makna
ERROR_ALREADY_ TERDAFTAR
Fungsi ini mencoba mendaftarkan layanan yang sudah terdaftar.

Keterangan

Catatan

Header nspapi.h mendefinisikan SetService sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta praproscessor 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

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header nspapi.h
Pustaka Mswsock.lib
DLL Mswsock.dll

Lihat juga

GetService

SERVICE_INFO

SERVICE_TYPE_INFO_ABS

Fungsi Winsock

Referensi Winsock