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 [僅限傳統型應用程式]
目標平臺 Windows
標頭 wincred.h
程式庫 Advapi32.lib
DLL Advapi32.dll