共用方式為


WSCEnumNameSpaceProviders32 函式 (ws2spi.h)

WSCEnumNameSpaceProviders32 函式會傳回可用 32 位命名空間提供者的相關信息。

注意 此呼叫是嚴格 32 位版本的 WSAEnumNameSpaceProviders ,可用於 64 位平臺上。 它提供來允許 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 參數中會傳回所需的緩衝區長度。
WSANOTINITIALISED
WS2_32.DLL 尚未初始化。 應用程式必須先呼叫 WSAStartup ,才能呼叫任何 Windows Sockets 函式。
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
程式庫 Ws2_32.lib
Dll Ws2_32.dll

另請參閱

WSAEnumNameSpaceProviders

WSANAMESPACE_INFOW

WSCInstallNameSpace32

WSCInstallNameSpaceEx32