WSCEnumNameSpaceProviders32 関数 (ws2spi.h)

WSCEnumNameSpaceProviders32 関数は、使用可能な 32 ビット名前空間プロバイダーに関する情報を返します。

メモ この呼び出しは、64 ビット プラットフォームで使用する WSAEnumNameSpaceProviders の厳密な 32 ビット バージョンです。 64 ビット プロセスが 32 ビット カタログにアクセスできるように提供されています。

 

構文

INT WSAAPI WSCEnumNameSpaceProviders32(
  [in, out] LPDWORD              lpdwBufferLength,
  [out]     LPWSANAMESPACE_INFOW lpnspBuffer
);

パラメーター

[in, out] lpdwBufferLength

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

[out] lpnspBuffer

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

戻り値

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

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

注釈

WSCEnumNameSpaceProviders32 は、厳密には 32 ビット バージョンの WSAEnumNameSpaceProviders です。 64 ビット コンピューターでは、32 ビット以外のすべての呼び出し (たとえば、"32" で終わっていないすべての関数) は、ネイティブの 64 ビット カタログで動作します。 64 ビット コンピューターで実行されるプロセスでは、特定の 32 ビット関数呼び出しを使用して、厳密に 32 ビット カタログを操作し、互換性を維持する必要があります。 特定の 32 ビット呼び出しの定義とセマンティクスは、ネイティブの呼び出しと同じです。

32 ビット SPI 関数は、"非表示" 名前空間プロバイダーの概念がないため、ネイティブ API 関数 (WSAEnumNameSpaceProviders) と同等です。

WSCEnumNameSpaceProviders32 関数は Unicode のみの関数であり、WSANAMESPACE_INFOEXW構造体を返します。

要件

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

こちらもご覧ください

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOW

WSCInstallNameSpace32

WSCInstallNameSpaceEx32