共用方式為


CredProtectA 函式 (wincred.h)

CredProtect 函式會加密指定的認證,讓只有目前的安全性內容可以解密認證。

語法

BOOL CredProtectA(
  [in]      BOOL                 fAsSelf,
  [in]      LPSTR                pszCredentials,
  [in]      DWORD                cchCredentials,
  [out]     LPSTR                pszProtectedCredentials,
  [in, out] DWORD                *pcchMaxChars,
  [out]     CRED_PROTECTION_TYPE *ProtectionType
);

參數

[in] fAsSelf

設定為 TRUE,以指定認證會在目前進程的安全性內容中加密。 設定為 FALSE,以指定認證在呼叫線程安全性內容的安全性內容中加密。

[in] pszCredentials

字串的指標,指定要加密的認證。 函式會加密 cchCredentials 參數中提供的字元數。

[in] cchCredentials

pszCredentials 緩衝區的大小,以字元為單位。

[out] pszProtectedCredentials

在輸出中接收加密認證的字串指標。

[in, out] pcchMaxChars

大小,以 pszProtectedCredentials 緩衝區的字元為單位。 在輸出中,如果 pszProtectedCredentials 的大小不足以接收加密認證,此參數會指定 pszProtectedCredentials 緩衝區所需的大小。

[out] ProtectionType

CRED_PROTECTION_TYPE 列舉型別的指標,在輸出中指定所提供的保護類型。

傳回值

如果函式成功,TRUE;否則,FALSE

如需擴充的錯誤資訊,請呼叫 getLastError 函式

言論

請注意,CredProtect 函式的輸出並未受到完整性保護,因此如果修改輸出,CredUnprotect 函式不會更新,而且可能會產生不正確的結果。

注意

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

要求

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