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 |
|
Biblioteca |
|
DLL |
|
Nomes Unicode e ANSI |
QueryContextAttributesW (Unicode) e QueryContextAttributesA (ANSI) |
Confira também