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


Функция QueryContextAttributes (CredSSP)

Функция QueryContextAttributes (CredSSP) позволяет транспортному приложению запрашивать пакет безопасности поставщика безопасности учетных данных (CredSSP) для определенных атрибутов контекста безопасности.

Синтаксис

SECURITY_STATUS SEC_ENTRY QueryContextAttributes(
  _In_  PCtxtHandle phContext,
  _In_  ULONG       ulAttribute,
  _Out_ PVOID       pBuffer
);

Параметры

phContext [in]

Дескриптор контекста безопасности для запроса.

ulAttribute [in]

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

Ценность Значение
SECPKG_ATTR_C_ACCESS_TOKEN
0x80000012
Параметр pBuffer содержит указатель на структуру SecPkgContext_AccessToken , которая задает маркер доступа для текущего контекста безопасности.
Этот атрибут поддерживается только на сервере.
SECPKG_ATTR_C_FULL_ACCESS_TOKEN
0x80000082
Параметр pBuffer содержит указатель на структуру SecPkgContext_AccessToken , которая задает маркер доступа для текущего контекста безопасности.
Этот атрибут поддерживается только на сервере.
SECPKG_ATTR_CERT_TRUST_STATUS
0x80000084
Параметр pBuffer содержит указатель на структуру CERT_TRUST_STATUS , указывающую сведения о доверии сертификата.
Этот атрибут поддерживается только в клиенте.
SECPKG_ATTR_CREDS
0x80000080
Параметр pBuffer содержит указатель на структуру SecPkgContext_ClientCreds , указывающую учетные данные клиента.
Учетные данные клиента могут быть либо именем пользователя, либо паролем, либо ПИН-кодом смарт-карты.
Этот атрибут поддерживается только на сервере.
SECPKG_ATTR_CREDS_2
0x80000086
Параметр 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: Это значение не поддерживается.
SECPKG_ATTR_NEGOTIATION_PACKAGE
0x80000081
Параметр pBuffer содержит указатель на структуру SecPkgContext_PackageInfo , которая указывает имя пакета проверки подлинности, согласованный поставщиком Microsoft Negotiate .
SECPKG_ATTR_PACKAGE_INFO
10
Параметр pBuffer содержит указатель на структуру SecPkgContext_PackageInfo.
Возвращает сведения об используемом поставщике служб SSP.
SECPKG_ATTR_SERVER_AUTH_FLAGS
0x80000083
Параметр pBuffer содержит указатель на структуру SecPkgContext_Flags , которая указывает сведения о флагах в текущем контексте безопасности.
Этот атрибут поддерживается только в клиенте.
SECPKG_ATTR_SIZES
0x0
Параметр pBuffer содержит указатель на структуру SecPkgContext_Sizes .
Запрашивает размеры структур, используемых в функциях каждого сообщения и обменах проверкой подлинности.
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
Параметр pBuffer содержит указатель на SecPkgContext_SubjectAttributes структуру.
Это значение возвращает сведения об атрибутах безопасности для подключения.
Это значение поддерживается только на сервере CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: это значение не поддерживается.

 

pBuffer [out]

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

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

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

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

Возврат кода или значения Описание
SEC_E_INVALID_HANDLE
0x80100003
Не удалось выполнить функцию. Параметр phContext задает дескриптор для неполного контекста.
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
Не удалось выполнить функцию. Недопустимое значение параметра ulAttribute .

 

Замечания

Структура, на которую указывает параметр pBuffer , зависит от запрашиваемого атрибута.

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

Требования

Требование Ценность
Минимальный поддерживаемый клиент
Windows Vista [только классические приложения]
Минимальный поддерживаемый сервер
Windows Server 2008 [только классические приложения]
Заголовок
Sspi.h (include Security.h)
Библиотека
Secur32.lib
DLL
Secur32.dll
Имена Юникода и ANSI
QueryContextAttributesW (Юникод) и QueryContextAttributesA (ANSI)

См. также

Функции SSPI

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_ClientCreds

SecPkgContext_Sizes