Compartilhar via


Função QueryContextAttributes (Negotiate)

A função QueryContextAttributes (Negotiate) permite que um aplicativo de transporte consulte o pacote de segurança Negotiate 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_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.
Esse valor só tem suporte ao usar associações de canal.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor.
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 de KERB_INTERACTIVE_LOGON empacotada.
Se a credencial do cliente for o nome de usuário e o PIN de 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á um marshaled SEC_WINNT_AUTH_IDENTITY_EX2 estrutura.
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_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_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.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor.
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_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_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 teclas de sessão.
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_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.

 

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 retornado

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.

Comentários

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 SECPKG_ATTR_REMOTE_CERT_CONTEXT ou SECPKG_ATTR_LOCAL_CERT_CONTEXT valor 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 (incluir Security.h)
Biblioteca
Secur32.lib
DLL
Secur32.dll
Nomes Unicode e ANSI
QueryContextAttributesW (Unicode) e QueryContextAttributesA (ANSI)

Confira também

Funções SSPI

CERT_CONTEXT

Freecontextbuffer

SecPkgContext_Authority

SecPkgContext_ConnectionInfo

SecPkgContext_DceInfo

SecPkgContext_IssuerListInfoEx

SecPkgContext_KeyInfo

SecPkgContext_Lifespan

SecPkgContext_Names

SecPkgContext_Sizes

SecPkgContext_StreamSizes