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 標頭會根據 UNICODE 預處理器常數的定義,將 CryptSetProvider 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
支援的最低伺服器 | Windows Server 2003 [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | wincrypt.h |
連結庫 | Advapi32.lib |
DLL | Advapi32.dll |