服務查詢

名稱服務查詢牽涉到一系列呼叫:NSPLookupServiceBegin,後面接著一或多個對 NSPLookupServiceNext 的呼叫,並以對 NSPLookupServiceEnd的呼叫結尾。 NSPLookupServiceBegin 會採用 WSAQUERYSET 結構做為輸入,以定義查詢參數以及一組旗標,以提供搜尋作業的其他控制權。 它會傳回查詢控制碼,用於 後續對 NSPLookupServiceNextNSPLookupServiceEnd的呼叫。

命名空間 SPI 用戶端會叫用 NSPLookupServiceNext 來取得查詢結果,並在用戶端提供的 WSAQUERYSET 緩衝區中提供結果。 用戶端會繼續呼叫 NSPLookupServiceNext ,直到傳回錯誤碼WSA_E_NO_MORE,指出已擷取所有結果。 搜尋接著會由 對 NSPLookupServiceEnd的呼叫終止。 從另一個執行緒呼叫時,也可以使用 NSPLookupServiceEnd 函式來取消目前擱置的 NSPLookupServiceNext

在 Windows Sockets 2 中,WSAENOMORE (10102) 定義衝突的錯誤碼,WSA_E_NO_MORE (10110) 。 未來版本將會移除錯誤碼 WSAENOMORE,而且只會保留WSA_E_NO_MORE。 命名空間提供者應該儘快切換為使用WSA_E_NO_MORE錯誤碼,以維持與最廣泛的應用程式相容性。