Fungsi GetServiceA (nspapi.h)
Fungsi GetService mengambil informasi tentang layanan jaringan dalam konteks sekumpulan namespace default atau namespace yang ditentukan. Layanan jaringan ditentukan oleh jenis dan namanya. Informasi tentang layanan diperoleh sebagai sekumpulan struktur data NS_SERVICE_INFO.
Sintaksis
INT GetServiceA(
[in] DWORD dwNameSpace,
[in] LPGUID lpGuid,
[in] LPSTR lpServiceName,
[in] DWORD dwProperties,
[out] LPVOID lpBuffer,
[in, out] LPDWORD lpdwBufferSize,
[in, optional] LPSERVICE_ASYNC_INFO lpServiceAsyncInfo
);
Parameter
[in] dwNameSpace
Namespace layanan, atau sekumpulan namespace default, yang harus dikueri sistem operasi untuk informasi tentang layanan jaringan yang ditentukan.
Gunakan salah satu konstanta berikut untuk menentukan namespace layanan.
Sebagian besar panggilan ke GetService harus menggunakan nilai khusus NS_DEFAULT. Ini memungkinkan klien mendapatkan dengan tanpa mengetahui namespace yang tersedia di internetwork. Administrator sistem menentukan akses namespace layanan. Namespace dapat datang dan pergi tanpa klien harus mengetahui perubahan.
[in] lpGuid
Penunjuk ke pengidentifikasi unik global (GUID) yang menentukan jenis layanan jaringan. File header
File header
[in] lpServiceName
Penunjuk ke string yang dihentikan nol yang secara unik mewakili nama layanan. Misalnya, "MY SNA SERVER."
[in] dwProperties
Sekumpulan bendera bit yang menentukan informasi layanan yang diambil fungsi. Masing-masing konstanta bendera bit ini, selain PROP_ALL, sesuai dengan anggota tertentu dari struktur data SERVICE_INFO. Jika bendera diatur, fungsi menempatkan informasi ke dalam anggota struktur data yang sesuai yang disimpan di *lpBuffer. Bendera bit berikut didefinisikan.
[out] lpBuffer
Penunjuk ke buffer untuk menerima array struktur NS_SERVICE_INFO dan informasi layanan terkait. Setiap struktur NS_SERVICE_INFO berisi informasi layanan dalam konteks namespace tertentu. Perhatikan bahwa jika dwNameSpace NS_DEFAULT, fungsi menyimpan lebih dari satu struktur ke dalam buffer; jika tidak, hanya satu struktur yang disimpan.
Setiap struktur NS_SERVICE_INFO berisi struktur SERVICE_INFO. Anggota struktur
Fungsi ini menyimpan struktur NS_SERVICE_INFO dalam array berturut-turut, dimulai di awal buffer. Penunjuk dalam struktur SERVICE_INFO yang terkandung menunjuk ke informasi yang disimpan dalam buffer antara akhir struktur NS_SERVICE_INFO dan akhir buffer.
[in, out] lpdwBufferSize
Penunjuk ke variabel yang, pada input, berisi ukuran, dalam byte, dari buffer yang diacu oleh lpBuffer. Pada output, variabel ini berisi jumlah byte yang diperlukan untuk menyimpan informasi yang diminta. Jika nilai output ini lebih besar dari nilai input, fungsi telah gagal karena ukuran buffer yang tidak mencukup.
[in, optional] lpServiceAsyncInfo
Dicadangkan untuk digunakan di masa mendatang. Harus diatur keNULL
Mengembalikan nilai
Jika fungsi berhasil, nilai pengembalian adalah jumlah struktur NS_SERVICE_INFO yang disimpan dalam *lpBuffer. Zero menunjukkan bahwa tidak ada struktur yang disimpan.
Jika fungsi gagal, nilai pengembalian adalah SOCKET_ERROR ( – 1). Untuk mendapatkan informasi kesalahan yang diperluas, panggil GetLastError, yang mengembalikan salah satu nilai kesalahan yang diperluas berikut.
Kode kesalahan | Arti |
---|---|
|
Buffer yang ditujukkan oleh lpBuffer terlalu kecil untuk menerima semua informasi yang diminta. Panggil fungsi dengan buffer setidaknya sebesar nilai yang dikembalikan dalam *lpdwBufferSize. |
|
Layanan yang ditentukan tidak ditemukan, atau namespace yang ditentukan tidak digunakan. Nilai pengembalian fungsi adalah nol dalam kasus ini. |
Komentar
Nota
Header nspapi.h mendefinisikan GetService sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor 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 |
nspapi.h |
Pustaka |
Mswsock.lib |
DLL |
Mswsock.dll |
Lihat juga
SetService
Referensi