Share via


CryptCATAdminAcquireCoNtext2 函式 (mscat.h)

CryptCATAdminAcquireCoNtext2函式會取得指定雜湊演算法和雜湊原則之目錄管理員內容的控制碼。

您可以在後續呼叫下列函式時使用此控制碼:

此函式沒有相關聯的匯入程式庫。 您必須使用 LoadLibraryGetProcAddress 函式,以動態方式連結至 Wintrust.dll。

語法

BOOL CryptCATAdminAcquireContext2(
  [out]          HCATADMIN               *phCatAdmin,
  [in, optional] const GUID              *pgSubsystem,
  [in, optional] PCWSTR                  pwszHashAlgorithm,
  [in, optional] PCCERT_STRONG_SIGN_PARA pStrongHashPolicy,
                 DWORD                   dwFlags
);

參數

[out] phCatAdmin

此函式指派之目錄管理員內容控制碼的指標。 當您完成使用控制碼時,請呼叫 CryptCATAdminReleaseCoNtext 函式加以關閉。

[in, optional] pgSubsystem

識別子系統之 GUID 的指標。 DRIVER_ACTION_VERIFY代表作業系統元件和協力廠商驅動程式的子系統。 這是大部分實作所使用的子系統。

[in, optional] pwszHashAlgorithm

選擇性以 Null 終止的 Unicode 字串,指定計算和驗證雜湊時要使用的雜湊演算法名稱。 此值可以是 Null。 如果是 Null,可能會根據您為 pStrongHashPolicy 參數設定的值,選擇預設雜湊演算法。 Windows 8 中的預設演算法是 SHA1。 預設可能會在未來的 Windows 版本中變更。 如需詳細資訊,請參閱<備註>。

[in, optional] pStrongHashPolicy

CERT_STRONG_SIGN_PARA結構的指標,其中包含用來檢查強式簽章的參數。 函式會選擇符合指定原則的最低通用雜湊演算法,以及 pwszHashAlgorithm 參數所指定的演算法,或如果未指定任何演算法,則系統預設演算法) (。

dwFlags

保留的。 這個值必須為零。

傳回值

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

如果函式失敗,則傳回值為零, (FALSE) 。 如需擴充錯誤資訊,請呼叫 GetLastError

下表列出 GetLastError 函式最常傳回的錯誤碼。

傳回碼 描述
ERROR_INVALID_PARAMETER
phCatAdmin參數不可為Null

dwFlags參數必須是零 (0) 。

ERROR_NOT_ENOUGH_MEMORY
記憶體不足,無法建立新的目錄管理員物件。
NTE_BAD_ALGID
找不到 pwszHashAlgorithm 參數所指定的雜湊演算法。

備註

此函式可讓您選擇或選擇要用於需要類別目錄管理員內容的函式中的雜湊演算法。 雖然您可以設定雜湊演算法的名稱,但建議您讓函式決定演算法。 這麼做可保護您的應用程式免于未來可能不受信任的硬式編碼演算法。

需求

   
最低支援的用戶端 Windows 8 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2012 [僅限傳統型應用程式]
目標平台 Windows
標頭 mscat.h
程式庫 Wintrust.lib
Dll Wintrust.dll

另請參閱

CryptCATAdminAddCatalog

CryptCATAdminReleaseCoNtext

CryptCATAdminRemoveCatalog