CryptSetProviderA 函式 (wincrypt.h)
重要 此 API 已被取代。 新的和現有的軟體應該開始使用 密碼編譯新一代 API。 Microsoft 可能會在未來的版本中移除此 API。
如果已設定目前使用者的預設提供者,該預設提供者會由該使用者對 CryptAcquireCoNtext 的任何呼叫取得,並指定 dwProvType 提供者類型,但不會取得 CSP 名稱。
您也可以使用此函式的增強版本 CryptSetProviderEx。
注意 一般應用程式不會使用此函式。 它僅供系統管理應用程式使用。
語法
BOOL CryptSetProviderA(
[in] LPCSTR pszProvName,
[in] DWORD dwProvType
);
參數
[in] pszProvName
新預設 CSP 的名稱。 具名 CSP 必須安裝在電腦上。 如需可用密碼編譯提供者的清單,請參閱 密碼編譯提供者名稱。
[in] dwProvType
pszProvName所指定的 CSP 提供者類型。
傳回值
如果函式成功,則傳回值為非零 (TRUE) 。
如果函式失敗,則傳回值為零, (FALSE) 。 如需擴充的錯誤資訊,請呼叫 GetLastError。 下表列出一些可能的錯誤碼。
傳回碼 | 描述 |
---|---|
|
其中一個參數指定不正確控制碼。 |
|
其中一個參數包含不正確值。 這通常是不正確指標。 |
|
作業系統在作業期間記憶體不足。 |
錯誤也可以從內部呼叫 傳播至 RegCreateKeyEx 和 RegSetValueEx。
備註
呼叫 CryptAcquireCoNtext時,一般應用程式不會指定 CSP 名稱;不過,應用程式確實可以選擇選取特定的 CSP。 這可讓使用者自由地選取具有適當安全性層級的 CSP。
由於呼叫 CryptSetProvider 會決定從該點執行之所有應用程式所使用的指定類型的 CSP,因此在使用者同意的情況下,不得呼叫此函式。
注意
wincrypt.h 標頭會將 CryptSetProvider 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程式碼,可能會導致編譯或執行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wincrypt.h |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |