CredUnprotectW 函数 (wincred.h)

CredUnprotect 函数解密以前使用 CredProtect 函数加密的凭据。 凭据必须在调用 credUnprotect 相同的安全上下文中加密。

语法

BOOL CredUnprotectW(
  [in]      BOOL   fAsSelf,
  [in]      LPWSTR pszProtectedCredentials,
  [in]      DWORD  cchProtectedCredentials,
  [out]     LPWSTR pszCredentials,
  [in, out] DWORD  *pcchMaxChars
);

参数

[in] fAsSelf

设置为 TRUE,以指定在当前进程的安全上下文中加密凭据。 设置为 FALSE,以指定在调用线程安全上下文的安全上下文中加密凭据。

[in] pszProtectedCredentials

指向指定加密凭据的字符串的指针。

[in] cchProtectedCredentials

pszProtectedCredentials 缓冲区的大小(以字符为单位)。

[out] pszCredentials

指向输出中接收解密凭据的字符串的指针。

[in, out] pcchMaxChars

pszCredentials 缓冲区的大小(以字符为单位)。 在输出中,如果 pszCredentials 的大小不足以接收加密凭据,则此参数指定 pszCredentials 缓冲区所需的大小(以字符为单位)。

返回值

如果函数成功,则 TRUE;否则,FALSE

有关扩展的错误信息,请调用 GetLastError 函数。 下表显示了 GetLastError 函数的常见值。

返回代码/值 描述
ERROR_NOT_CAPABLE
用于加密凭据的安全上下文不同于用于解密凭据的安全上下文。
ERROR_INSUFFICIENT_BUFFER
pszCredentials 缓冲区的大小不足。

言论

注意

wincred.h 标头将 CredUnprotect 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 窗户
标头 wincred.h
Advapi32.lib
DLL Advapi32.dll