次の方法で共有


WSAQUERYSETW 構造体 (winsock2.h)

WSAQUERYSET 構造体は、サービス クラス ID、サービス名、適用可能な名前空間識別子とプロトコル情報、サービスがリッスンするトランスポート アドレスのセットなど、特定のサービスに関する関連情報を提供します。

構文

typedef struct _WSAQuerySetW {
  DWORD         dwSize;
  LPWSTR        lpszServiceInstanceName;
  LPGUID        lpServiceClassId;
  LPWSAVERSION  lpVersion;
  LPWSTR        lpszComment;
  DWORD         dwNameSpace;
  LPGUID        lpNSProviderId;
  LPWSTR        lpszContext;
  DWORD         dwNumberOfProtocols;
  LPAFPROTOCOLS lpafpProtocols;
  LPWSTR        lpszQueryString;
  DWORD         dwNumberOfCsAddrs;
  LPCSADDR_INFO lpcsaBuffer;
  DWORD         dwOutputFlags;
  LPBLOB        lpBlob;
} WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW;

メンバーズ

dwSize

型: DWORD

WSAQUERYSET 構造体のサイズ (バイト単位)。 このメンバーは、WSAQUERYSET 構造体のサイズが新しいバージョンの Windows で変更されたため、バージョン管理メカニズムとして使用されます。

lpszServiceInstanceName

型: LPTSTR

サービス名を含む NULL で終わる省略可能な文字列へのポインター。 文字列内でワイルドカードを使用するためのセマンティクスは定義されていませんが、特定の名前空間プロバイダーでサポートできます。

lpServiceClassId

型: LPGUID

サービス クラスに対応する GUID。 このメンバーを設定する必要があります。

lpVersion

型: LPWSAVERSION

名前空間プロバイダーの必要なバージョン番号 (省略可能) へのポインター。 このメンバーは、バージョン比較セマンティクスを提供します (つまり、要求されたバージョンが正確に一致する必要があります。または、バージョンが指定された値より小さくなければなりません)。

lpszComment

型: LPTSTR

このメンバーはクエリでは無視されます。

dwNameSpace

型: DWORD

クエリを実行する名前空間プロバイダーを決定する名前空間識別子。 特定の名前空間識別子を渡すと、指定した名前空間をサポートする名前空間プロバイダーのみが照会されます。 NS_ALL を指定すると、すべてのインストール済みおよびアクティブな名前空間プロバイダーが照会されます。

dwNameSpace メンバーのオプションは、Winsock2.h インクルード ファイルに一覧表示されます。 Windows Vista 以降には、いくつかの新しい名前空間プロバイダーが含まれています。 他の名前空間プロバイダーをインストールできるため、次の使用可能な値は一般的に使用可能な値のみです。 その他の多くの値が可能です。

価値 意味
NS_ALL
すべてのインストール済み名前空間とアクティブな名前空間。
NS_BTH
Bluetooth名前空間。 この名前空間識別子は、Windows Vista 以降でサポートされています。
NS_DNS
ドメイン ネーム システム (DNS) 名前空間。
NS_EMAIL
電子メール名前空間。 この名前空間識別子は、Windows Vista 以降でサポートされています。
NS_NLA
ネットワークロケーション認識 (NLA) 名前空間。 この名前空間識別子は、Windows XP 以降でサポートされています。
NS_PNRPNAME
特定のピア名のピアツーピア名前空間。 この名前空間識別子は、Windows Vista 以降でサポートされています。
NS_PNRPCLOUD
ピア名のコレクションのピアツーピア名前空間。 この名前空間識別子は、Windows Vista 以降でサポートされています。

lpNSProviderId

型: LPGUID

NS_DNSなど、1 つの名前空間に複数の名前空間プロバイダーが登録されている場合にクエリを実行する、特定の名前空間プロバイダーの省略可能な GUID へのポインター。 特定の名前空間プロバイダーの GUID を渡すと、指定した名前空間プロバイダーのみがクエリされます。 WSAEnumNameSpaceProviders および WSAEnumNameSpaceProvidersEx 関数 を呼び出して、名前空間プロバイダーの GUID を取得できます。

lpszContext

型: LPTSTR

階層型名前空間内のクエリの省略可能な開始点へのポインター。

dwNumberOfProtocols

型: DWORD

プロトコル制約配列のサイズ (バイト単位)。 このメンバーには 0 を指定できます。

lpafpProtocols

型: LPAFPROTOCOLS

AFPROTOCOLS 構造体 省略可能な配列へのポインター。 これらのプロトコルを利用するサービスのみが返されます。

lpszQueryString

型: LPTSTR

NULL で終わる省略可能なクエリ文字列へのポインター。 Whois++ などの一部の名前空間では、単純なテキスト文字列に含まれる強化された SQL のようなクエリがサポートされています。 このパラメーターは、その文字列を指定するために使用されます。

dwNumberOfCsAddrs

型: DWORD

このメンバーはクエリでは無視されます。

lpcsaBuffer

型: LPCSADDR_INFO

このメンバーはクエリでは無視されます。

dwOutputFlags

型: DWORD

このメンバーはクエリでは無視されます。

lpBlob

型: LPBLOB

プロバイダー固有の名前空間情報のクエリまたは設定に使用されるデータへの省略可能なポインター。 この情報の形式は、名前空間プロバイダーに固有です。

備考

WSAQUERYSET 構造体は、Windows 95 以降で使用できる元の名前空間プロバイダー バージョン 1 アーキテクチャの一部として使用されます。 新しいバージョン 2 の名前空間アーキテクチャは、Windows Vista 以降で使用できます。

ほとんどの場合、特定のトランスポート プロトコルのみに関心があるアプリケーションでは、名前空間ではなくアドレス ファミリとプロトコルによってクエリを制限する必要があります。 これにより、たとえば、TCP/IP サービスを検索する必要があるアプリケーションは、ローカル ホスト ファイル、DNS、NIS など、使用可能なすべての名前空間でクエリを処理できます。

手記

winsock2.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして WSAQUERYSET を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows 2000 Server [デスクトップ アプリのみ]
ヘッダー winsock2.h

関連項目

Bluetooth および WSAQUERYSET for Device Inquiry

Bluetooth および WSAQUERYSET for Service Inquiry

Set Service の Bluetooth と WSAQUERYSET の

WSAEnumNameSpaceProviders の

WSAEnumNameSpaceProvidersEx の

WSALookupServiceBegin の

WSALookupServiceNext の

WSAQUERYSET2

WSASetService の