Функция QueryContextAttributesA (sspi.h)
Функция QueryContextAttributes (CredSSP) позволяет транспортному приложению запрашивать пакет безопасности поставщика поддержки учетных данных (CredSSP) для получения определенных атрибутовконтекста безопасности.
Синтаксис
SECURITY_STATUS SEC_ENTRY QueryContextAttributesA(
[in] PCtxtHandle phContext,
[in] unsigned long ulAttribute,
[out] void *pBuffer
);
Параметры
[in] phContext
Дескриптор контекста безопасности для запроса.
[in] ulAttribute
Атрибут возвращаемого контекста. Этот параметр может принимать одно из указанных ниже значений. Если не указано иное, атрибуты применимы как к клиенту, так и к серверу.
Значение | Значение |
---|---|
|
Параметр pBuffer содержит указатель на структуру SecPkgContext_AccessToken , указывающую маркер доступа для текущего контекста безопасности.
Этот атрибут поддерживается только на сервере. |
|
Параметр pBuffer содержит указатель на структуру SecPkgContext_AccessToken , указывающую маркер доступа для текущего контекста безопасности.
Этот атрибут поддерживается только на сервере. |
|
Параметр pBuffer содержит указатель на структуру CERT_TRUST_STATUS , указывающую сведения о доверии к сертификату.
Этот атрибут поддерживается только в клиенте. |
|
Параметр pBuffer содержит указатель на структуру SecPkgContext_ClientCreds , указывающую учетные данные клиента.
Учетные данные клиента могут быть либо именем пользователя и паролем, либо именем пользователя и смарт-карта ПИН-кодом. Этот атрибут поддерживается только на сервере. |
|
Параметр pBuffer содержит указатель на структуру SecPkgContext_ClientCreds , указывающую учетные данные клиента.
Если учетные данные клиента — имя пользователя и пароль, буфер представляет собой упакованную KERB_INTERACTIVE_LOGON структуру. Если учетные данные клиента — это имя пользователя, а смарт-код карта ПИН-код, буфер представляет собой упакованную KERB_CERTIFICATE_LOGON структуру. Если учетные данные клиента являются сетевыми учетными данными удостоверения, буфер представляет собой маршалированную структуру SEC_WINNT_AUTH_IDENTITY_EX2 . Этот атрибут поддерживается только на сервере CredSSP. Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается. |
|
Параметр pBuffer содержит указатель на структуру >SecPkgContext_PackageInfo SecPkgContext_PackageInfo , указывающую имя пакета проверки подлинности, согласованного поставщиком Microsoft Negotiate . |
|
Параметр pBuffer содержит указатель на структуру >SecPkgContext_PackageInfo SecPkgContext_PackageInfo .
Возвращает сведения об используемом поставщике общих служб. |
|
Параметр pBuffer содержит указатель на структуру SecPkgContext_Flags , указывающую сведения о флагах в текущем контексте безопасности.
Этот атрибут поддерживается только в клиенте. |
|
Параметр pBuffer содержит указатель на структуру SecPkgContext_Sizes .
Запрашивает размеры структур, используемых в функциях каждого сообщения и обмене проверкой подлинности. |
|
Параметр pBuffer содержит указатель на структуру SecPkgContext_SubjectAttributes .
Это значение возвращает сведения об атрибутах безопасности для подключения. Это значение поддерживается только на сервере CredSSP. Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается. |
[out] pBuffer
Указатель на структуру, получающую атрибуты. Тип структуры зависит от значения параметра ulAttribute .
Возвращаемое значение
Если функция выполняется успешно, она возвращает SEC_E_OK.
Если функция завершается сбоем, она может вернуть следующие коды ошибок.
Возвращаемый код или значение | Описание |
---|---|
|
Сбой функции. Параметр phContext указывает дескриптор для неполного контекста. |
|
Сбой функции. Недопустимое значение параметра ulAttribute . |
Комментарии
Структура, на которую указывает параметр pBuffer , зависит от запрашиваемого атрибута.
Хотя вызывающий объект должен выделить саму структуру pBuffer , поставщик SSP выделяет любую память, необходимую для хранения элементов структуры pBuffer переменной величины. Память, выделенную поставщиком общих служб, должна быть освобождена путем вызова функции FreeContextBuffer .
Примечание
Заголовок sspi.h определяет QueryContextAttributes в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | sspi.h (включая Security.h) |
Библиотека | Secur32.lib |
DLL | Secur32.dll |