Função DsBindWithSpnExA (ntdsapi.h)
A função DsBindWithSpnEx associa a um controlador de domínio usando as credenciais especificadas e um SPN (nome de entidade de serviço) específico para autenticação mútua. Essa função é semelhante à função
Essa função é fornecida quando o controle completo é necessário sobre a autenticação mútua. Não use essa função se você espera que DsBind encontre um servidor para você, pois os SPNs são específicos do computador e é improvável que o SPN fornecido corresponda ao servidor que DsBind localiza para você. Fornecer um argumento
Sintaxe
NTDSAPI_POSTXP DWORD DsBindWithSpnExA(
[in, optional] LPCSTR DomainControllerName,
[in, optional] LPCSTR DnsDomainName,
[in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
[in, optional] LPCSTR ServicePrincipalName,
[in, optional] DWORD BindFlags,
[out] HANDLE *phDS
);
Parâmetros
[in, optional] DomainControllerName
Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome DNS totalmente qualificado do domínio a ser associado. Para obter mais informações, consulte a descrição do
[in, optional] DnsDomainName
Ponteiro para uma cadeia de caracteres terminada em nulo que contém o nome DNS totalmente qualificado do domínio a ser associado. Para obter mais informações, consulte a descrição DnsDomainName no tópico DsBind.
[in, optional] AuthIdentity
Contém um valor RPC_AUTH_IDENTITY_HANDLE que representa as credenciais a serem usadas para a associação. O
função DsMakePasswordCredentials é usada para obter esse valor. Se esse parâmetro for NULL, as credenciais do thread de chamada serão usadas.
[in, optional] ServicePrincipalName
Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o Nome da Entidade de Serviço a ser atribuída ao cliente. Passar
[in, optional] BindFlags
Contém um conjunto de sinalizadores que definem o comportamento dessa função. Esse parâmetro pode conter zero ou uma combinação dos valores listados na lista a seguir.
NTDSAPI_BIND_ALLOW_DELEGATION (1)
Faz com que a associação use o nível de representação delegado. Isso permite que as operações que exigem delegação, como DsAddSidHistory, sejam bem-sucedidas. Especificar esse sinalizador também faz com que DsBindWithSpnEx operem como DsBindWithSpn.
Se esse sinalizador não for especificado, a associação usará o nível de representação de representação. Para obter mais informações, consulte níveis de representação.
A maioria das operações não exige o nível de representação delegado, portanto, esse sinalizador só deve ser especificado se absolutamente necessário. A associação a um servidor invasor com o nível de representação de delegado permitirá que o servidor invasor se conecte a um servidor não invasor com suas credenciais e execute operações não intencionais.
NTDSAPI_BIND_FIND_BINDING (2)
Reservado.
NTDSAPI_BIND_FORCE_KERBEROS (4)
Active Directory Lightweight Directory Services: Se esse sinalizador for especificado, DsBindWithSpnEx forçará a autenticação Kerberos a ser usada. Se a autenticação Kerberos não puder ser estabelecida, DsBindWithSpnEx não tentará autenticar com nenhum outro método.
[out] phDS
Endereço de um HANDLE valor que recebe o identificador de associação. Para fechar esse identificador, passe-o para a função
Valor de retorno
Retorna ERROR_SUCCESS se tiver êxito ou um código de erro do Windows ou RPC, caso contrário. A lista a seguir lista códigos de erro comuns.
Observações
Nota
O cabeçalho ntdsapi.h define DsBindWithSpnEx 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 |
servidor com suporte mínimo | Windows Server 2008 |
da Plataforma de Destino |
Windows |
cabeçalho | ntdsapi.h |
biblioteca | Ntdsapi.lib |
de DLL |
Ntdsapi.dll |
Consulte também
Funções de gerenciamento de replicação e controlador de domínio