다음을 통해 공유


DsBindByInstanceA 함수(ntdsapi.h)

DsBindByInstance 함수는 AD LDS 또는 Active Directory instance 명시적으로 바인딩합니다.

구문

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

매개 변수

[in] ServerName

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

[in] Annotation

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

도메인별로 Active Directory instance 바인딩할 때 이 매개 변수가 NULL이면 DnsDomainName 매개 변수를 지정해야 합니다. AD LDS instance 바인딩할 때 이 매개 변수가 NULL이면 InstanceGuid 매개 변수를 지정해야 합니다.

[in] InstanceGuid

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

[in] DnsDomainName

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

[in, optional] AuthIdentity

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

[in, optional] ServicePrincipalName

클라이언트에 할당할 서비스 주체 이름을 지정하는 null로 끝나는 문자열에 대한 포인터입니다. ServicePrincipalName에서 NULL을 전달하는 것은 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 오류를 반환합니다. 가능한 오류 코드에는 다음 목록에 나열된 오류 코드가 포함됩니다.

설명

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

인스턴스 데이터 열이 추적에서 캡처되고 서버를 사용할 수 있으면 주석 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 instance 바인딩할 때 성능을 향상시키려면 포트 번호 대신 인스턴스 GUID로 바인딩합니다.
 

참고

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

요구 사항

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