다음을 통해 공유


ldap_open 함수(winldap.h)

[ldap_open 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있지만 권장되지 않습니다. 대신 ldap_init 사용합니다.]

ldap_open 함수는 연결 블록을 만들고 초기화한 다음 LDAP 서버에 대한 연결을 엽니다.

구문

WINLDAPAPI LDAP *LDAPAPI ldap_open(
  [in] PSTR  HostName,
  [in] ULONG PortNumber
);

매개 변수

[in] HostName

null로 끝나는 문자열에 대한 포인터입니다. 도메인 이름, 호스트 이름 목록 또는 LDAP 서버 호스트의 IP 주소를 나타내는 점선 문자열입니다. 단일 공간을 사용하여 목록의 호스트 이름을 구분합니다. 목록의 각 호스트 이름 뒤에 포트 번호가 있을 수 있습니다. 선택적 포트 번호는 콜론(:) 호스트 자체와 구분됩니다. LDAP 런타임은 나열된 순서대로 호스트와의 연결을 시도하여 성공적으로 연결되면 중지됩니다. ldap_open 호출자에게 반환하기 전에 연결을 시도합니다. ldap_init 함수는 LDAP 서버에 연결되지 않습니다.

[in] PortNumber

연결할 TCP 포트 번호를 포함합니다. 기본 LDAP 포트인 389는 상수 LDAP_PORT 제공하여 가져올 수 있습니다. 호스트 이름에 포트 번호가 포함된 경우 이 매개 변수는 무시됩니다.

반환 값

함수가 성공하면 세션 핸들을 LDAP 데이터 구조에 대한 포인터 형식으로 반환합니다. 더 이상 필요하지 않은 경우 ldap_unbind 호출하여 세션 핸들을 해제합니다.

이 함수가 실패하면 NULL을 반환합니다. LdapGetLastError 함수를 사용하여 오류 코드를 검색합니다.

설명

ldap_open 호출하여 LDAP 서버에 대한 연결 블록을 만듭니다. HostNameNULL일 수 있으며 이 경우 런타임에서 기본 LDAP 서버를 찾으려고 시도합니다. 호스트 이름은 나열된 순서대로 시도되며 첫 번째 연결이 성공하면 중지됩니다. Active Directory 서버의 경우 DsGetDcName 함수를 사용하여 서버 이름을 가져올 수 있습니다. 그러면 NULL을 사용하는 대신 HostName 매개 변수로 전달할 수 있습니다.

HostNameNULL 또는 도메인 이름으로 설정된 경우 자동 다시 연결이 적용됩니다. 연결 수명 동안 어떤 이유로 인해 연결된 DC의 작동이 중지되면 LDAP는 지정된 도메인의 다른 DC에 자동으로 다시 연결됩니다. 이 동작은 기본적으로 켜진 LDAP_OPT_AUTO_RECONNECT 세션 옵션을 사용하거나 해제할 수 있습니다.

기본 LDAP 서버는 LDAP_OPT_HOST_NAME 사용할 때 Microsoft 특정 옵션입니다. 이 옵션은 기본 LDAP 서버의 호스트 이름을 지정하고 각각 ldap_get_optionW 또는 ldap_get_optionA 사용하는 경우 유니코드 또는 ANSI에서 서버의 호스트 이름을 반환합니다.

전역 카탈로그 포트 번호가 인수 중 하나로 ldap_open 전달되는 경우 해당 포트 번호에 대해 전달된 HostName 은 엔터프라이즈에서 GC를 올바르게 찾으려면 DsGetDcName() 에 대한 기본 호출의 포리스트 이름이어야 합니다.

ldap_open 함수는 세션에 대한 상태 데이터를 유지하기 위해 LDAP 데이터 구조를 할당하고 이 구조체에 대한 핸들을 반환합니다. 세션 과정에서 후속 LDAP 함수 호출에 이 핸들을 전달합니다.

다중 스레딩: ldap_open 대한 호출은 스레드로부터 안전합니다.

ldap_open 현재 LDAP RFC는 호출 애플리케이션에 보안 관련 세션 옵션과 같은 세션 옵션을 구성할 기회를 주지 않고 도메인 컨트롤러에 대한 세션을 즉시 열기 때문에 더 이상 사용되지 않습니다. 사용자는 LDAP 세션을 초기화하는 기본 방법으로 ldap_init 사용하는 것이 좋습니다.
 

요구 사항

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

참조

함수

LdapGetLastError

cldap_open

ldap_init

ldap_unbind