共用方式為


CryptSetProviderExA 函式 (wincrypt.h)

重要 此 API 已被取代。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft在未來版本中可能會移除此 API。
 
CryptSetProviderEx 函式會指定本機電腦或目前使用者所指定提供者類型的預設 密碼編譯服務提供者 (CSP)。
注意 一般應用程式不會使用此函式。 它僅供系統管理應用程式使用。
 

語法

BOOL CryptSetProviderExA(
  [in] LPCSTR pszProvName,
  [in] DWORD  dwProvType,
  [in] DWORD  *pdwReserved,
  [in] DWORD  dwFlags
);

參數

[in] pszProvName

新預設 CSP 的名稱。 這必須是計算機上安裝的 CSP。 如需可用密碼編譯提供者的清單,請參閱 密碼編譯提供者名稱

[in] dwProvType

pszProvName所指定的 CSP 提供者類型。

[in] pdwReserved

此參數保留供日後使用,且必須 NULL

[in] dwFlags

定義下列旗標值。

價值 意義
CRYPT_DELETE_DEFAULT
0x00000004
可與 CRYPT_MACHINE_DEFAULT 或 CRYPT_USER_DEFAULT搭配使用,以刪除預設值。
CRYPT_USER_DEFAULT
0x00000002
指定型別的使用者內容預設 CSP 設定為 。
CRYPT_MACHINE_DEFAULT
0x00000001
指定類型的電腦預設 CSP 設定為 。

傳回值

如果函式成功,則傳回值為非零值(TRUE)。

如果函式失敗,則傳回值為零 (FALSE)。 如需擴充錯誤資訊,請呼叫 getLastError。 可能的錯誤碼包括下表所示的錯誤碼。

傳回碼 描述
ERROR_INVALID_PARAMETER
其中一個參數包含無效的值。 這通常是無效的指標。
ERROR_NOT_ENOUGH_MEMORY
操作系統記憶體不足。

言論

大部分的應用程式在呼叫 cryptAcquireContext 函式時,不會指定 CSP 名稱;不過,應用程式可以指定 CSP 名稱,藉此選取具有適當安全性層級的 CSP。 由於呼叫 CryptSetProviderEx 決定來自該點的所有應用程式所使用的指定型別 CSP,因此,CryptSetProviderEx 絕對不得在未經使用者同意的情況下呼叫。

注意

wincrypt.h 標頭會根據 UNICODE 預處理器常數的定義,將 CryptSetProviderEx 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
支援的最低伺服器 Windows Server 2003 [僅限傳統型應用程式]
目標平臺 窗戶
標頭 wincrypt.h
連結庫 Advapi32.lib
DLL Advapi32.dll

另請參閱

CryptAcquireContext

CryptSetProvider

Service Provider Functions