WSAQUERYSET2A構造体 (winsock2.h)

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

構文

typedef struct _WSAQuerySet2A {
  DWORD         dwSize;
  LPSTR         lpszServiceInstanceName;
  LPWSAVERSION  lpVersion;
  LPSTR         lpszComment;
  DWORD         dwNameSpace;
  LPGUID        lpNSProviderId;
  LPSTR         lpszContext;
  DWORD         dwNumberOfProtocols;
  LPAFPROTOCOLS lpafpProtocols;
  LPSTR         lpszQueryString;
  DWORD         dwNumberOfCsAddrs;
  LPCSADDR_INFO lpcsaBuffer;
  DWORD         dwOutputFlags;
  LPBLOB        lpBlob;
} WSAQUERYSET2A, *PWSAQUERYSET2A, *LPWSAQUERYSET2A;

メンバー

dwSize

型: DWORD

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

lpszServiceInstanceName

種類: LPTSTR

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

lpVersion

型: LPWSAVERSION

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

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

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

解説

WSAQUERYSET2構造体は、Windows Vista 以降で使用できる名前空間サービス プロバイダー バージョン 2 (NSPv2) アーキテクチャの一部として使用されます。

Windows Vista および Windows Server 2008 では、 WSAQUERYSET2 構造体は、NS_EMAIL名前空間プロバイダーでの操作にのみ使用できます。

注意

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

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header winsock2.h

関連項目

WSAEnumNameSpaceProviders

WSAEnumNameSpaceProvidersEx

WSASetService