Функция 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 как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows Vista [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2008 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wincred.h |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |