Função CredReadDomainCredentialsA (wincred.h)
A função CredReadDomainCredentials lê as credenciais de domínio do conjunto de credenciais do usuário. O conjunto de credenciais usado é aquele associado à sessão de logon do token atual. O token não deve ter o SID do usuário desabilitado.
Sintaxe
BOOL CredReadDomainCredentialsA(
[in] PCREDENTIAL_TARGET_INFORMATIONA TargetInfo,
[in] DWORD Flags,
[out] DWORD *Count,
[out] PCREDENTIALA **Credential
);
Parâmetros
[in] TargetInfo
Informações de destino que identificam o servidor de destino. Pelo menos um dos membros de nomenclatura não deve ser NULL: NetbiosServerName, DnsServerName, NetbiosDomainName, DnsDomainName ou DnsTreeName.
[in] Flags
Sinalizadores que controlam a operação da função.
O seguinte sinalizador é definido:
CRED_CACHE_TARGET_INFORMATION
Armazene em cache o TargetInfo para uma leitura subsequente usando credGetTargetInfo.
[out] Count
Contagem das credenciais retornadas na matriz credenciais
[out] Credential
Ponteiro para uma matriz de ponteiros para credenciais. A credencial existente mais específica que corresponde à TargetInfo é retornada. Se houver credenciais de vários tipos (por exemplo, CRED_TYPE_DOMAIN_PASSWORD e credenciais de CRED_TYPE_DOMAIN_CERTIFICATE), um de cada tipo será retornado. Se uma conexão fosse feita com o destino nomeado, essa credencial mais específica seria usada.
Somente os tipos de credencial especificados pelo
- CRED_TYPE_DOMAIN_CERTIFICATE
- CRED_TYPE_DOMAIN_PASSWORD
O buffer retornado é um único bloco alocado. Todos os ponteiros contidos no buffer são ponteiros para locais dentro desse único bloco alocado. O único buffer retornado deve ser liberado chamando CredFree.
Valor de retorno
A função retorna TRUE com êxito e FALSE em caso de falha. A função
- ERROR_INVALID_PARAMETER
Nenhum dos parâmetros de nomenclatura foi especificado.
- ERROR_NOT_FOUND
Não há credenciais que correspondam aos parâmetros de nomenclatura especificados.
- ERROR_NO_SUCH_LOGON_SESSION
A sessão de logon não existe ou não há nenhum conjunto de credenciais associado a esta sessão de logon. As sessões de logon de rede não têm um conjunto de credenciais associado.
- ERROR_INVALID_FLAGS
Um sinalizador que não é válido foi especificado para o parâmetro Flags.
Observações
Essa função retorna as credenciais mais específicas que correspondem aos parâmetros de nomenclatura. Por exemplo, se houver uma credencial que corresponda ao nome do servidor de destino e a uma credencial que corresponda ao nome de domínio de destino, somente a credencial específica do servidor será retornada. Essa é a credencial que seria usada.
A lista a seguir especifica a ordem (da mais específica para a menos específica) de qual credencial será retornada se mais de uma corresponder:
- O nome de destino da credencial é do formulário
DfsRoot \ DfsShare e é uma correspondência exata no TargetName. - Uma correspondência exata noDnsServerName
. - Uma correspondência exata noNetBIOSServerName
. - Uma correspondência exata em TargetName.
- Uma correspondência do DnsServerName
a uma credencial de servidor curinga. Se mais de uma credencial de servidor curinga corresponder, a credencial com o TargetName mais longo será usada. Ou seja, uma credencial para *.example.microsoft.com é usada em vez de uma credencial para *.microsoft.com. - Uma correspondência exata do DnsDomainName a uma credencial de domínio curinga do formulário <DnsDomainName>\*.
- Uma correspondência exata do NetBIOSDomainName a uma credencial de domínio curinga do formulário <NetBIOSDomainName>\*
- A credencial chamada CRED_SESSION_WILDCARD_NAME.
- A credencial chamada "*".
Se o valor do tipo
Essa função pode retornar várias credenciais desse tipo, mas
Nota
O cabeçalho wincred.h define CredReadDomainCredentials 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 XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | wincred.h |
biblioteca | Advapi32.lib |
de DLL |
Advapi32.dll |