Поделиться через


Функция CredUnprotectA (wincred.h)

Функция CredUnprotect расшифровывает учетные данные, которые ранее были зашифрованы с помощью функции CredProtect. Учетные данные должны быть зашифрованы в том же контексте безопасности, в котором вызывается CredUnprotect.

Синтаксис

BOOL CredUnprotectA(
  [in]      BOOL  fAsSelf,
  [in]      LPSTR pszProtectedCredentials,
  [in]      DWORD cchProtectedCredentials,
  [out]     LPSTR 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 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2008 [только классические приложения]
целевая платформа Виндоус
заголовка wincred.h
библиотеки Advapi32.lib
DLL Advapi32.dll