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 以降には、いくつかの新しい名前空間プロバイダーが含まれています。 他の名前空間プロバイダーをインストールできるため、次の使用可能な値は一般的に使用可能な値のみです。 その他の多くの値が可能です。
lpNSProviderId
型: LPGUID
NS_DNSなど、1 つの名前空間に複数の名前空間プロバイダーが登録されている場合にクエリを実行する、特定の名前空間プロバイダーの省略可能な GUID へのポインター。 特定の名前空間プロバイダーの 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 の
WSASetService の