次の方法で共有


WSAEnumNameSpaceProvidersExA 関数 (winsock2.h)

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

構文

INT WSAAPI WSAEnumNameSpaceProvidersExA(
  [in, out] LPDWORD                lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOEXA 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 関数 の拡張バージョンです。 WSCInstallNameSpaceEx 関数に lpProviderInfo パラメーターで渡される名前空間エントリに関連付けられているプロバイダー固有のデータ 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 を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 8.1、Windows Vista [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2008 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー winsock2.h
ライブラリ Ws2_32.lib
DLL Ws2_32.dll

関連項目

NAPI_PROVIDER_INSTALLATION_BLOB

WSAEnumNameSpaceProviders の

WSANAMESPACE_INFOEX

WSCEnumNameSpaceProvidersEx32 の

WSCInstallNameSpaceEx32 の