Função QueryContextAttributesW (sspi.h)

A função QueryContextAttributes (CredSSP) permite que um aplicativo de transporte consulte o pacote de segurança CredSSP (Provedor de Suporte de Segurança de Credencial) para determinados atributos de um contexto de segurança.

Sintaxe

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

Parâmetros

[in] phContext

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

[in] ulAttribute

O atributo do contexto a ser retornado. Esse parâmetro pode usar um dos valores a seguir. A menos que especificado de outra forma, os atributos são aplicáveis ao cliente e ao servidor.

Valor Significado
SECPKG_ATTR_C_ACCESS_TOKEN
0x80000012
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_AccessToken que especifica o token de acesso para o contexto de segurança atual.

Esse atributo só tem suporte no servidor.

SECPKG_ATTR_C_FULL_ACCESS_TOKEN
0x80000082
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_AccessToken que especifica o token de acesso para o contexto de segurança atual.

Esse atributo só tem suporte no servidor.

SECPKG_ATTR_CERT_TRUST_STATUS
0x80000084
O parâmetro pBuffer contém um ponteiro para uma estrutura CERT_TRUST_STATUS que especifica informações de confiança sobre o certificado.

Esse atributo só tem suporte no cliente.

SECPKG_ATTR_CREDS
0x80000080
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_ClientCreds que especifica as credenciais do cliente.

As credenciais do cliente podem ser nome de usuário e senha ou nome de usuário e PIN de cartão inteligente.

Esse atributo só tem suporte no servidor.

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_NEGOTIATION_PACKAGE
0x80000081
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_PackageInfo que especifica o nome do pacote de autenticação negociado pelo provedor do Microsoft Negotiate .
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_SERVER_AUTH_FLAGS
0x80000083
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Flags que especifica informações sobre os sinalizadores no contexto de segurança atual.

Esse atributo só tem suporte no cliente.

SECPKG_ATTR_SIZES
0x0
O parâmetro pBuffer contém um ponteiro para uma estrutura SecPkgContext_Sizes .

Consulta os tamanhos das estruturas usadas nas funções por mensagem e nas trocas de autenticação.

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: Não há suporte para esse valor.

[out] pBuffer

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

Valor retornado

Se a função for bem-sucedida, ela retornará SEC_E_OK.

Se a função falhar, ela poderá retornar os seguintes códigos de erro.

Valor/código retornado Descrição
SEC_E_INVALID_HANDLE
0x80100003
A função falhou. O parâmetro phContext especifica um identificador para um contexto incompleto.
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
A função falhou. O valor do parâmetro ulAttribute não é válido.

Comentários

A estrutura apontada pelo parâmetro pBuffer varia dependendo do atributo que está sendo consultado.

Embora o chamador precise alocar a estrutura pBuffer em si, o SSP aloca qualquer memória necessária para manter membros de tamanho variável da estrutura pBuffer . A memória alocada pelo SSP deve ser liberada chamando a função FreeContextBuffer .

Observação

O cabeçalho sspi.h define QueryContextAttributes como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho sspi.h (inclua Security.h)
Biblioteca Secur32.lib
DLL Secur32.dll

Confira também

CERT_CONTEXT

Freecontextbuffer

Funções SSPI

SecPkgContext_ClientCreds

SecPkgContext_Sizes