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 (Provedor de Suporte à Segurança de Credencial) para determinados atributos de um contexto de segurança.
QueryContextAttributes (Digest) Permite que um aplicativo de transporte consulte o pacote de segurança Digest para determinados atributos de um contexto de segurança.
QueryContextAttributes (Kerberos) Permite que um aplicativo de transporte consulte o pacote de segurança Kerberos para determinados atributos de um contexto de segurança.
QueryContextAttributes (Negotiate) Permite que um aplicativo de transporte consulte o pacote de segurança Negociar para determinados atributos de um contexto de segurança.
QueryContextAttributes (NTLM) Permite que um aplicativo de transporte consulte o pacote de segurança 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 ser 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 os dados do aplicativo para a sessão.
Esse atributo só tem suporte no 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 de 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 só tem suporte no pacote de segurança do Schannel.
SECPKG_ATTR_CREDS_2
0x80000086
O parâmetro pBuffer contém um ponteiro para uma estrutura de 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 de KERB_INTERACTIVE_LOGON empacotada.
Se a credencial do cliente for pin de nome de usuário e cartão inteligente, o buffer será uma estrutura de KERB_CERTIFICATE_LOGON empacotada.
Se a credencial do cliente for uma credencial de identidade online, o buffer será uma estrutura de SEC_WINNT_AUTH_IDENTITY_EX2 marshaled.
Esse atributo só tem suporte no servidor CredSSP.
Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor.
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 de SecPkgContext_Bindings que especifica informações de associação de canal.
Esse atributo só tem suporte no 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 de chave usados pelo protocolo TLS EAP.
Esse atributo só tem suporte no 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 certificado que são aceitos pelo servidor.
Esse atributo só tem suporte no pacote de segurança do Schannel.
SECPKG_ATTR_KEY_INFO
5
O parâmetro pBuffer contém um ponteiro para uma estrutura de 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 de SecPkgContext_LastClientTokenStatus que especifica se o token da chamada mais recente para a função InitializeSecurityContext é o último token do cliente.
Esse valor tem suporte apenas pelos pacotes de segurançaNegotiate, 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 período 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 só tem suporte no 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 principal (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_PackageInfo .
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 só tem suporte no 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 de 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 só tem suporte no 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 por 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 usado nas funções por mensagem.
Esse atributo só tem suporte no 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 para a conexão.
Esse valor só tem suporte no 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 com suporte para a conexão.
Esse valor tem suporte apenas pela 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 de SecPkgContext_Bindings que especifica informações de associação de canal.
Esse valor tem suporte apenas pela 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 .

Valor de retorno

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

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

Observações

A estrutura apontada pelo parâmetro pBuffer varia dependendo do atributo que está sendo consultado. O chamador deve alocar a estrutura pBuffer em si, 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)

Consulte 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