Função QueryContextAttributes (CredSSP)

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

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]

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 de 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 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 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á 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_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 tem suporte apenas no servidor CredSSP.
Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor.

 

pBuffer [out]

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.

Retornar código/valor 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.

 

Comentários

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

Embora o chamador precise alocar a própria estrutura pBuffer , 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 .

Requisitos

Requisito Valor
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]
Cabeçalho
Sspi.h (inclua 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_ClientCreds

SecPkgContext_Sizes