다음을 통해 공유


DsBindByInstanceW 함수(ntdsapi.h)

DsBindByInstance 함수는 AD LDS 또는 Active Directory 인스턴스에 명시적으로 바인딩됩니다.

통사론

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
);

매개 변수

[in] ServerName

인스턴스의 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 이 매개 변수는 AD LDS 인스턴스에 바인딩하는 데 필요합니다. Active Directory 인스턴스에 바인딩할 때 이 매개 변수가 NULL 경우 DnsDomainName 매개 변수에 값이 포함되어야 합니다. 이 매개 변수와 DnsDomainName 매개 변수가 모두 NULL경우 함수는 반환 값 ERROR_INVALID_PARAMETER(87)로 실패합니다.

[in] Annotation

Active Directory 인스턴스에 바인딩할 때 AD LDS 인스턴스의 포트 번호를 지정하거나 NULL null로 끝나는 문자열에 대한 포인터입니다. 예를 들어 "389"입니다.

도메인을 통해 Active Directory 인스턴스에 바인딩할 때 이 매개 변수가 NULL 경우 DnsDomainName 매개 변수를 지정해야 합니다. AD LDS 인스턴스에 바인딩할 때 이 매개 변수가 NULL 경우 InstanceGuid 매개 변수를 지정해야 합니다.

[in] InstanceGuid

AD LDS 인스턴스의 GUID 포함하는 GUID 값에 대한 포인터입니다. GUID 값은 인스턴스의 nTDSDSA 개체의 objectGUID 속성입니다. AD LDS 인스턴스에 바인딩할 때 이 매개 변수가 NULL 경우 주석 매개 변수를 지정해야 합니다.

[in] DnsDomainName

도메인별로 Active Directory 인스턴스에 바인딩할 때 도메인의 DNS 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. 서버 또는 AD LDS 인스턴스에 의해 Active Directory 인스턴스에 바인딩할 NULL 이 매개 변수를 설정합니다.

[in, optional] AuthIdentity

RPC 세션을 시작하는 데 사용되는 자격 증명을 처리합니다. DsMakePasswordCredentials 함수를 사용하여 AuthIdentity적합한 구조를 만듭니다.

[in, optional] ServicePrincipalName

클라이언트에 할당할 서비스 주체 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. ServicePrincipalNameNULL 전달하는 것은 DsBindWithCred 함수에 대한 호출과 동일합니다.

[in, optional] BindFlags

이 함수의 동작을 정의하는 플래그 집합을 포함합니다. 이 매개 변수는 0 또는 다음 값 중 하나 이상의 조합을 포함할 수 있습니다.

NTDSAPI_BIND_ALLOW_DELEGATION (1)

바인딩에서 대리자 가장 수준을 사용하도록 합니다. 이렇게 하면 DsAddSidHistory같은 위임이 필요한 작업이 성공할 수 있습니다. 또한 이 플래그를 지정하면 DsBindWithSpnExDsBindWithSpn비슷하게 작동합니다.

이 플래그를 지정하지 않으면 바인드에서 가장 가장 수준을 사용합니다. 가장 수준에 대한 자세한 내용은 가장 수준참조하세요.

대부분의 작업에는 대리자 가장 수준이 필요하지 않습니다. 이 플래그는 필요한 경우에만 지정해야 합니다. 대리자 가장 수준으로 불량 서버에 바인딩하면 Rogue 서버가 자격 증명을 사용하여 불량이 아닌 서버에 연결하고 의도하지 않은 작업을 수행할 수 있습니다.

NTDSAPI_BIND_FORCE_KERBEROS (4)

Active Directory Lightweight Directory Services: 이 플래그를 지정하면 DsBindWithSpnEx Kerberos 인증을 사용해야 . Kerberos 인증을 설정할 수 없는 경우 DsBindWithSpnEx 다른 메커니즘으로 인증을 시도하지 않습니다.

[out] phDS

바인딩 핸들을 수신하는 HANDLE 값의 주소입니다. 이 핸들을 닫려면 DsUnBind호출합니다.

반환 값

성공하면 NO_ERROR 반환하고, 그렇지 않으면 RPC 또는 Win32 오류를 반환합니다. 가능한 오류 코드에는 다음 목록에 나열된 코드가 포함됩니다.

발언

다음 목록에는 인스턴스에 바인딩하는 데 필요한 매개 변수 값이 나열되어 있습니다.

인스턴스 ServerName 주석 InstanceGuid dnsDomainName
서버별 Active Directory 서버 이름 NULL NULL NULL
도메인별 Active Directory NULL NULL NULL DNS 도메인 이름
포트별 AD LDS AD LDS 설치를 사용하는 컴퓨터의 DNS 이름입니다. 포트 번호 NULL NULL
GUID AD LDS AD LDS 설치를 사용하는 컴퓨터의 DNS 이름입니다. NULL 인스턴스 GUID NULL
 
참고 AD LDS의 여러 인스턴스가 있는 컴퓨터에서 AD LDS 인스턴스에 바인딩할 때 성능 향상을 위해 포트 번호 대신 인스턴스 GUID 바인딩합니다.
 

메모

ntdsapi.h 헤더는 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 DsBindByInstance를 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입대한 규칙을 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows Vista
지원되는 최소 서버 Windows Server 2008
대상 플랫폼 Windows
헤더 ntdsapi.h
라이브러리 Ntdsapi.lib
DLL Ntdsapi.dll