WSCEnumNameSpaceProvidersEx32 関数 (ws2spi.h)
WSCEnumNameSpaceProvidersEx32 関数は、使用可能な 32 ビット名前空間プロバイダーに関する情報を取得します。
構文
INT WSAAPI WSCEnumNameSpaceProvidersEx32(
[in, out] LPDWORD lpdwBufferLength,
[out] LPWSANAMESPACE_INFOEXW lpnspBuffer
);
パラメーター
[in, out] lpdwBufferLength
入力時に、 lpnspBuffer が指すバッファーに含まれるバイト数。 出力時 (関数が失敗し、エラーが WSAEFAULT の場合)、 lpnspBuffer バッファーに割り当てる最小バイト数を指定して、要求されたすべての情報を取得できるようにします。 WSCEnumNameSpaceProvidersEx32 に渡されるバッファーは、すべての名前空間情報を保持するのに十分である必要があります。
[out] lpnspBuffer
WSANAMESPACE_INFOEXW構造体が格納されたバッファー。 返される構造体は、バッファーの先頭に連続して配置されます。 構造体内のポインターによって参照される可変サイズの情報は、固定サイズの構造体の末尾とバッファーの末尾の間にあるバッファー内の場所を指します。 入力された構造体の数は、 WSCEnumNameSpaceProvidersEx32 の戻り値です。
戻り値
WSCEnumNameSpaceProvidersEx32 関数は、lpnspBuffer にコピーされたWSANAMESPACE_INFOEXW構造体の数を返します。 それ以外の場合は、SOCKET_ERROR値が返され、 WSAGetLastError を呼び出すことによって特定のエラー番号を取得できます。
エラー コード | 意味 |
---|---|
バッファー長が小さすぎて、関連するすべての WSANAMESPACE_INFOEXW 構造体と関連情報を受け取れなかったか、 lpnspBuffer パラメーターが **NULL** ポインターでした。 このエラーが返されると、 lpdwBufferLength パラメーターで必要なバッファー長が返されます。 | |
WS2_32.DLL が初期化されていません。 アプリケーションは、Windows ソケット関数を呼び出す前に、まず WSAStartup を呼び出す必要があります。 | |
操作を実行するためのメモリが不足していました。 |
注釈
WSCEnumNameSpaceProvidersEx32 は、 WSAEnumNameSpaceProvidersEx の厳密な 32 ビット バージョンです。 64 ビット コンピューターでは、特に 32 ビットではないすべての呼び出し (たとえば、"32" で終わっていないすべての関数) は、ネイティブの 64 ビット カタログで動作します。 64 ビット コンピューターで実行されるプロセスでは、特定の 32 ビット関数呼び出しを使用して、厳密に 32 ビット カタログで動作し、互換性を維持する必要があります。 特定の 32 ビット呼び出しの定義とセマンティクスは、ネイティブの呼び出しと同じです。
現在、WSANAMESPACE_INFOEXW構造体の ProviderSpecific メンバーの情報を使用する Windows に含まれる名前空間は、 NS_EMAIL 名前空間の名前空間プロバイダーのみです。 NS_EMAIL名前空間プロバイダーの ProviderSpecific メンバーの形式は、 NAPI_PROVIDER_INSTALLATION_BLOB 構造体です。
32 ビット SPI 関数は、"hidden" 名前空間プロバイダーの概念がないため、ネイティブ API 関数 (WSAEnumNameSpaceProvidersEx) と同じです。
lpProviderInfo パラメーターで WSCInstallNameSpaceEx32 関数に渡される名前空間エントリに関連付けられているプロバイダー固有のデータ BLOB は、WSCEnumNameSpaceProvidersEx32 関数を使用して照会できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ws2spi.h |
Library | Ws2_32.lib |
[DLL] | Ws2_32.dll |