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


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

Позволяет приложению транспорта запрашивать пакета безопасности для определенных атрибутов контекста безопасности.

Синтаксис

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

Параметры

[in] phContext

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

[in] ulAttribute

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

Ценность Значение
SECPKG_ATTR_ACCESS_TOKEN
18
Параметр pBuffer содержит указатель на структуру SecPkgContext_AccessToken.

Возвращает дескриптор маркера доступа.

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

Возвращает или задает данные приложения для сеанса.

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

SECPKG_ATTR_AUTHORITY
6
Параметр pBuffer содержит указатель на структуру SecPkgContext_Authority.

Запрашивает имя центра проверки подлинности.

SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
27
Параметр pBuffer содержит указатель на структуру SecPkgContext_ClientSpecifiedTarget, представляющую имя субъекта-службы (SPN) исходного целевого объекта, предоставленного клиентом.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

SECPKG_ATTR_CONNECTION_INFO
0x5a
Параметр pBuffer содержит указатель на структуру SecPkgContext_ConnectionInfo.

Возвращает подробные сведения о установленном подключении.

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

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_DCE_INFO
3
Параметр pBuffer содержит указатель на структуру SecPkgContext_DceInfo.

Запросы данных авторизации, используемых службами DCE.

SECPKG_ATTR_ENDPOINT_BINDINGS
26
Параметр pBuffer содержит указатель на структуру SecPkgContext_Bindings, указывающую сведения о привязке канала.

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

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
Параметр pBuffer содержит указатель на структуру SecPkgContext_EapKeyBlock.

Запросы к ключевым данным, используемым протоколом TLS EAP.

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

SECPKG_ATTR_FLAGS
14
Параметр pBuffer содержит указатель на структуру SecPkgContext_Flags.

Возвращает сведения о согласованных флагах контекста.

SECPKG_ATTR_ISSUER_LIST_EX
0x59
Параметр pBuffer содержит указатель на структуру SecPkgContext_IssuerListInfoEx.

Возвращает список издателей сертификатов, которые принимаются сервером.

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

SECPKG_ATTR_KEY_INFO
5
Параметр pBuffer содержит указатель на структуру SecPkgContext_KeyInfo.

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

SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
Параметр pBuffer содержит указатель на структуру SecPkgContext_LastClientTokenStatus, которая указывает, является ли маркер из последнего вызова функции InitializeSecurityContext последним маркером от клиента.

Это значение поддерживается только пакетами безопасности Negotiate, Kerberos и NTLM.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

SECPKG_ATTR_LIFESPAN
2
Параметр pBuffer содержит указатель на структуру SecPkgContext_Lifespan.

Запрашивает период жизни контекста.

SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
Параметр pBuffer содержит указатель на структуру PCCERT_CONTEXT.

Находит контекст сертификата, содержащий локальный конечный сертификат.

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

SECPKG_ATTR_LOCAL_CRED
Параметр pBuffer содержит указатель на структуру SecPkgContext_LocalCredentialInfo. (устаревшее)

Заменены SECPKG_ATTR_LOCAL_CERT_CONTEXT.

SECPKG_ATTR_NAMES
1
Параметр pBuffer содержит указатель на структуру SecPkgContext_Names.

Запрашивает имя, связанное с контекстом.

SECPKG_ATTR_NATIVE_NAMES
13
Параметр pBuffer содержит указатель на структуру SecPkgContext_NativeNames.

Возвращает имя субъекта (CNAME) из исходящего билета.

SECPKG_ATTR_NEGOTIATION_INFO
12
Параметр pBuffer содержит указатель на структуру SecPkgContext_NegotiationInfo.

Возвращает сведения о пакете безопасности, который будет использоваться с процессом согласования и текущим состоянием переговоров по использованию этого пакета.

SECPKG_ATTR_PACKAGE_INFO
10
Параметр pBuffer содержит указатель на структуру SecPkgContext_PackageInfo.

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

SECPKG_ATTR_PASSWORD_EXPIRY
8
Параметр pBuffer содержит указатель на структуру SecPkgContext_PasswordExpiry.

Возвращает сведения об истечении срока действия пароля.

SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
Параметр pBuffer содержит указатель на структуру PCCERT_CONTEXT.

Находит контекст сертификата, содержащий конечный сертификат, предоставленный сервером.

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

SECPKG_ATTR_ROOT_STORE
0x55
Параметр pBuffer содержит указатель на HCERTCONTEXT. Находит контекст сертификата, содержащий сертификат, предоставленный корневым хранилищем.
SECPKG_ATTR_SESSION_KEY
9
Параметр pBuffer содержит указатель на структуру SecPkgContext_SessionKey.

Возвращает сведения о ключах сеанса.

SECPKG_ATTR_SESSION_INFO
0x5d
Параметр pBuffer содержит указатель на структуру SecPkgContext_SessionInfo.

Возвращает сведения о сеансе.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

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

SECPKG_ATTR_SIZES
0
Параметр pBuffer содержит указатель на структуру SecPkgContext_Sizes.

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

SECPKG_ATTR_STREAM_SIZES
4
Параметр pBuffer содержит указатель на структуру SecPkgContext_StreamSizes.

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

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

SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
Параметр pBuffer содержит указатель на структуру SecPkgContext_SubjectAttributes.

Это значение возвращает сведения об атрибутах безопасности для подключения.

Это значение поддерживается только на сервере CredSSP.

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
Параметр pBuffer содержит указатель на структуру SecPkgContext_SupportedSignatures.

Это значение возвращает сведения о типах подписей, поддерживаемых для подключения.

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

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

SECPKG_ATTR_TARGET_INFORMATION
17
Параметр pBuffer содержит указатель на структуру SecPkgContext_TargetInformation.

Возвращает сведения о имени удаленного сервера.

SECPKG_ATTR_UNIQUE_BINDINGS
25
Параметр pBuffer содержит указатель на структуру SecPkgContext_Bindings, указывающую сведения о привязке канала.

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

Windows Server 2008, Windows Vista, Windows Server 2003 и Windows XP: Это значение не поддерживается.

[out] pBuffer

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

[in] cbBuffer

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

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

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

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

Замечания

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка sspi.h (include Security.h)
библиотеки Secur32.lib
DLL Secur32.dll

См. также

CERT_CONTEXT

FreeContextBuffer

функций SSPI

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes