Compartilhar via


Função QueryContextAttributes (Geral)

Permite que um aplicativo de transporte consulte um pacote de segurança para determinados atributos de um contexto de segurança.

Para obter informações sobre como usar essa função com um SSP (provedor de suporte de segurança) específico, consulte os tópicos a seguir.

Tópico Descrição
QueryContextAttributes (CredSSP) Permite que um aplicativo de transporte consulte o CredSSP (Credential Security Support Provider) para determinados atributos de um contexto de segurança.
QueryContextAttributes (Digest) Permite que um aplicativo de transporte consulte o pacote de segurança do Digest para determinados atributos de um contexto de segurança.
QueryContextAttributes (Kerberos) Permite que um aplicativo de transporte consulte o pacote de segurança do Kerberos para determinados atributos de um contexto de segurança.
QueryContextAttributes (Negotiate) Permite que um aplicativo de transporte consulte o pacote de segurança do Negotiate para determinados atributos de um contexto de segurança.
QueryContextAttributes (NTLM) Permite que um aplicativo de transporte consulte o pacote de segurança do NTLM para determinados atributos de um contexto de segurança.
QueryContextAttributes (Schannel) Permite que um aplicativo de transporte consulte o pacote de segurança do Schannel para determinados atributos de um contexto de segurança.

Sintaxe

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

Parâmetros

phContext [in]

Um identificador para o contexto de segurança a ser consultado.

ulAttribute [in]

Especifica o atributo do contexto a ser retornado. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
SECPKG_ATTR_ACCESS_TOKEN
18
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_AccessToken.
Retorna um identificador para o token de acesso.
SECPKG_ATTR_APP_DATA
0x5e
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SessionAppData.
Retorna ou especifica dados do aplicativo para a sessão.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
SECPKG_ATTR_AUTHORITY
6
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Authority.
Consulta o nome da autoridade de autenticação.
SECPKG_ATTR_CLIENT_SPECIFIED_TARGET
27
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_ClientSpecifiedTarget que representa o SPN (nome da entidade de serviço) do destino inicial fornecido pelo cliente.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.
SECPKG_ATTR_CONNECTION_INFO
0x5a
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_ConnectionInfo.
Retorna informações detalhadas sobre a conexão estabelecida.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
SECPKG_ATTR_CREDS_2
0x80000086
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_ClientCreds que especifica as credenciais do cliente.
Se a credencial do cliente for nome de usuário e senha, o buffer será uma estrutura compactada de KERB_INTERACTIVE_LOGON.
Se a credencial do cliente for o nome de usuário e o PIN do cartão inteligente, o buffer será uma estrutura compactada de KERB_CERTIFICATE_LOGON.
Se a credencial do cliente for uma credencial de identidade online, o buffer será uma estrutura empacotada de SEC_WINNT_AUTH_IDENTITY_EX2.
Esse atributo só é compatível com o servidor CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.
SECPKG_ATTR_DCE_INFO
3
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_DceInfo.
Consultas para dados de autorização usados pelos serviços DCE.
SECPKG_ATTR_ENDPOINT_BINDINGS
26
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Bindings que especifica informações de vinculação de canal.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.
SECPKG_ATTR_EAP_KEY_BLOCK
0x5b
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_EapKeyBlock.
Consultas para dados chave usados pelo protocolo EAP TLS.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
SECPKG_ATTR_FLAGS
14
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Flags.
Retorna informações sobre os sinalizadores de contexto negociados.
SECPKG_ATTR_ISSUER_LIST_EX
0x59
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_IssuerListInfoEx.
Retorna uma lista de emissores de certificados aceitos pelo servidor.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
SECPKG_ATTR_KEY_INFO
5
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_KeyInfo.
Consulta informações sobre as chaves usadas em um contexto de segurança.
SECPKG_ATTR_LAST_CLIENT_TOKEN_STATUS
30
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_LastClientTokenStatus que especifica se o token da chamada mais recente para a função InitializeSecurityContext é o último token do cliente.
Esse valor só é compatível com os pacotes de segurança do Negotiate, Kerberos e NTLM.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.
SECPKG_ATTR_LIFESPAN
2
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Lifespan.
Consulta o tempo de vida do contexto.
SECPKG_ATTR_LOCAL_CERT_CONTEXT
0x54
O parâmetro pBuffer contém um ponteiro para uma estrutura PCCERT_CONTEXT.
Localiza um contexto de certificado que contém um certificado final local.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
SECPKG_ATTR_LOCAL_CRED
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_LocalCredentialInfo. (obsoleto)
Substituído por SECPKG_ATTR_LOCAL_CERT_CONTEXT.
SECPKG_ATTR_NAMES
1
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Names.
Consulta o nome associado ao contexto.
SECPKG_ATTR_NATIVE_NAMES
13
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_NativeNames.
Retorna o nome da entidade de segurança (CNAME) do tíquete de saída.
SECPKG_ATTR_NEGOTIATION_INFO
12
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_NegotiationInfo.
Retorna informações sobre o pacote de segurança a ser usado com o processo de negociação e o estado atual da negociação para o uso desse pacote.
SECPKG_ATTR_PACKAGE_INFO
10
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_DcSecPkgContext_PackageInfoeInfo.
Retorna informações sobre o SSP em uso.
SECPKG_ATTR_PASSWORD_EXPIRY
8
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_PasswordExpiry.
Retorna informações de expiração de senha.
SECPKG_ATTR_REMOTE_CERT_CONTEXT
0x53
O parâmetro pBuffer contém um ponteiro para uma estrutura PCCERT_CONTEXT.
Localiza um contexto de certificado que contém o certificado final fornecido pelo servidor.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
SECPKG_ATTR_ROOT_STORE
0x55
O parâmetro pBuffer contém um ponteiro para um HCERTCONTEXT. Localiza um contexto de certificado que contém um certificado fornecido pelo repositório raiz.
SECPKG_ATTR_SESSION_KEY
9
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SessionKey.
Retorna informações sobre as chaves de sessão.
SECPKG_ATTR_SESSION_INFO
0x5d
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SessionInfo.
Retorna informações sobre a sessão.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
SECPKG_ATTR_SIZES
0
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Sizes.
Consulta os tamanhos das estruturas usadas nas funções da mensagem.
SECPKG_ATTR_STREAM_SIZES
4
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_StreamSizes.
Consulta os tamanhos das várias partes de um fluxo usadas nas funções da mensagem.
Esse atributo é compatível somente com o pacote de segurança do Schannel.
SECPKG_ATTR_SUBJECT_SECURITY_ATTRIBUTES
124
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SubjectAttributes.
Esse valor retorna informações sobre os atributos de segurança da conexão.
Esse valor só é compatível com o servidor CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.
SECPKG_ATTR_SUPPORTED_SIGNATURES
0x66
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_SupportedSignatures.
Esse valor retorna informações sobre os tipos de assinatura compatíveis com a conexão.
Esse valor só é compatível com a delegação restrita do Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.
SECPKG_ATTR_TARGET_INFORMATION
17
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_TargetInformation.
Retorna informações sobre o nome do servidor remoto.
SECPKG_ATTR_UNIQUE_BINDINGS
25
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Bindings que especifica informações de vinculação de canal.
Esse valor só é compatível com a delegação restrita do Schannel.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: esse valor não é compatível.

 

pBuffer [out]

Um ponteiro para uma estrutura que recebe os atributos. O tipo de estrutura apontada depende do valor especificado no parâmetro ulAttribute.

Retornar valor

Se a função for bem-sucedida, o valor de retorno será SEC_E_OK.

Se a função falhar, o valor de retorno será um código de erro diferente de zero.

Comentários

A estrutura apontada pelo parâmetro pBuffer varia de acordo com o atributo que está sendo consultado. O chamador deve alocar a própria estrutura pBuffer, mas o SSP aloca qualquer memória necessária para manter membros de tamanho variável da estrutura pBuffer. A memória alocada pelo SSP pode ser liberada chamando a função FreeContextBuffer.

Depois que o valor SECPKG_ATTR_REMOTE_CERT_CONTEXT ou SECPKG_ATTR_LOCAL_CERT_CONTEXT tiver sido lido, o membro hCertStore será definido como um identificador para um repositório de certificados que contém os certificados intermediários, se houver. Além disso, o aplicativo é responsável por chamar CertFreeCertificateContext para liberar a memória usada pelo contexto do certificado.

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho
Sspi.h (inclui Security.h)
Biblioteca
Secur32.lib
DLL
Secur32.dll
Nomes Unicode e ANSI
QueryContextAttributesW (Unicode) e QueryContextAttributesA (ANSI)

Confira também

Funções SSPI

Suporte à Proteção Estendida para Autenticação (EPA) em um serviço

CERT_CONTEXT

FreeContextBuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes