次の方法で共有


WSAEnumNameSpaceProvidersExW 関数 (winsock2.h)

WSAEnumNameSpaceProvidersEx 関数は、使用可能な名前空間プロバイダーに関する情報を取得します。

構文

INT WSAAPI WSAEnumNameSpaceProvidersExW(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXW lpnspBuffer
);

パラメーター

[in, out] lpdwBufferLength

入力時に、 lpnspBuffer が指すバッファーに含まれるバイト数。 出力時 (関数が失敗し、エラーが WSAEFAULT の場合)、 lpnspBuffer バッファーに割り当てる最小バイト数を指定して、要求されたすべての情報を取得できるようにします。 WSAEnumNameSpaceProvidersEx に渡されるバッファーは、すべての名前空間情報を保持するのに十分である必要があります。

[out] lpnspBuffer

WSANAMESPACE_INFOEX構造体が格納されたバッファー。 返される構造体は、バッファーの先頭に連続して配置されます。 構造体内のポインターによって参照される可変サイズの情報は、固定サイズの構造体の末尾とバッファーの末尾の間にあるバッファー内の場所を指します。 入力された構造体の数は、 WSAEnumNameSpaceProvidersEx の戻り値です。

戻り値

WSAEnumNameSpaceProvidersEx 関数は、lpnspBuffer にコピーされたWSANAMESPACE_INFOEX構造体の数を返します。 それ以外の場合は、SOCKET_ERROR値が返され、 WSAGetLastError を呼び出すことによって特定のエラー番号を取得できます。

エラー コード 意味
WSAEFAULT
lpnspBuffer パラメーターが NULL ポインターであるか、バッファー長 lpdwBufferLength が小さすぎて、関連するすべてのWSANAMESPACE_INFOEX構造体と関連情報を受信できませんでした。 このエラーが返されると、 lpdwBufferLength パラメーターで必要なバッファー長が返されます。
WSANOTINITIALIZED
WS2_32.DLL が初期化されていません。 アプリケーションは、Windows ソケット関数を呼び出す前に、まず WSAStartup を呼び出す必要があります。
WSA_NOT_ENOUGH_MEMORY
操作を実行するためのメモリが不足していました。

注釈

WSAEnumNameSpaceProvidersEx 関数は、WSAEnumNameSpaceProviders 関数の拡張バージョンです。 lpProviderInfo パラメーターで WSCInstallNameSpaceEx 関数に渡される名前空間エントリに関連付けられているプロバイダー固有のデータ BLOB は、WSAEnumNameSpaceProvidersEx 関数を使用してクエリを実行できます。

現在、WSANAMESPACE_INFOEX構造体の ProviderSpecific メンバーに情報を設定する Windows に含まれる名前空間プロバイダーは、 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 ストア アプリでサポートされています。

注意

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

要件

要件
サポートされている最小のクライアント Windows 8.1、Windows Vista [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー winsock2.h
Library Ws2_32.lib
[DLL] Ws2_32.dll

こちらもご覧ください

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOEX

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpaceEx32