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


Функция 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 или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header wincred.h
Библиотека Advapi32.lib
DLL Advapi32.dll