サービス クエリ

ネーム サービス クエリには、 NSPLookupServiceBegin、NSPLookupServiceNext の 1 つ以上の呼び出し、 NSPLookupServiceEnd の呼び出しで終わる一連の呼び出し 含まれます。 NSPLookupServiceBegin は、検索操作をさらに制御するためのフラグのセットと共にクエリ パラメーターを定義するために、 WSAQUERYSET 構造体を入力として受け取ります。 NSPLookupServiceNext と NSPLookupServiceEnd の後続の呼び出しで使用されるクエリ ハンドルを返します

名前空間 SPI クライアントは 、NSPLookupServiceNext を呼び出してクエリ結果を取得し、結果はクライアント提供の WSAQUERYSET バッファーに指定されます。 クライアントは、すべての結果が取得されたことを示すエラー コード WSA_E_NO_MOREが返されるまで NSPLookupServiceNext を呼び出し続けます。 その後、 NSPLookupServiceEnd の呼び出しによって検索が終了します。 NSPLookupServiceEnd 関数を使用して、別のスレッドから呼び出されたときに、現在保留中の NSPLookupServiceNext を取り消すこともできます。

Windows ソケット 2 では、WSAENOMORE (10102) と WSA_E_NO_MORE (10110) に対して競合するエラー コードが定義されています。 エラー コード WSAENOMORE は将来のバージョンで削除され、WSA_E_NO_MOREのみが残ります。 名前空間プロバイダーは、可能な限り幅広いアプリケーションとの互換性を維持するために、できるだけ早くWSA_E_NO_MOREエラー コードの使用に切り替える必要があります。