Compartilhar via


Função DsBindByInstanceW (ntdsapi.h)

A função DsBindByInstance associa explicitamente a qualquer instância do AD LDS ou do Active Directory.

Sintaxe

NTDSAPI_POSTXP DWORD DsBindByInstanceW(
  [in]           LPCWSTR                  ServerName,
  [in]           LPCWSTR                  Annotation,
  [in]           GUID                     *InstanceGuid,
  [in]           LPCWSTR                  DnsDomainName,
  [in, optional] RPC_AUTH_IDENTITY_HANDLE AuthIdentity,
  [in, optional] LPCWSTR                  ServicePrincipalName,
  [in, optional] DWORD                    BindFlags,
  [out]          HANDLE                   *phDS
);

Parâmetros

[in] ServerName

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome da instância. Esse parâmetro é necessário para associar a uma instância do AD LDS. Se esse parâmetro for NULL ao associar a uma instância do Active Directory, o parâmetro DnsDomainName deverá conter um valor. Se esse parâmetro e o parâmetro DnsDomainName estiverem NULL, a função falhará com o valor retornado ERROR_INVALID_PARAMETER (87).

[in] Annotation

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o número da porta da instância do AD LDS ou NULL ao associar a uma instância do Active Directory. Por exemplo, "389".

Se esse parâmetro for NULL ao associar por domínio a uma instância do Active Directory, o parâmetro DnsDomainName deverá ser especificado. Se esse parâmetro for NULL ao associar a uma instância do AD LDS, o parâmetro InstanceGuid deverá ser especificado.

[in] InstanceGuid

Ponteiro para um GUID valor que contém o GUID da instância do AD LDS. O valor GUID é a propriedade objectGUID do objeto nTDSDSA da instância. Se esse parâmetro for NULL ao associar a uma instância do AD LDS, o parâmetro Annotation deverá ser especificado.

[in] DnsDomainName

Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o nome DNS do domínio ao associar a uma instância do Active Directory por domínio. Defina esse parâmetro como NULL para associar a uma instância do Active Directory por servidor ou a uma instância do AD LDS.

[in, optional] AuthIdentity

Manipule as credenciais usadas para iniciar a sessão RPC. Use a função DsMakePasswordCredentials para criar uma estrutura adequada para AuthIdentity.

[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 NULL em ServicePrincipalName é equivalente a uma chamada para a função de DsBindWithCred.

[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 de um ou mais dos valores 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 de forma semelhante a 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 sobre níveis de representação, consulte Níveis de Representação.

A maioria das operações não exige o nível de representação delegado; esse sinalizador só deverá ser especificado se for necessário. A associação a um servidor invasor com o nível de representação de delegado permite que o servidor invasor se conecte a um servidor não invasor com suas credenciais e execute operações não intencionais.

NTDSAPI_BIND_FORCE_KERBEROS (4)

Active Directory Lightweight Directory Services: Se esse sinalizador for especificado, DsBindWithSpnEx exigirá que a autenticação Kerberos seja usada. Se a autenticação Kerberos não puder ser estabelecida, DsBindWithSpnEx não tentará autenticar com nenhum outro mecanismo.

[out] phDS

Endereço de um HANDLE valor que recebe o identificador de associação. Para fechar esse identificador, chame DsUnBind.

Valor de retorno

Retorna NO_ERROR se tiver êxito ou um erro RPC ou Win32 caso contrário. Os códigos de erro possíveis incluem os listados na lista a seguir.

Observações

A lista a seguir lista os valores de parâmetro necessários para associação a uma instância.

Exemplo ServerName de Anotação InstanceGuid DnsDomainName
Active Directory por servidor Nome do servidor NULL NULL NULL
Active Directory por domínio NULL NULL NULL Nome de domínio DNS
AD LDS por porta Nome DNS do computador com a instalação do AD LDS. Número da porta NULL NULL
AD LDS por GUID Nome DNS do computador com a instalação do AD LDS. NULL guid de instância NULL
 
Observação Para melhorar o desempenho ao associar a uma instância do AD LDS em um computador com várias instâncias do AD LDS, associe-se pela instância GUID em vez do número da porta.
 

Nota

O cabeçalho ntdsapi.h define DsBindByInstance 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