共用方式為


PNRP 和 WSANSPIoctl

PNRP 使用 WSANSPIoctl 函式來接收下列變更的相關通知:

  • 網路雲端清單
  • 名稱解析要求的結果可用性

第一次呼叫 WSALookupServiceBegin 會定義用戶端收到通知的資訊類型。 用戶端可以透過 Windows 訊息、完成常式、WSAEVENT 物件的控制碼或埠來通知。 如需選項和設定 lpCompletion 參數的詳細資訊,請參閱 WSANSPIoctl

若要在呼叫 WSALookupServiceNext之後繼續接收通知,應用程式必須再次呼叫 WSANSPIoctl

即使呼叫WSANSPIoctlWSALookupServiceNext函式仍會封鎖。 呼叫 WSALookupServiceNext之前,應用程式必須等到收到通知,如果封鎖是問題。

呼叫此函式時,參數必須具有下列值:

hLookup

指定 WSALookupServiceBegin 傳回的控制碼。

dwControlCode

必須是 SIO_NSP_NOTIFY_CHANGE

lpvInBuffer

必須是 Null

cbInBuffer

必須是零 (0) 。

lpvOutBuffer

必須是 Null

cbOutBuffer

必須是零 (0) 。

lBytesReturned

必須是 Null

lpCompletion

指定 NullWSACOMPLETION 結構的指標。

收到通知之後,請呼叫 WSALookupServiceNext 一次以取得結果。

若要結束搜尋,請呼叫 WSALookupServiceEnd

解決通知

每當新增名稱解析專案時,即可通知用戶端。 用戶端接著會呼叫 WSALookupServiceNext 以取得解析資料。

如果用戶端未使用此技術,則可以封鎖對 WSALookupServiceNext 的呼叫,直到發生指定的逾時為止。

雲端清單通知

每當有一組雲端變更時,用戶端都可以收到通知。

WSALookupServiceNext函式會傳回WSA_E_NO_MORE做為集合分隔符號。 用戶端應用程式必須列舉現有的雲端,直到傳回此訊息為止,然後使用通知配置來擷取後續的變更。 用戶端應用程式也可以呼叫 WSALookupServiceNext,但呼叫會遭到封鎖,直到發生變更為止。

WSALookupServiceNext函式會傳回WSAQUERYSET結構中的雲端。 下列其中一個旗標會在 dwOutputFlags 成員中傳回。

Description
RESULT_IS_ADDED 會新增傳回的雲端。
RESULT_IS_CHANGED 傳回的雲端已變更。
RESULT_IS_DELETED 傳回的雲端已刪除且無效。

 

PNRP 和 WSALookupServiceBegin

PNRP 和 WSALookupServiceEnd

PNRP 和 WSAQUERYSET

PNRP NSP 錯誤碼

WSANSPIoctl

WSALookupServiceBegin

WSALookupServiceEnd

WSAQUERYSET