Bagikan melalui


PNRP dan WSALookupServiceNext

PNRP menggunakan fungsi WSALookupServiceNext untuk mencocokkan kueri yang ditentukan dalam panggilan sebelumnya ke WSALookupServiceBegin. Hasil fungsi WSALookupServiceNext ditentukan oleh pengaturan dalam struktur WSAQUERYSET yang diteruskan dalam panggilan fungsi WSALookupServiceBegin awal. Fungsi ini digunakan untuk melakukan dua fungsi berikut:

  • Mengatasi nama serekan ke daftar alamat
  • Menghitung cloud jaringan

Dengan menggunakan WSANSPIoctl, layanan pencarian dapat digunakan secara asinkron. Untuk informasi tentang menggunakan fungsi layanan pencarian secara asinkron, lihat PNRP dan WSANSPIoctl.

Fungsi WSALookupServiceNext memblokir bahkan jika WSANSPIoctl dipanggil. Sebelum memanggil WSALookupServiceNext, aplikasi harus menunggu hingga menerima pemberitahuan—jika pemblokiran adalah masalah.

Mengatasi Nama Serekan ke Daftar Alamat

Saat menyelesaikan nama serekan ke daftar alamat, struktur LPWSAQUERYSET yang dikembalikan dalam parameter lpqsResults berisi nilai berikut:

dwSize

Mengembalikan ukuran struktur.

lpszServiceInstanceName

Mengembalikan nama serekan—jika LUP_RETURN_NAME, LUP_RETURN_ALL, atau NULL ditentukan.

lpServiceClassID

Mengembalikan SVCID_PNRPNAME.

lpVersion

Mengembalikan NULL.

lpszComment

Mengembalikan komentar—jika LUP_RETURN_COMMENT, LUP_RETURN_ALL, atau NULL ditentukan.

dwNameSpace

Mengembalikan NS_PNRPNAME.

lpNSProviderID

Mengembalikan NS_PROVIDER_PNRPNAME.

lpszContext

Mengembalikan nama cloud jika LUP_RETURN_NAME, LUP_RETURN_ALL, atau NULL ditentukan.

dwNumberOfProtocols

Mengembalikan nol (0).

lpszQueryString

Mengembalikan NULL.

dwNumberOfCsAddrs

Mengembalikan jumlah entri dalam array CSADDR_INFO jika LUP_RETURN_ADDR, LUP_RETURN_ALL, atau NULL ditentukan. Nilai ini dan informasi dalam lpcsaBuffer adalah bit kunci informasi yang dikembalikan dalam struktur ini.

lpcsaBuffer

Mengembalikan penunjuk ke array struktur CSADDR_INFO jika LUP_RETURN_ADDR, LUP_RETURN_ALL, atau NULL ditentukan. Buffer ini dan nilai dalam dwNumberOfCsAddrs adalah bit informasi utama yang dikembalikan dalam struktur ini.

dwOutputFlags

Mengembalikan nol (0).

lpBlob

Mengembalikan NULL.

Menghitung Cloud Jaringan

Saat menghitung cloud, struktur LPWSAQUERYSET yang dikembalikan dalam parameter lpqsResults berisi nilai berikut:

dwSize

Mengembalikan ukuran struktur.

lpszServiceInstanceName

Mengembalikan nama cloud—jika LUP_RETURN_NAME, LUP_RETURN_ALL, atau NULL ditentukan.

lpServiceClassID

Mengembalikan SVCID_PNRPCLOUD.

lpVersion

Mengembalikan NULL.

lpszComment

Mengembalikan NULL.

dwNameSpace

Mengembalikan NS_PNRPCLOUD.

lpNSProviderID

Mengembalikan NS_PROVIDER_PNRPCLOUD.

lpszContext

Mengembalikan NULL.

dwNumberOfProtocols

Mengembalikan nol (0).

lpszQueryString

Mengembalikan NULL.

dwNumberOfCsAddrs

Mengembalikan nol (0).

lpcsaBuffer

Mengembalikan NULL.

dwOutputFlags

Mengembalikan nol (0).

lpBlob

Mengembalikan penunjuk ke struktur BLOB yang menunjuk ke struktur PNRPCLOUDINFO —jika LUP_RETURN_BLOB, LUP_RETURN_ALL, atau NULL ditentukan.

Struktur PNRPCLOUDINFO

Saat menghitung nama cloud, nilai berikut dikembalikan dalam struktur PNRPCLOUDINFO :

dwSize

Ukuran struktur ini.

Awan

Nilai cloud aktual.

enCloudState

Status cloud saat ini. PNRP_CLOUD_STATE menentukan nilai yang valid.

enCloudFlags

Menunjukkan bahwa nama cloud valid di jaringan, atau hanya valid pada komputer saat ini. PNRP_CLOUD_FLAGS menentukan nilai yang valid. Beberapa nama cloud valid di komputer mana pun di jaringan yang sama. Nama cloud lainnya hanya valid di komputer saat ini, dan mungkin hanya berlaku untuk jangka waktu tertentu.

  • Jika enCloudFlags diatur ke PNRP_CLOUD_NAME_LOCAL, namanya hanya valid secara lokal.
  • Jika enCloudFlags tidak diatur, maka nama cloud dapat ditransfer ke komputer lain.

PNRP dan BLOB

PNRP dan WSALookupServiceEnd

PNRP dan WSANSPIoctl

PNRP dan WSAQUERYSET

PNRPCLOUDINFO

PNRPINFO

Kode Kesalahan NSP PNRP

WSALookupServiceBegin