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


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