Condividi tramite


Funzione DsBindByInstanceA (ntdsapi.h)

La funzione DsBindByInstance associa in modo esplicito a qualsiasi istanza di ACTIVE Directory o AD LDS.

Sintassi

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

Parametri

[in] ServerName

Puntatore a una stringa con terminazione Null che specifica il nome dell'istanza. Questo parametro è necessario per eseguire l'associazione a un'istanza di AD LDS. Se questo parametro è NULL quando si esegue l'associazione a un'istanza di Active Directory, il parametro DnsDomainName deve contenere un valore. Se questo parametro e il parametro DnsDomainName sono entrambi NULL, la funzione ha esito negativo con il valore restituito ERROR_INVALID_PARAMETER (87).

[in] Annotation

Puntatore a una stringa con terminazione Null che specifica il numero di porta dell'istanza di AD LDS o null quando si esegue l'associazione a un'istanza di Active Directory. Ad esempio, "389".

Se questo parametro è NULL quando si esegue il binding per dominio a un'istanza di Active Directory, è necessario specificare il parametro DnsDomainName. Se questo parametro è NULL quando si esegue l'associazione a un'istanza di AD LDS, è necessario specificare il parametro InstanceGuid .

[in] InstanceGuid

Puntatore a un valore GUID contenente il GUID GUID dell'istanza di AD LDS. Il valore GUID è la proprietà objectGUID dell'oggetto nTDSDSA dell'istanza. Se questo parametro è NULL quando si esegue l'associazione a un'istanza di AD LDS, è necessario specificare il parametro annotazione .

[in] DnsDomainName

Puntatore a una stringa con terminazione Null che specifica il nome DNS del dominio quando si esegue l'associazione a un'istanza di Active Directory per dominio. Impostare questo parametro su NULL per eseguire l'associazione a un'istanza di Active Directory in base al server o a un'istanza di AD LDS.

[in, optional] AuthIdentity

Handle per le credenziali usate per avviare la sessione RPC. Usare la funzione DsMakePasswordCredentials per creare una struttura adatta per AuthIdentity.

[in, optional] ServicePrincipalName

Puntatore a una stringa con terminazione Null che specifica il nome dell'entità servizio da assegnare al client. Il passaggio di NULL in ServicePrincipalName equivale a una chiamata alla funzione DsBindWithCred.

[in, optional] BindFlags

Contiene un set di flag che definiscono il comportamento di questa funzione. Questo parametro può contenere zero o una combinazione di uno o più dei valori seguenti.

NTDSAPI_BIND_ALLOW_DELEGATION (1)

Fa sì che l'associazione usi il livello di rappresentazione del delegato. In questo modo, le operazioni che richiedono la delega, ad esempio DsAddSidHistory, avranno esito positivo. Se si specifica questo flag, DsBindWithSpnEx funziona in modo simile a DsBindWithSpn.

Se questo flag non viene specificato, il binding userà il livello di rappresentazione. Per altre informazioni sui livelli di rappresentazione, vedere Livelli di rappresentazione.

La maggior parte delle operazioni non richiede il livello di rappresentazione del delegato; questo flag deve essere specificato solo se necessario. L'associazione a un server non autorizzato con il livello di rappresentazione delegato consente al server non autorizzato di connettersi a un server non autorizzato con le credenziali ed eseguire operazioni indesiderate.

NTDSAPI_BIND_FORCE_KERBEROS (4)

Active Directory Lightweight Directory Services: Se questo flag è specificato, DsBindWithSpnEx richiede l'autenticazione Kerberos da usare. Se non è possibile stabilire l'autenticazione Kerberos, DsBindWithSpnEx non tenterà di eseguire l'autenticazione con altri meccanismi.

[out] phDS

Indirizzo di un HANDLE valore che riceve l'handle di associazione. Per chiudere questo handle, chiamare DsUnBind.

Valore restituito

Restituisce NO_ERROR in caso di esito positivo o di errore RPC o Win32 in caso contrario. I codici di errore possibili includono quelli elencati nell'elenco seguente.

Osservazioni

Nell'elenco seguente sono elencati i valori dei parametri necessari per l'associazione a un'istanza di .

Istanza ServerName annotazione InstanceGuid DnsDomainName
Active Directory per server Nome server NULL NULL NULL
Active Directory per dominio NULL NULL NULL Nome di dominio DNS
AD LDS per porta Nome DNS del computer con l'installazione di AD LDS. Numero porta NULL NULL
AD LDS by GUID Nome DNS del computer con l'installazione di AD LDS. NULL GUID dell'istanza NULL
 
Nota Per migliorare le prestazioni quando si esegue l'associazione a un'istanza di AD LDS in un computer con diverse istanze di AD LDS, eseguire l'associazione dal GUI D istanza anziché dal numero di porta.
 

Nota

L'intestazione ntdsapi.h definisce DsBindByInstance come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista
server minimo supportato Windows Server 2008
piattaforma di destinazione Finestre
intestazione ntdsapi.h
libreria Ntdsapi.lib
dll Ntdsapi.dll