共用方式為


WSCInstallNameSpaceEx32 函式 (ws2spi.h)

WSCInstallNameSpaceEx32 函式會安裝指定的 32 位命名空間提供者。 對於能夠支援多個名稱空格的提供者,每個支援的命名空間都必須呼叫此函式,而且每次都必須提供唯一的提供者識別符。

**注意** 此呼叫是嚴格 32 位版本的 WSCInstallNameSpaceEx32 ,可用於 64 位平臺上。 它提供來允許 64 位進程存取 32 位目錄。
 

語法

INT WSCInstallNameSpaceEx32(
  [in] LPWSTR lpszIdentifier,
  [in] LPWSTR lpszPathName,
  [in] DWORD  dwNameSpace,
  [in] DWORD  dwVersion,
  [in] LPGUID lpProviderId,
  [in] LPBLOB lpProviderSpecific
);

參數

[in] lpszIdentifier

字串的指標,識別與 lpProviderId 參數中傳遞的全域唯一標識符相關聯的提供者 (GUI) D。

[in] lpszPathName

Unicode 字串的指標,其中包含提供者 DLL 的載入路徑。 此字串會觀察路徑解析的一般規則,而且可以包含內嵌的環境字串 (,例如 %SystemRoot%) 。 當 Ws2_32.dll 之後必須代表應用程式載入提供者 DLL 時,就會展開這類環境字串。 展開任何內嵌的環境字串之後,Ws2_32.dll 會將產生的字串傳遞至 LoadLibrary 函式 ,以將提供者載入記憶體中。 如需詳細資訊,請參閱 LoadLibrary

[in] dwNameSpace

此提供者支援的命名空間。

[in] dwVersion

提供者的版本號碼。

[in] lpProviderId

提供者 GUID 的指標。 此 GUID 應該由 Uuidgen.exe 產生。

[in] lpProviderSpecific

與命名空間項目相關聯的提供者特定數據 Blob。

傳回值

如果沒有發生錯誤, WSCInstallNameSpaceEx32 函式會傳回 NO_ERROR (零) 。 否則,如果函式失敗,則會傳回 SOCKET_ERROR ,而且您必須使用 WSAGetLastError 函式擷取適當的錯誤碼。

錯誤碼 意義
WSAEACCES
呼叫例程沒有足夠的許可權可安裝命名空間。
WSAEINVAL
一或多個引數無效。
WSANO_RECOVERY
發生無法復原的錯誤。 此錯誤會在數個情況下傳回,包括下列情況:提供者已安裝、使用者缺少寫入 Winsock 登錄所需的系統管理許可權,或建立或安裝類別目錄專案時發生失敗。
WSASYSCALLFAILURE
不應該失敗的系統呼叫失敗。
WSA_NOT_ENOUGH_MEMORY
記憶體不足。 當記憶體不足而無法配置新的目錄專案時,就會傳回此錯誤。

備註

WSCInstallNameSpaceEx32 是嚴格 32 位版本的 WSCInstallNameSpaceEx。 在 64 位電腦上,所有呼叫並非特別 32 位 (,例如,不會以 “32 ) ” 結尾的所有函式都會在原生 64 位目錄上運作。 在 64 位電腦上執行的處理程式必須使用特定的 32 位函式呼叫,以在嚴格 32 位目錄上運作,並保留相容性。 特定32位呼叫的定義和語意與其原生對應專案相同。

命名空間組態函式不會影響已經執行的應用程式。 應用程式不會看到新安裝的名稱空間提供者,也不會顯示名稱空間提供者啟用狀態的變更。 呼叫 WSCInstallNameSpaceEx32 之後啟動的應用程式將會看到變更。

您可以使用 WSCEnumNameSpaceProvidersEx32 函式來查詢與 lpProviderInfo 參數中傳遞之命名空間專案相關聯的提供者特定數據 Blob。

目前,使用 lpProviderInfo 參數的 Windows 隨附的唯一命名空間提供者是NS_EMAIL提供者。 NS_EMAIL命名空間提供者的 lpProviderInfo 參數所指向的緩衝區格式是 NAPI_PROVIDER_INSTALLATION_BLOB 結構。

WSCInstallNameSpaceEx32函式只能由以 Administrators 群組成員身分登入的使用者呼叫。 如果 WSCInstallNameSpaceEx32 是由不是 Administrators 群組成員的使用者呼叫,函式呼叫將會失敗。 對於在 Windows Vista 或 Windows Server 2008 上執行的電腦,此函式也可能因為使用者帳戶控制 (UAC) 而失敗。 如果包含此函式的應用程式是由使用者以系統管理員以外的系統管理員群組成員身分登入來執行,除非應用程式已在指令清單檔中標示為 requestedExecutionLevel 設定為 requireAdministrator,否則此呼叫將會失敗。 如果 Windows Vista 或 Windows Server 2008 上的應用程式缺少此指令清單檔案,則使用者以系統管理員以外的系統管理員群組成員身分登入,則必須在增強的殼層中執行應用程式,因為內建系統管理員 (RunAs 系統管理員) ,此函式才能成功。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 ws2spi.h
程式庫 Ws2_32.lib
Dll Ws2_32.dll

另請參閱

NAPI_PROVIDER_INSTALLATION_BLOB

WSCEnumNameSpaceProviders32

WSCEnumNameSpaceProvidersEx32

WSCInstallNameSpace32

WSCInstallNameSpaceEx

WSCUnInstallNameSpace32