Struktur WSAQUERYSETW (winsock2.h)

Struktur WSAQUERYSET menyediakan informasi yang relevan tentang layanan tertentu, termasuk ID kelas layanan, nama layanan, pengidentifikasi namespace layanan dan informasi protokol yang berlaku, serta sekumpulan alamat transportasi tempat layanan mendengarkan.

Sintaks

typedef struct _WSAQuerySetW {
  DWORD         dwSize;
  LPWSTR        lpszServiceInstanceName;
  LPGUID        lpServiceClassId;
  LPWSAVERSION  lpVersion;
  LPWSTR        lpszComment;
  DWORD         dwNameSpace;
  LPGUID        lpNSProviderId;
  LPWSTR        lpszContext;
  DWORD         dwNumberOfProtocols;
  LPAFPROTOCOLS lpafpProtocols;
  LPWSTR        lpszQueryString;
  DWORD         dwNumberOfCsAddrs;
  LPCSADDR_INFO lpcsaBuffer;
  DWORD         dwOutputFlags;
  LPBLOB        lpBlob;
} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;

Anggota

dwSize

Jenis: DWORD

Ukuran, dalam byte, dari struktur WSAQUERYSET . Anggota ini digunakan sebagai mekanisme penerapan versi karena ukuran struktur WSAQUERYSET telah berubah pada versi Windows yang lebih baru.

lpszServiceInstanceName

Jenis: LPTSTR

Penunjuk ke string opsional yang dihentikan NULL yang berisi nama layanan. Semantik untuk menggunakan kartubebas dalam string tidak ditentukan, tetapi dapat didukung oleh penyedia namespace layanan tertentu.

lpServiceClassId

Jenis: LPGUID

GUID yang sesuai dengan kelas layanan. Anggota ini harus ditetapkan.

lpVersion

Jenis: LPWSAVERSION

Penunjuk ke nomor versi opsional yang diinginkan dari penyedia namespace layanan. Anggota ini menyediakan semantik perbandingan versi (yaitu, versi yang diminta harus sama persis, atau versi tidak boleh kurang dari nilai yang disediakan).

lpszComment

Jenis: LPTSTR

Anggota ini diabaikan untuk kueri.

dwNameSpace

Jenis: DWORD

Pengidentifikasi namespace yang menentukan penyedia namespace layanan mana yang dikueri. Meneruskan pengidentifikasi namespace tertentu hanya akan menghasilkan penyedia namespace yang mendukung namespace yang ditentukan yang sedang dikueri. Menentukan NS_ALL akan mengakibatkan semua penyedia namespace layanan yang terinstal dan aktif sedang dikueri.

Opsi untuk anggota dwNameSpace tercantum dalam file sertakan Winsock2.h . Beberapa penyedia namespace layanan baru disertakan dengan Windows Vista dan yang lebih baru. Penyedia namespace layanan lain dapat diinstal, sehingga nilai yang mungkin berikut ini hanyalah yang umumnya tersedia. Banyak nilai lain yang dimungkinkan.

Nilai Makna
NS_ALL
Semua namespace layanan yang terinstal dan aktif.
NS_BTH
Namespace Bluetooth. Pengidentifikasi namespace ini didukung pada Windows Vista dan yang lebih baru.
NS_DNS
Namespace layanan sistem nama domain (DNS).
NS_EMAIL
Namespace email. Pengidentifikasi namespace ini didukung pada Windows Vista dan yang lebih baru.
NS_NLA
Namespace layanan kesadaran lokasi jaringan (NLA). Pengidentifikasi namespace ini didukung pada Windows XP dan yang lebih baru.
NS_PNRPNAME
Ruang nama peer-to-peer untuk nama serekan tertentu. Pengidentifikasi namespace ini didukung pada Windows Vista dan yang lebih baru.
NS_PNRPCLOUD
Ruang nama peer-to-peer untuk kumpulan nama serekan. Pengidentifikasi namespace ini didukung pada Windows Vista dan yang lebih baru.

lpNSProviderId

Jenis: LPGUID

Penunjuk ke GUID opsional dari penyedia namespace layanan tertentu untuk dikueri dalam kasus di mana beberapa penyedia namespace terdaftar di bawah namespace layanan tunggal seperti NS_DNS. Meneruskan GUID untuk penyedia namespace layanan tertentu hanya akan mengakibatkan penyedia namespace yang ditentukan yang dikueri. Fungsi WSAEnumNameSpaceProviders dan WSAEnumNameSpaceProvidersEx dapat dipanggil untuk mengambil GUID untuk penyedia namespace layanan.

lpszContext

Jenis: LPTSTR

Penunjuk ke titik awal kueri opsional dalam namespace hierarkis.

dwNumberOfProtocols

Jenis: DWORD

Ukuran, dalam byte, dari array batasan protokol. Anggota ini bisa nol.

lpafpProtocols

Jenis: LPAFPROTOCOLS

Penunjuk ke array opsional struktur AFPROTOCOLS . Hanya layanan yang menggunakan protokol ini yang akan dikembalikan.

lpszQueryString

Jenis: LPTSTR

Penunjuk ke string kueri opsional yang dihentikan NULL. Beberapa namespace, seperti Whois++, mendukung kueri seperti SQL yang diperkaya yang terkandung dalam string teks sederhana. Parameter ini digunakan untuk menentukan string tersebut.

dwNumberOfCsAddrs

Jenis: DWORD

Anggota ini diabaikan untuk kueri.

lpcsaBuffer

Jenis: LPCSADDR_INFO

Anggota ini diabaikan untuk kueri.

dwOutputFlags

Jenis: DWORD

Anggota ini diabaikan untuk kueri.

lpBlob

Jenis: LPBLOB

Penunjuk opsional ke data yang digunakan untuk mengkueri atau mengatur informasi namespace khusus penyedia. Format informasi ini khusus untuk penyedia namespace layanan.

Keterangan

Struktur WSAQUERYSET digunakan sebagai bagian dari arsitektur penyedia namespace asli versi 1 yang tersedia di Windows 95 dan yang lebih baru. Arsitektur namespace layanan versi 2 yang lebih baru tersedia di Windows Vista dan yang lebih baru.

Dalam kebanyakan kasus, aplikasi yang hanya tertarik pada protokol transportasi tertentu harus membatasi kueri mereka berdasarkan keluarga alamat dan protokol daripada dengan namespace layanan. Ini akan memungkinkan aplikasi yang perlu menemukan layanan TCP/IP, misalnya, agar kuerinya diproses oleh semua namespace yang tersedia seperti file host lokal, DNS, dan NIS.

Catatan

Header winsock2.h mendefinisikan WSAQUERYSET 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

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header winsock2.h

Lihat juga

Bluetooth dan WSAQUERYSET untuk Pertanyaan Perangkat

Bluetooth dan WSAQUERYSET untuk Pertanyaan Layanan

Bluetooth dan WSAQUERYSET untuk Set Service

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSALookupServiceBegin

WSALookupServiceNext

WSAQUERYSET2

WSASetService