Bagikan melalui


PNRP dan WSANSPIoctl

PNRP menggunakan fungsiWSANSPIoctluntuk menerima pemberitahuan tentang perubahan pada hal berikut:

  • Daftar cloud jaringan
  • Ketersediaan hasil permintaan resolusi nama

Panggilan pertama ke WSALookupServiceBegin menentukan jenis informasi yang diberitahukan klien. Klien dapat diberi tahu dengan pesan Windows, rutinitas penyelesaian, handel ke objek WSAEVENT, atau port. Untuk informasi selengkapnya tentang opsi dan mengatur parameter lpCompletion, lihat WSANSPIoctl.

Untuk terus menerima pemberitahuan setelah panggilan ke WSALookupServiceNext, aplikasi harus memanggil WSANSPIoctl lagi.

Blok fungsiWSALookupServiceNextbahkan jika WSANSPIoctl dipanggil. Sebelum memanggil WSALookupServiceNext, aplikasi harus menunggu hingga menerima pemberitahuan—jika pemblokiran adalah masalah.

Saat memanggil fungsi ini, parameter harus memiliki nilai berikut:

hLookup

Menentukan handel yang pengembalian WSALookupServiceBegin.

dwControlCode

Harus SIO_NSP_NOTIFY_CHANGE.

lpvInBuffer

Harus null.

cbInBuffer

Harus nol (0).

lpvOutBuffer

Harus null.

cbOutBuffer

Harus nol (0).

lpcbBytesReturned

Harus null.

lpCompletion

Menentukan NULL atau penunjuk ke strukturWSACOMPLETION.

Setelah pemberitahuan diterima, hubungi WSALookupServiceNext satu kali untuk mendapatkan hasilnya.

Untuk mengakhiri pencarian, panggil WSALookupServiceEnd.

Pemberitahuan Resolusi

Klien dapat diberi tahu kapan saja bahwa entri resolusi nama ditambahkan. Klien kemudian memanggil WSALookupServiceNext untuk mendapatkan data resolusi.

Jika klien tidak menggunakan teknik ini, panggilan ke WSALookupServiceNext dapat diblokir hingga batas waktu yang ditentukan terjadi.

Pemberitahuan Daftar Cloud

Klien dapat diberi tahu kapan saja ada perubahan pada sekumpulan cloud.

FungsiWSALookupServiceNextmengembalikan WSA_E_NO_MORE sebagai pemisah yang ditetapkan. Aplikasi klien harus menghitung cloud yang ada hingga pesan ini dikembalikan, lalu menggunakan skema pemberitahuan untuk mengambil perubahan berikutnya saat terjadi. Aplikasi klien juga dapat memanggil WSALookupServiceNext, tetapi panggilan diblokir sampai perubahan terjadi.

FungsiWSALookupServiceNextmengembalikan cloud dalam struktur WSAQUERYSET. Salah satu bendera berikut dikembalikan dalam anggota dwOutputFlags.

Nilai Deskripsi
RESULT_IS_ADDED Cloud yang dikembalikan ditambahkan.
RESULT_IS_CHANGED Cloud yang dikembalikan diubah.
RESULT_IS_DELETED Cloud yang dikembalikan dihapus dan tidak valid.

 

PNRP dan WSALookupServiceBegin

PNRP dan WSALookupServiceEnd

PNRP dan WSAQUERYSET

Kode Kesalahan NSP PNRP

WSANSPIoctl

WSALookupServiceBegin

WSALookupServiceEnd

WSAQUERYSET