WSAEnumNameSpaceProvidersExW

利用可能なネームスペースプロバイダに関する情報を取得する。(Unicode)

WSAEnumNameSpaceProvidersExW lpdwBufferLength, lpnspBuffer

lpdwBufferLength : [var] 入力時、lpnspBuffer が指すバッファに含まれるバイト数。出力時 (関数が WSAEFAULT エラーで失敗した場合)、要求したすべての情報を取得するために lpnspBuffer バッファに割り当てる必要がある最小バイト数。WSAEnumNameSpaceProvidersEx に渡すバッファは、すべての名前空間情報を格納するのに十分でなければならない。
lpnspBuffer : [var] WSANAMESPACE_INFOEX 構造体で埋められるバッファ。返される構造体はバッファの先頭に連続して配置される。構造体内のポインタが参照する可変サイズ情報は、固定サイズ構造体の終端とバッファ終端の間の位置を指す。埋められた構造体の数は WSAEnumNameSpaceProvidersEx の戻り値となる。

(プラグイン / モジュール : ws2_32.dll)

解説

利用可能なネームスペースプロバイダに関する情報を取得する。(Unicode)

[戻り値]
WSAEnumNameSpaceProvidersEx 関数は、lpnspBuffer にコピーされた
WSANAMESPACE_INFOEX 構造体の数を返す。そうでない場合は SOCKET_ERROR
を返し、WSAGetLastError を呼び出すことで特定のエラー番号を取得できる。
(以下省略)

[備考]
WSAEnumNameSpaceProvidersEx 関数は WSAEnumNameSpaceProviders
関数の拡張版である。WSCInstallNameSpaceEx 関数の lpProviderInfo
パラメータに渡された名前空間エントリに関連付けられたプロバイダ固有のデータブロブは、WSAEnumNameSpaceProvidersEx
関数で問い合わせることができる。現状、Windows に含まれるネームスペースプロバイダのうち WSANAMESPACE_INFOEX
構造体の ProviderSpecific メンバに情報を設定するのは NS_EMAIL プロバイダのみである。NS_EMAIL
ネームスペースプロバイダの場合、ProviderSpecific メンバの形式は
NAPI_PROVIDER_INSTALLATION_BLOB 構造体である。UNICODE または _UNICODE
が定義されている場合、WSAEnumNameSpaceProvidersEx は Unicode 版の
WSAEnumNameSpaceProvidersExW として定義される。lpnspBuffer パラメータは
LPSAWSANAMESPACE_INFOEXW データ型として定義され、成功時には WSANAMESPACE_INFOEXW
構造体が返される。UNICODE または _UNICODE が定義されていない場合、WSAEnumNameSpaceProvidersEx
は ANSI 版の WSAEnumNameSpaceProvidersExA として定義される。lpnspBuffer パラメータは
LPSAWSANAMESPACE_INFOEXA データ型として定義され、成功時には WSANAMESPACE_INFOEXA
構造体が返される。Windows 8.1 および Windows Server 2012 R2:
WSAEnumNameSpaceProvidersExW 関数は、Windows 8.1、Windows Server 2012 R2
以降の Windows ストアアプリでサポートされる。
> [!NOTE] > winsock2.h ヘッダは、UNICODE プリプロセッサ定数の定義に基づいて本関数の ANSI 版と
Unicode 版を自動的に選択するエイリアスとして WSAEnumNameSpaceProvidersEx
を定義している。エンコーディング中立なエイリアスとエンコーディング中立でないコードを混在させると、コンパイルエラーや実行時エラーを招く不整合が発生しうる。詳しくは
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照。

情報

プラグイン / モジュールws2_32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の ws2_32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_ws2_32_gen2.hs