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


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

Позволяет транспортному приложению задавать атрибутыконтекста безопасности для пакета безопасности. Эта функция поддерживается только пакетом безопасности Schannel.

Синтаксис

SECURITY_STATUS SEC_ENTRY SetContextAttributesA(
  [in] PCtxtHandle   phContext,
  [in] unsigned long ulAttribute,
  [in] void          *pBuffer,
  [in] unsigned long cbBuffer
);

Параметры

[in] phContext

Дескриптор контекста безопасности, который необходимо задать.

[in] ulAttribute

Атрибут контекста, который необходимо задать. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
SECPKG_ATTR_APP_DATA
94
Параметр pBuffer содержит указатель на SecPkgContext_SessionAppData структуру.

Задает данные приложения для сеанса.

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

SECPKG_ATTR_EAP_PRF_INFO
101
Параметр pBuffer содержит указатель на структуру SecPkgContext_EapPrfInfo .

Задает псевдослучайную функцию (PRF), используемую протоколом EAP. Это значение, возвращаемое вызовом функции QueryContextAttributes (Schannel), когда SECPKG_ATTR_EAP_KEY_BLOCK передается в качестве значения параметра ulAttribute .

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

SECPKG_ATTR_EARLY_START
105
Параметр pBuffer содержит указатель на структуру SecPkgContext_EarlyStart .

Задает функцию ложного запуска. Дополнительные сведения об этой функции см. в записи блога Создание более быстрых и безопасных веб-сайтов .

SECPKG_ATTR_DTLS_MTU
34
Задает и извлекает значение MTU (максимальная единица передачи) для использования с DTLS. Если DTLS не включен в контексте безопасности, этот атрибут не поддерживается.

Допустимые значения находятся в диапазоне от 200 до 64 килобайт. Значение MTU DTLS по умолчанию в Schannel равно 1096 байтам.

SECPKG_ATTR_KEYING_MATERIAL_INFO
106
Параметр pBuffer содержит указатель на структуру SecPkgContext_KeyingMaterialInfo . Функция экспорта материалов ключей соответствует стандарту RFC 5705.

Этот атрибут поддерживается только пакетом безопасности Schannel в Windows 10 и Windows Server 2016 или более поздних версиях.

[in] pBuffer

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

[in] cbBuffer

Размер параметра pBuffer в байтах.

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

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

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

Код возврата Описание
SEC_E_UNSUPPORTED_FUNCTION
Это значение возвращается режимом ядра Schannel, чтобы указать, что эта функция не поддерживается.

Комментарии

Примечание

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

Требования

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