Compartilhar via


Função QueryContextAttributesA (sspi.h)

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

Sintaxe

SECURITY_STATUS SEC_ENTRY QueryContextAttributesA(
  [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 ser 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 de 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 de 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 de 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 de SecPkgContext_ClientCreds que especifica as credenciais do cliente.

As credenciais do cliente podem ser nome de usuário, 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 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: Esse valor não tem suporte.

SECPKG_ATTR_NEGOTIATION_PACKAGE
0x80000081
O parâmetro pBuffer contém um ponteiro para uma estrutura de>SecPkgContext_PackageInfo SecPkgContext_PackageInfo" que especifica o nome do pacote de autenticação negociado pelo provedor de do Microsoft Negotiate .
SECPKG_ATTR_PACKAGE_INFO
10
O parâmetro pBuffer contém um ponteiro para uma estrutura de>SecPkgContext_PackageInfo 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 de 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 de 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 de retorno

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.

Código/valor de retorno Descrição
SEC_E_INVALID_HANDLE
0x80100003
Falha na função. O parâmetro phContext especifica um identificador para um contexto incompleto.
SEC_E_UNSUPPORTED_FUNCTION
0x80090302
Falha na função. O valor do parâmetro ulAttribute não é válido.

Observações

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

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

Nota

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 do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows Server 2008 [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho sspi.h (inclua Security.h)
biblioteca Secur32.lib
de DLL Secur32.dll

Consulte também

CERT_CONTEXT

FreeContextBuffer

Funções SSPI

SecPkgContext_ClientCreds

SecPkgContext_Sizes