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