Функция QueryCredentialsAttributesA (sspi.h)

Извлекает атрибутыучетных данных, например имя, связанное с учетными данными. Эти сведения допустимы для любого контекста безопасности , созданного с указанными учетными данными.

Синтаксис

SECURITY_STATUS SEC_ENTRY QueryCredentialsAttributesA(
  [in]  PCredHandle   phCredential,
  [in]  unsigned long ulAttribute,
  [out] void          *pBuffer
);

Параметры

[in] phCredential

Дескриптор запрашиваемых учетных данных.

[in] ulAttribute

Указывает атрибут для запроса. Этот параметр может быть любым из следующих атрибутов.

Значение Значение
SECPKG_CRED_ATTR_CERT
Возвращает отпечаток сертификата в pbuffer типа SecPkgCredentials_Cert.

Этот атрибут поддерживается только Kerberos.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Этот атрибут недоступен.

SECPKG_CRED_ATTR_NAMES
Возвращает имя учетных данных в pbuffer типа SecPkgCredentials_Names.

Этот атрибут не поддерживается Schannel в режиме WOW64.

SECPKG_ATTR_SUPPORTED_ALGS
Возвращает поддерживаемые алгоритмы в pbuffer типа SecPkgCred_SupportedAlgs. Включаются все поддерживаемые алгоритмы независимо от того, поддерживаются ли они предоставленным сертификатом или включены на локальном компьютере.

Этот атрибут поддерживается только Schannel.

SECPKG_ATTR_CIPHER_STRENGTHS
Возвращает сильные стороны шифра в pbuffer типа SecPkgCred_CipherStrengths.

Этот атрибут поддерживается только Schannel.

SECPKG_ATTR_SUPPORTED_PROTOCOLS
Возвращает поддерживаемые алгоритмы в pbuffer типа SecPkgCred_SupportedProtocols. Включаются все поддерживаемые протоколы независимо от того, поддерживаются ли они предоставленным сертификатом или включены на локальном компьютере.

Этот атрибут поддерживается только Schannel.

[out] pBuffer

Указатель на буфер, получающий запрошенный атрибут. Тип возвращаемой структуры зависит от значения ulAttribute.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет SEC_E_OK.

Если функция завершается сбоем, возвращаемое значение может быть одним из следующих кодов ошибок.

Код возврата Описание
SEC_E_INVALID_HANDLE
Дескриптор, переданный функции, недопустим.
SEC_E_UNSUPPORTED_FUNCTION
Указанный атрибут не поддерживается Schannel. Это возвращаемое значение будет возвращено только при использовании Schannel SSP.
SEC_E_INSUFFICIENT_MEMORY
Доступной памяти недостаточно для выполнения запроса.

Комментарии

Функция QueryCredentialsAttributes позволяет приложению определить несколько характеристик учетных данных, включая имя, связанное с указанными учетными данными.

При запросе атрибута SECPKG_ATTR_CIPHER_STRENGTHS возвращается структура SecPkgCred_CipherStrengths . Надежность шифра в этой структуре совпадает с надежностью шифра в структуре SCH_CREDENTIALS , используемой при создании учетных данных.

Примечание Приложение может найти системную надежность шифра по умолчанию, запросив этот атрибут с учетными данными по умолчанию. Учетные данные по умолчанию создаются путем вызова AcquireCredentialsHandle с параметром pAuthDataNULL.
 
Запрос к атрибуту SECPKG_ATTR_SUPPORTED_ALGS возвращает SecPkgCred_SupportedAlgs структуру. Алгоритмы в этой структуре совместимы с алгоритмами, указанными в структуре SCH_CREDENTIALS , используемой при создании учетных данных.

Запрос к атрибуту SECPKG_ATTR_SUPPORTED_PROTOCOLS возвращает SecPkgCred_SupportedProtocols структуру, содержащую битовый массив, совместимый с полем grbitEnabledProtocols структуры SCH_CREDENTIALS .

Вызывающий объект должен выделить структуру, на которую указывает параметр pBuffer . Пакет безопасности выделяет буфер для любого указателя, возвращаемого в структуре pBuffer. Вызывающий объект может вызвать функцию FreeContextBuffer , чтобы освободить все указатели, выделенные пакетом безопасности.

Примечание

Заголовок sspi.h определяет QueryCredentialsAttributes в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header sspi.h (включая Security.h)
Библиотека Secur32.lib
DLL Secur32.dll

См. также раздел

AcquireCredentialsHandle

FreeContextBuffer

SCH_CREDENTIALS

Функции SSPI

SecPkgCred_CipherStrengths

SecPkgCred_SupportedAlgs

SecPkgCred_SupportedProtocols

SecPkgCredentials_Names