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


Функция 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